The T&L Node Firmware (firmware) runs on the ESP-8266 processor. The firmware periodically measures temperature, light, and battery voltage which are then reported to a MQTT broker.
The firmware has been developed in an interative process on multiple ESP-8266 platforms rather than by a detailed up-front design. This approach allowed for learning and experimenation with libraries, sensors and the ESP-8266 opertational modes.
In keeping with the experimental process, the requirements have been flexible and not very specific:
The network configuration is hard-coded in order to avoid initial setup. Configuration is a tough problem. It requires network discovery, a source of network specific information, non-volatile storage routines, and some sort of user interaction or at least confirmation. Then there are security issues…
Since this is an experimental setup and since I will be loading firmware individually on each node, a hard coded approach is much easier. The biggest concern with this method that specific, private network information must kept out of committed source code.