Wireless energy monitor using ESP8266 module:
Most of us are concern about energy usage. This helps to reduce bills, have a little impact on saving planet and be conscious about things you never thought being important. For the right task you need right tools. Brian Dorey have been successful on building energy metering. His previous Raspberry Pi based solar data logger gave him enough experience to move on with new idea of mains energy meter. This time he decided to use ESP8266 wireless module to do the main load. It has enough processing power to deal with sensor data also there are plenty of Arduino based libraries to make development easier.
His energy meter was designed to do three measurements: mains current, mains electric usage and gas usage. All three data streams had to be gathered in three different ways. First of all mains current. He used iSnail current sensor which simply outputs 0-5V for 0-100A current range. All he had to do is to read sensor output voltage with ADS1115 16-bit ADC from Texas Instruments. The data could be read using I2C interface.
He used clever method to detect mains energy usage. It turned out that installed meter has an LED which blinks every single Wh is used. By capturing LED blink with phototransistor he was able to collect and accumulate the value.
Third thing he wanted to do is to measure gas usage. Since there is no electricity flow the measurements had to be done in different way. His gas usage meter uses mechanical wheel with small magnet. So he used reed switch to capture wheel turns and this way accumulate gas usage.
Brian used FRAM memory chip to store accumulated values in case of power cut. For this he used FM24CL04B 4Kb FRAM from Cypress which can also be accessed via I2C interface. The second part of his meter was to send data using wireless transmission. For this purpose he used expanded the functionality of his Raspberry data logger to accept XML formatted data which then could be fed in to web server. If this project looks interesting, all project files are available on Github.