I’ve made a great deal of progress on automating deployment of ESP based iot nodes on my personal network.
The problem I’ve set out to solve is being able to update firmware or other settings on nodes that check in infrequently, and also nodes that perform the same function but need different names / etc.
Rather than compile 5 different copies of the same firmware changing the hostname or mqtt topic, I can push out one firmware and assign the rest of the configuration from a database via JSON.
It is a two part system:
A. Generic sketch that is loaded onto the nodes as they are assembled. The sketch polls an auto-configuration server repeatedly waiting for an updated configuration or firmware.
B. A javascript server (node.js) delivers configuration via JSON as well as updated sketch binaries by way of the httpupdate library on the esp. The contents of the JSON are stored locally using SPIFFS, and a simple version number system updates the local copy as needed.
More details and a git page coming soon.