OTA Updates

A project log for LUMOS

1m 12w RGB LED WiFi Artnet Controlled Cubes

charles-yarnoldCharles Yarnold 05/25/2016 at 01:060 Comments

I've spent some time adding ota updates to the nodes. You might think this would be easy, it seems to there are lots of ways to add ota updates to the esp8266, especially when programming though the arduino ide.

But I've found each comes with its own issues. The "arduino ota" version mostly needs the ide to work and uses network voodoo to find your esp and allow you to add it to the ide. This has been too slow, cumbersome and prone to just not working. Also with the heatbeat function I already know the ip address of all the nodes.

The other main option is using the webserver examples, there are quite a few of those too! I ended up using a version that would let me use a http post to transfer the bin file to the esp. This means that I could turn off the Tickers that run things like the heartbeat, turn the status led Cyan and also password protect the transfer. I can use curl to post the output bin from hittting the compile button on the arduino ide.

I'm going to be using this at the camp, its a hacker/maker camp and while its not the chaos conference, the network is still a little hostile from people just exploring and having fun. Hopefully using httpauth for passwording the settings will be enough to protect me from casual trolling. Outside of the camp I would be using the nodes on a private network so would be even safer from having the firmware overwritten. (more than artnet that doesn't have any password protection on its update protocol!)

Next on the list is more work on it's internal server coupled with moving settings to a json file on the esp to allow for settings to be set remotely as to not need a physical connection or even ota firmware update to put the nodes into different modes.