24-07-2021, 01:43
Hi all,
I bought the aforementioned temperature + humidity "weather station" from Lidl for about 20 euros. As the supplied receiver reads remote data very seldom, I decided to see if I can make heads or tails of the data sent by the sensors.
Data is transmitted with 433 MHz RF signal in bursts which consist of 9 copies of data packets.
Data packets contain one sync pulse (~4500 useconds) + 36 bits (0 = ~1500 usec, 1 = ~2500 usec).
My Arduino code can reliably decode the data by checking for above pulse lengths ±50 usec, using either cheap MX-RX-5V or more expensive RXB6 receiver.
I have yet to put a sensor in a freezer to see how negative temperatures are encoded (and whether the temperature really uses all 12 bits)
I bought the aforementioned temperature + humidity "weather station" from Lidl for about 20 euros. As the supplied receiver reads remote data very seldom, I decided to see if I can make heads or tails of the data sent by the sensors.
Data is transmitted with 433 MHz RF signal in bursts which consist of 9 copies of data packets.
Data packets contain one sync pulse (~4500 useconds) + 36 bits (0 = ~1500 usec, 1 = ~2500 usec).
My Arduino code can reliably decode the data by checking for above pulse lengths ±50 usec, using either cheap MX-RX-5V or more expensive RXB6 receiver.
Code:
S rrrrrrrr b m id tttttttttttt ffff hhhhhhhh
S sync pulse (missing from the first packet)
0..7 r random id (changes every reboot)
8 b battery (1 = ok, 0 = low)
9 m manual tx (1 if manual)
10..11 id numeric id 0..3 (only 0..2 used)
12..23 t temperature (binary, 0.1 ℃)
24..27 f filler bytes (1111)
28..35 h humidity (binary)
I have yet to put a sensor in a freezer to see how negative temperatures are encoded (and whether the temperature really uses all 12 bits)
