|Main processes interaction in the PiThermostat code.|
|Raspberry Pi with TMP102 mounted (4 wires going to the right angled header at the back of the board). The generic 433MHz sender board is the red unit with the vertical yellow 15cm aerial .|
|django-happenings based calendar. Each time period during a 24 hour window is assigned a Temperature. If there is no user override, then the Required Temperature will be taken from this calendar.|
|Interface running on an iPad.|
|Interface running on a Wall Mounted Android device. Note that the screen auto-refreshes every 60 seconds for this particular interface.|
192.168.1.146 - - [03/Nov/2015:09:13:47 +0000] "GET /checkin/18:fe:34:fd:8b:24/temperature/17.1875/ HTTP/1.1" 200 636 "-" "-"The code can be found in Github - https://github.com/tommybobbins/ESP8266-TMP102. The battery life is estimated to be 6 months, but I will verify this accurately and publish the results here.
By bringing the price to monitor a room down to a reasonable value, multiple rooms will be able to be monitored cheaply. The front and back end code has been updated to allow sensors to appear and disappear randomly. For example the Internal/External weighted mean values are generated based on the total number of sensors found in that particular iteration.
During the simple setup, each sensor has to be assigned a weighting and this is easily performed via Django. As a sensor reports into Django/Redis, the weighted mean is adjusted (via process_temperatures.py) and the interface displays the calculated value. Should a sensor not exist, then redis will expire that sensor value after one hour (configurable in the Django setup as shown) and the now historic values will not be used for the weighted mean. This means that an individual sensor is entirely expendable. Once the battery is flat and then gets recharged it then performs it's first HTTP request and will automatically get re-added into the weighted mean.
|ESP8266 in a Wireless Things case. Battery is inside. TMP102 is mounted on the outside of the case.|