Smart Meters

From Leo's Notes
Last edited on 15 June 2020, at 00:06.

Reading Smart Meters with rtlamr / RTL-SDR

Smart reader data can be read using a DVB-TV (RTL2832U) tuner with RTL-SDR using rtlamr.

To get this working, first compile RTL-SDR:

# yum -y install cmake libusb-devel
# git clone git://git.osmocom.org/rtl-sdr.git
# cd rtl-sdr
# mkdir -p build
# cd build
# cmake .. && make

The rtl_tcp binary should now be in the build/src directory. Next, build the Template:Rtlamr binary by installing Go.

## Download Go and extract it. The go binary should just work.
## Export your GOPATH which will be where the source/binary will be saved to
# go get github.com/bemasher/rtlamr

Run both the rtl_tcp and rtlamr binary. The output from Template:Rtlamr should look something similar to:

{Time:2019-01-03T19:17:29.986 SCM:{ID:42413494 Type:12 Tamper:{Phy:02 Enc:00} Consumption:  428602 CRC:0xFCD0}}
{Time:2019-01-03T19:17:41.152 SCM:{ID:41941394 Type:12 Tamper:{Phy:01 Enc:00} Consumption:  655820 CRC:0xC40D}}
{Time:2019-01-03T19:17:47.540 SCM:{ID:31333509 Type:13 Tamper:{Phy:00 Enc:02} Consumption:   41359 CRC:0x00F9}}
{Time:2019-01-03T19:17:54.596 SCM:{ID:31333509 Type:13 Tamper:{Phy:00 Enc:02} Consumption:   41359 CRC:0x00F9}}

The next step is to find out which meter is yours and then log the value somewhere.