Sniffing remote temp. transmitter with Moteino

Started by Lukapple, September 27, 2015, 06:42:41 AM

Lukapple

Hi.
I'm trying to sniff and decode signals from 433MHz remote temperature transmitter.


For this taks I'm using moteino with 433MHz RFM69HW chip and this demo sketch: Struct_receive.ino
I can successfully listen to my existing moteino nodes, but when I trigger remote temp. transmitter TX, nothing happens.
Any idea how to listen to that temp. transmitter?

Thanks

kobuki

Since this is most probably an OOK transmitter, I'd suggest trying my library and code similar to this. What is the brand/model of the transmitter? Any image possible on that info? IIRC a similarly looking device has been analysed already.

Lukapple

#2
I'm not sure what brand/model is it.
Here is another image:


Thanks for the library. I'll try it when I get home.

kobuki


Lukapple

Hi.
I've tried WeatherStationReceiver1Irq sketch example but it doesn't trigger any interupt when I push the TX button on my remote temp. transmitter. It also doesn't capture anything from my other moteino garage mote modules.
Do I have to tune some parameters in that example, any hints?  ???
Thanks

kobuki

We have a quite lenghty discussion in an older thread. Please read it through, but as quick suggestion, try to find the proper frequency, then adjust bandwidth and the fixed threshold. Or put your transmitter farther away, so signals don't overshoot and get distorted.

Lukapple

Thanks for the thread link. Do I need that hardware mod (hooking up the DIO2-pin3) also for receiving, or just for transmitting?
To find the proper frequency, I probably need one Spectrum Analyzer Tool or something? Any idea what's the min-max freq. range of that 433MHz chip from my remote temp. transmitter?
Sorry for noob questions, I'm learning electronics as a hobby, otherwise I'm sw dev.  :D

kobuki

Quote from: Lukapple on September 27, 2015, 04:31:51 PM
Sorry for noob questions, I'm learning electronics as a hobby, otherwise I'm sw dev.  :D

Don't worry, it's exactly the same with me :) Yes, you need to hook DIO2 to D3 on the Moteino either for TX and for RX. The transmitter is most probably operating at 433.92 MHz, so you need the RFM module for that band. To an extent, the 868/915 MHz modules will work, too, I know from experience. Use an OOK BW setting of about 20k (see defines in the .h) and if the gadget is close, about 40..60 for fixed threshold. You might want to use the OOKDumper sketch to make sense of the periodically appearing signals.

Lukapple

Kobuki,
I've some success with OOKDumper  ;D. Frequency 433.92, other settings default.
Here are some output values that I get when I press transmit button on temp. transmitter:
temperature was: 21.4C
Output:
time: 5797
0: 1 1128
1: 0 1316
2: 1 1100
3: 0 1340
4: 1 1132
5: 0 1312
6: 1 1132
7: 0 1292
8: 1 1088
9: 0 3300
10: 1 1088
11: 0 1376
12: 1 1148
13: 0 1288
14: 1 1104
15: 0 1340
16: 1 1116
17: 0 1328
18: 1 1088
19: 0 8500
20: 1 1028

temperature was:23.6C
Output:
time: 41421
0: 1 1072
1: 0 1384
2: 1 1012
3: 0 1420
4: 1 1088
5: 0 1356
6: 1 1044
7: 0 1396
8: 1 1032
9: 0 3368
10: 1 1076
11: 0 3332
12: 1 1044
13: 0 3348
14: 1 1044
15: 0 3356
16: 1 1072
17: 0 8516
18: 1 924

temperature was:25.2C
Output:
time: 114998
0: 1 940
1: 0 3456
2: 1 120
3: 0 16
4: 1 868
5: 0 3396
6: 1 984
7: 0 1452
8: 1 984
9: 0 1460
10: 1 1000
11: 0 1436
12: 1 1012
13: 0 1448
14: 1 984
15: 0 1444
16: 1 988
17: 0 3416
18: 1 940
19: 0 1508
20: 1 1000
21: 0 3392
22: 1 956
23: 0 1484
24: 1 968
25: 0 3412
26: 1 956
27: 0 8652
28: 1 900


What does that last value means? Any idea how to decode those values?

Thanks!

kobuki

There are too few changes in the pulse train. I'd suggest tuning reception a bit. And I want to note that this OOKDumper is just a toy, far from ideal, and takes a more time than more sophisticated solutions. Though with effort, it works.

Lukapple

Problem is, that I've no idea what parameters should I change and how "healthy" signal looks like. What does that 3rd value mean: 0: 1 1128:-[

kobuki

Who knows? ;) You're just cracking this code. I'd suggest looking around on the net, there's a wealth of info around on various OOK schemes.

But anyway, you're looking for about 3..8 bytes, or about 24..64 bits of information (can be more or less). A very common encoding scheme is simple pulse modulation (just an example): 1000 micros space and 500 micros mark mean a logical '0'; 1500 micros space and 500 micros mark mean a logical '1'. They either come LSB first or MSB first. At the start and at the end you'll usually see some long space, mark or a combination. They're always transmitted repeatedly in short bursts of about 5..10 back-to-back pulse trains, separated by long spaces.