emonGLCD - getting time for the internet

The emonGLCD is an open-hardware wireless graphical LCD display based on the ATmega328 microcontroller and is Arduino compatible.



The emonGLCD works very well as a real-time living room energy monitoring display. For the emonGLCD to calculate and display how much energy has been used on the current day it must know when the day begins and ends. Therefore it must know the current time.

The emonGLCD does not have a hardware RTC but its possible to implement a very accurate clock using the Jeelabs software RTC library and a web-connected Nanode RF. In the OpenEnergyMonitor end-to-end energy monitoring system the emonGLCD is used in conjunction with the emonTx (transmitter) and emonBase/NanodeRF which is used to post data on-line to emoncms.

When data is posted to the emoncms sever with a http request the sever response contains the current time of the sever. We have written a code example to extract this time from the http header reply and pass it via RFM12B wireless to the emonGLCD. The time on the emonGLCD is always correct. Both the emonGLCD and the NanodeRF receive power monitoring data from the emonTx

Demo video (single CT sensor system):



Demo video (solar PV monitor system):



Taking this a step further: when the emonGLCD receives the time from the NanodeRF the emonGLCD transmits back the current room temperature from it's on-board temperature sensor, then the NanodeRF posts this online to emoncms.

The Arduino sketch examples are up on github:

emonBase/NanodeRF:
https://github.com/openenergymonitor/NanodeRF/tree/master/NanodeRF_singleCT_RTCrelay_GLCDtemp

emonGLCD single CT:
https://github.com/openenergymonitor/EmonGLCD/tree/master/emonGLCD_singleCT_AutoTime_TempLog

emonGLCd solar PV: https://github.com/openenergymonitor/EmonGLCD/tree/master/emonGLCD_solarPV_type_1_and_2 To engage in discussion regarding this post, please post on our Community Forum.