I modified the firmware of the ESP8266 to measure the oil consumption of my heater, just like I did with the Heater Monitor.
It now has few more AT Commands, including one to start the measurement and one to stop the measurement.The AT-Commands are now a bit more designed to be readable by humans as this is a standalone solution (but of course it can be used in context with a µC or something) so for example if the command is unknown or you called a command wrong, it will tell you what was wrong.
There is now an AT+HELP Command which is listing the available Commands.
Once the measurement has been started, the ESP8266 is waiting for a GPIO to go low (set to pullup) . The GPIO is connected to a relay which is on the other side connected to the oil pump of a heater. It then is measuring how long it had been down (how long the fuel pump was running). Once it is going high again the time is send to a webserver using the GET method (passing as URL). The webserver (server on the web) is saving this time into a database. The webserver also hosts a page to visualize the data. I used the google visualisation and AJAX to connect to the DB. To analyze the dependency of of burned oil and the outside temperature, I get some weather information from http://openweathermap.org/.
This is just one application but as (in my eyes) the main functionality had been implemented, this project easily can be used as a starting point for other data-logging apps.
Sources are on GitHub
1 thought on “ESP8266 Smartmeter”