bemasher / rtlamr

An rtl-sdr receiver for Itron ERT compatible smart meters operating in the 900MHz ISM band.
GNU Affero General Public License v3.0
2.18k stars 247 forks source link

Using RTLAMR.exe to capture data from Itron ERT Gas Meter 100G DLN #249

Closed rohitjindal786 closed 2 years ago

rohitjindal786 commented 2 years ago

@bemasher please guide I am new to this ERT Technology. We have a requirement to capture the data of Itron's the ERT Gas meter 100g DLN using CC1111 Usb dongle from Texas Instruments.

CC1111 transceiver Usb dongle : from TI capture some fix formatted packets under frequency ranges from 868/915 specifically ISM Bands, using some good tools provided like Smart RF Packet Sniffer, Smart RF Studio by TI. (datasheet
https://www.ti.com/lit/gpn/cc1110-cc1111). CC1111 understanding : 1 Fixed packets i want to highlight the packets format being defined by Texas for the dongle . We can set the how many byte preamble of packet will be that can be 2 byte /3/4/5 bytes but we cant set what will be its value. 2 We can just set 16bit SYNC0/SYNC1 sync word but we cant set that packets 30/32 bit sync word but we can declare that packet can have 30/32 bit sync word but there is option to set only 16bit sync word.

ERT: 1 Regarding ERT protocol what we have is just this Wiki page https://en.wikipedia.org/wiki/Encoder_receiver_transmitter so we are not actually 100% sure of how ERT actually works. 2 Wiki has mentioned that ERT works on OOK modulation but i could not find similar in RTLAMR Source code by Bemasher. 3 Wiki has mentioned that ERT support Manchester coding but similar i could not found in RTLAMR source code.

From last 2 months we are trying to capture the gas meter data using CC1111 dongle but we did not succeed anyhow.

Testing: Using Bemasher/rtlamr : we purchased a dongle DVB-T+DAB+FM"" RTL2832 based DVB-T recievers, we run rtl_tcp.exe that uses the dongle to start listening for data being set on particular frequency under ISM Range say 912600155. On other end we are running rtlamr.exe that finally capture the packet hosted by RTL_TCP and parse , decode and print the same. And finally we are able to get some SCM Packet from ERT Gas meter.

{Time:2022-04-18T18:30:55.628 SCM:{ID:57753518 Type:12 Tamper:{Phy:03 Enc:00} Consumption: 389346 CRC:0x6049}} {Time:2022-04-18T18:31:10.126 SCM:{ID:57753518 Type:12 Tamper:{Phy:03 Enc:00} Consumption: 389346 CRC:0x6049}} {Time:2022-04-18T18:31:25.125 SCM:{ID:57753518 Type:12 Tamper:{Phy:03 Enc:00} Consumption: 389346 CRC:0x6049}} {Time:2022-04-18T18:32:09.675 SCM:{ID:57753518 Type:12 Tamper:{Phy:03 Enc:00} Consumption: 389346 CRC:0x6049}} {Time:2022-04-18T18:32:39.671 SCM:{ID:57753518 Type:12 Tamper:{Phy:03 Enc:00} Consumption: 389346 CRC:0x6049}} {Time:2022-04-18T18:33:25.667 SCM:{ID:57753518 Type:12 Tamper:{Phy:03 Enc:00} Consumption: 389346 CRC:0x6049}} {Time:2022-04-18T18:34:39.663 SCM:{ID:57753518 Type:12 Tamper:{Phy:03 Enc:00} Consumption: 389346 CRC:0x6049}} {Time:2022-04-18T18:35:55.433 SCM:{ID:57753518 Type:12 Tamper:{Phy:03 Enc:00} Consumption: 389346 CRC:0x6049}} {Time:2022-04-18T18:36:10.156 SCM:{ID:57753518 Type:12 Tamper:{Phy:03 Enc:00} Consumption: 389346 CRC:0x6049}} {Time:2022-04-18T18:36:40.154 SCM:{ID:57753518 Type:12 Tamper:{Phy:03 Enc:00} Consumption: 389346 CRC:0x6049}} {Time:2022-04-18T18:37:40.155 SCM:{ID:57753518 Type:12 Tamper:{Phy:03 Enc:00} Consumption: 389346 CRC:0x6049}}

Issues : I have tried to capture what data is actually being captured by RTL_TCP and send to RTLAMR so tried to print bits/bytes/decimal data in differenc ways {981 111110010101001100000110001100000000010111110100111001000111000100111111101011100100111111110011 [249 83 6 48 5 244 228 113 63 174 79 243]}

we are using RTLAMR as base for our further investigation to capture ERT Gas meter packets. So we want to understand whether the data being captured here is 1) Manchestor encoded data or not? 2) which modulation technique being used here. 3) how we can capture the same data using CC1111 Transciever using custom code. I have tried to capture the data using custom code but that did not work.

Please guide

Also i need to understand few of parameters being used in RTLAMR code: 1 Chiplength 2 Sample rate 3 Date rate units 4 Preamble length 5 packet length

bemasher commented 2 years ago

Most of your questions are answered on this page: https://github.com/bemasher/rtlamr/wiki/Signal-Processing

I will answer all of them here anyway: