In the netherlands we use smart power meters in our homes. Every smart powermeter has a standardized interface. You can see the electrical interface here:
When the Data_Request line is pulled up (3v3 or 5v) the smart meter gives you a serial data stream on Data and ground. The signal is inverted. So to get this data I’ll had to design and make a simple signal inverter:
To read the data I have written a Java test application that shows me the data on the serial pins of the raspberry Pi.
With these commands you can switch on (write GPIO07 -> 1) and switch off (write GPIO07 -> 0) the serial data stream.
You get a datastream you have to decode, for example you can write a Java RESTful API to get the data from the smart power meter to make it easy available in other applications.
And the cost of this interface (biggest part of this are the PCB cost, this can be reduced by selecting an other way of delivery).
|PCB||easyEDA/JLCPCB||€ 2,47||Fast delivery, including delivery cost|
|RJ1||RJ12 connector houder||budgetelectronics.nl||€ 0,29||excluding delivery cost|
|2x RJ12 stekker 6 polig||budgetelectronics.nl||€ 0,23|
|P1||Header Female 2×5||TinyTronics.nl||€ 0,15||excluding delivery cost|
|Q1||Transistor BC547||TinyTronics.nl||€ 0,15|
|R1||Weerstand 2k2 (2k7)||TinyTronics.nl||€ 0,05|
|R2||Weerstand 2k2 (2k7)||TinyTronics.nl||€ 0,05|
|R3||Weerstand 10k||TinyTronics.nl||€ 0,05|
|Telefoonkabel 6 polig zwart 0,5m||Onlinekabelshop.nl||€ 0,42||excluding delivery cost|
|Total cost||€ 3,85|