Society of Robots - Robot Forum
Software => Software => Topic started by: rputnam on September 27, 2013, 09:43:06 AM
-
I have some RS 232 output from a RF receiver I cannot seem to decode. They are DC balanced messages, I know the values that are in the data stream. If you are interested in a project I can send you some data to look at and we can talk about a price.
-
I'm a little interested. How about putting some of the info in this thread to start. Like what is the RF receiver you are trying to decode (link to data sheet is always good) and then a bunch of the data you captured.
Getting this done in an open forum tends to work better since we work off of each others partial results.
-
I am hoping you can paste the data in note pad to view. The data comes from a meter reading receiver that operates in the ISM band collecting transmissions from water meters. The data below is sent out the serial port at 115,200 n,8,1. I do not have any specs on the inner workings of the receiver. Each row starts with the meter reading (I programmed then collected) that I am trying to find in the data. The Meter ID I am looking for is at the end of the row, they are all the same except the last one. Each row starts with a 2 byte header that is always the same. The maximum reading should be in 3 bytes (7 digits) but is appears 6 bytes are used. Thanks for you interest
Known TX Begins Meter ?Signal ? ?CheckSum Known
Reading Header Begin Meter ID Type/Alarm Begin Reading Strength Meter ID
0 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 01011001 01100101 10010110 01011001 01100101 10010110 10001100 10110100 11001011 70944284 Tamper On
1 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 01011000 11010101 10010110 01011001 01100101 10010110 10110010 11000111 00001011 70944284 Tamper On
2 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 01011000 11100101 10010110 01011001 01100101 10010110 11010001 10010011 01001011 70944284 Tamper On
3 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 01011000 10110101 10010110 01011001 01100101 10010110 10100111 00100011 10001011 70944284 Tamper On
4 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 01011001 11000101 10010110 01011001 01100101 10010110 01100110 10011000 11001011 70944284 Tamper On
5 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 01011001 10010101 10010110 01011001 01100101 10010110 01101001 11001011 00001011 70944284 Tamper On
15 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 01011010 10010101 10010110 01011001 01100101 10010110 10100101 10100101 10011010 same
16 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 00110101 01100101 10010110 01011001 01100101 10010110 01110001 00111100 01110100
22 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 00110101 10100101 10010110 01011001 01100101 10010110 11000111 00010100 11110100
17 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 00110100 11010101 10010110 01011001 01100101 10010110 01001111 01001100 10110100
18 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 00110100 11100101 10010110 01011001 01100101 10010110 00101100 11011000 11110100
19 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 00110100 10110101 10010110 01011001 01100101 10010110 01011010 01101011 00110100
20 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 00110101 11000101 10010110 01011001 01100101 10010110 10011010 00110011 01110100
31 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 00110110 10010101 10010110 01011001 01100101 10010110 01011000 11101001 10100101
32 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 00111001 01100101 10010110 01011001 01100101 10010110 01101001 00110111 00101100
33 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 00111000 11010101 10010110 01011001 01100101 10010110 01100111 01000100 11100101
64 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 01110001 01100101 10010110 01011001 01100101 10010110 00111001 10100110 10010101
129 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 10110000 11010101 10010110 01011001 01100101 10010110 10010110 10010101 10010110
153 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 10010110 01010101 10010110 01011001 01100101 10010110 10110010 10010111 00100110
154 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 10010110 01100101 10010110 01011001 01100101 10010110 11010000 11100011 01100110
155 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 10010110 00110101 10010110 01011001 01100101 10010110 10100110 01010011 10100110
156 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 10010111 01000101 10010110 01011001 01100101 10010110 01100010 11001000 11100110
8193 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 01011000 11010011 10010110 01011001 01100101 10010110 10110010 10010011 10011001
8194 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 01011000 11100011 10010110 01011001 01100101 10010110 11010000 11100100 11011001
16382 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 10100111 00100010 11101001 01011001 01100101 10010110 00101101 10101100 01010110
16383 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 10100110 10010010 11101001 01011001 01100101 10010110 01011011 00011100 10010110
16384 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 01011001 01100111 00010110 01011001 01100101 10010110 10001111 00011000 11101001
32766 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 10100111 00100100 11101001 01011001 01100101 10010110 00101110 11000011 01110100
262144 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 01011001 01100101 10010110 01011001 11000101 10010110 00111001 00111000 11110100
262145 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 01011000 11010101 10010110 01011001 11000101 10010110 00110111 01001011 00110100
4199404 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 01011001 01100101 10010110 01110001 01100101 10010110 00110101 11001001 10100011
8388607 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 10100110 10011010 01101001 01001110 10010101 10010110 01101000 10110111 00101001
9999999 01010100 00111101 10010111 01000110 10101100 01011011 00101011 00101100 01001110 10011001 01011010 10010110 11000101 10010110 00101101 10010111 00011100 9999999 70944284 Tamper On
9999999 01010100 00111101 11010001 10010010 11011001 01011010 11000101 10101100 01001110 10011001 01011010 10010110 11000101 10010110 10011010 01101100 01010011 9999999 70538053 Tamper Off
-
Ok, I started looking at this data and put it into Excel to work on.
Some questions:
1- Is the meter ID at the end (70944284) from the 3rd through 7th bytes? If so then I do not come up with the same value by a simple convert from binary to decimal.
2- Are the names above the data columns correct for the placement of the data? example: Is the data column under Type/Alarm know to be the type/Alarm data?
If so then how do you know that these columns are correct?
Good guess that there is a checksum or some other type of data validation value. This could be a CRC or checksum.
It is possible that the data has redundancy built in. A common method is to send the data straight then again with the bits inverted. There are many ways this could be done.
The data could also be encoded. Manchester or other methods could be used. I say this since I never see more then 3 ones or zeros in a row.
Telling us which meter this is could be helpful since someone might just know something about this or find info on the web about its data format.
-
1- Yes and I think it is the 3rd to 7th. The last 999999 reading has a different meter ID. The meter ID could use part of byte 8
2 - The column headings are my best guess. I am more sure of the reading because you can see the bits change but still a guess.
Yes I think the data is encoded and DC balanced. If you add up the 48 bits for readings there are always 24 1's and 24 0's. Same for the 48 bits starting at 3rd byte. The first two bytes and last three bytes also have the same number of 1's and 0's.
Yes there are many options for encoding (Manchester, 6b/8b ) prevent the long strings of 0's or 1's.
The 0 read bytes are interesting; there is a pattern in every other bit 001, 001, 001 or 110, 110, 110 through all 6 bytes
I did not look for redundancy and only a little at interleaving
In other systems the receiver adds bytes at the end for Error Correction Count, Signal Strength and then a check sum.
Thanks for you interest
-
I've tried a few things but no luck so far.
It is not Manchester since there are more than 2 bits of the same level in a row.
Have been trying NRZI variations.
I am making the assumption that the known meter id (70944284 dec) is embedded within this data so am looking to match a decode with that value.
It could be helpful to know what receiver you are using. From the other searches I've done it seems that almost all meter reading uses some standard data format. Some receivers just pass the RF data straight throut to the RS232 port but other seem to decode the RF data into a standard data format.
Also, what is the METER that is being read?
-
Badger Orion is the RF system product name. Orion CE transmitter connected tot a RTR water meter register.
-
Have you called up BadgerMeter and asked which modulation method they use for their serial data?
-
I asked my employer about that. seems the manufactures in our industry don't share that with one another...or at least not without lawyers in the room. we have a meter data management software system that we have made work with several manufactures receivers and keep trying to add more.
-
If this is for reverse engineering, then I suggest you find a contractor who is experienced in RF data communications.