After my earlier project of interfacing Selec EM2M energy meter with Raspberry-pi was quite popular, I ran the setup for few months at my home. As time passed by, I realized that the R-pi was an overkill for doing the basic mundane task. So I move over to ESP8266 with NodeMCU board. With the new setup, ESP8266-NodeMCU works as a wifi-to-MODBUS converter.
In the picture above, you can see the following parts: -
NodeMCU board
SN75176B (PDIP package)
Ceramic Cap (0.1uF decoupling cap for SN75176B)
1K resistor
Green connector for RS485 (or MODBUS), which goes to Selec EM2M meter. Though A, B and GND are provided, only A and B are connceted to EM2M meter.
In the picture above, the white 2-pin Relimate connector is for +5V and GND input to board.
In the above picture, you can see the 2.2K resistor, 3 x 330ohms resistors and my neat skilled soldering job.
My house has the incoming circuit which is split into 2 -- one for lighting (5Amps) and another for power (16Amps).
So I installed 2 meters. Both meters are connected to the same nodeMCU board via RS485 (MODBUS protocol).
There is a 5V power supply as well, that powers the nodeMCU board.
Everything is neatly fitted in a plastic box and tucked inside the panel housing.
This code runs on laptop (or any other computer) where you want to gather the data and save into file for processing).
It sends comand to nodeMCU board over wifi and receives data.
It also saves the data into an excel file.
For more description, please refer to my video towards end of this page.
This code runs on nodeMCU, receives command from client, queries Selec EM2M over MODBUS and replies data back to client.
This code needs to be programmed into a nodeMCU board using Arduino IDE.
Screen below shows the measurement with a small shaded-pole fan. Shaded pole fan was choosen, as it affect the powe factor as well. Please note that the "power " below is in "Kilowatts", even though, the screen says "watts".
Power consumption of my Samsung 6Kg front loading washing machine.