Saving LED strip "configuration" in EEPROM?
Posted: Sun Mar 26, 2017 7:03 pm
Part one:
Hey! I am currently doing a project, where I need to control my ESP8266's LED strip (WS2812B individually programmable LEDs). I have two things I need to accomplish:
What is the best way to do this? I am making a web panel, where I can basically select each individual LED on the strip (or a few of them) and select their color.
Let's assume there is a total of 100 LEDs. When I hit "submit", I would convert all the colors into an array.
Part two:
I can save the array to the EEPROM quite easily. If I want to save the array to the EEPROM while also keeping the amount of LEDs (from my code), how would I store them? What would my starting address be? 0x000000 (or whatever) for the array and something like 0x0003E8 (basically just 1000) for the amount of LEDs? Just to keep them separated. Alternatively, I could, in theory, store the data somewhere externally (like Firebase) and make the ESP8266 request the data every second or so. That way I don't have to make my ESP8266 do a lot of processing and I always store the data externally.
Hopefully someone can share some experience with this!
Hey! I am currently doing a project, where I need to control my ESP8266's LED strip (WS2812B individually programmable LEDs). I have two things I need to accomplish:
- Send a list/array of LEDs that needs to change
- Save the list/array in EEPROM so it remembers it next time I boot it up
What is the best way to do this? I am making a web panel, where I can basically select each individual LED on the strip (or a few of them) and select their color.
Let's assume there is a total of 100 LEDs. When I hit "submit", I would convert all the colors into an array.
Code: Select all
would then be LED number 1. I would then send this off to the ESP8266, and the request would be something like array[0]
Code: Select all
meaning ~600 byte that has to be sent. Is that correct? Would that be a "good way" to do it? 100 (LEDs) * 6 (hex color)
Part two:
I can save the array to the EEPROM quite easily. If I want to save the array to the EEPROM while also keeping the amount of LEDs (from my code), how would I store them? What would my starting address be? 0x000000 (or whatever) for the array and something like 0x0003E8 (basically just 1000) for the amount of LEDs? Just to keep them separated. Alternatively, I could, in theory, store the data somewhere externally (like Firebase) and make the ESP8266 request the data every second or so. That way I don't have to make my ESP8266 do a lot of processing and I always store the data externally.
Hopefully someone can share some experience with this!