Fairly new to the arena. Long story short myself and my business partner have built our own office and I had planned to have our logo cut out of a wall section so it can be lit from underneath/side. You won't see the strip but just it's diffused effects. Image included for conext.
I went down the arduino (NodeMCU) route as the suggested premade controllers for for WS2812B LED strips we're honestly just awful. Very buggy and unreliable.
I've successfully learnt enough to be able to control the strip and load / create any effects I want however I would like to ability to lode new effects without having to reupload new code entirely.
Is it possible for the NodeMCU to check a particular link on the web, that could be an .txt file for example, and then run that code? I would assume something like load the file in setup and then check for changes to said file in the loop?
I suppose I want to hotswap effects / LED instructions.
fivezerothree:
I went down the arduino (NodeMCU) route as the suggested premade controllers for for WS2812B LED strips we're honestly just awful. Very buggy and unreliable.
Most likely as they do not correctly implement level shifting to the WS2812's 5 V logic. Easily fixed with a 74HCT14.
fivezerothree:
Is it possible for the NodeMCU to check a particular link on the web, that could be an .txt file for example, and then run that code? I would assume something like load the file in setup and then check for changes to said file in the loop?
I suppose I want to hotswap effects / LED instructions.
Depends on what you mean with "code".
No if it's C++ code to be downloaded and run on the device.
Yes if it's instructions on what to do with the LEDs. You have to design yourself a kind of language for that, so you can start giving it instructions:
<all, red>
<fade, (r,g,b), (r,g,b)>
Something like that. Tell all LEDs to go to red, then fade from one colour to another. Add timings, and other effects as you need. Check the FastLED library for ready-made functions, so you can use those directly in your command list. Maybe it'd be more convenient to do this in JSON style, so you can use the ArduinoJSON library to easily parse and decode your stuff.
Then when the device starts up, it downloads the file from the network, stores it on its built-in Flash (using SPIFFS), and you can have all kinds of fancy effects.