merbanan / rtl_433

Program to decode radio transmissions from devices on the ISM bands (and other frequencies)
GNU General Public License v2.0
5.91k stars 1.3k forks source link

trh 433.92 radologger decoding #2942

Open trefnis13 opened 1 month ago

trefnis13 commented 1 month ago

If someone is interested in decoding signal from one of my T/RH sensors working on 433.92. There is a 6 data-packets recorded with RTL-SDR v4 in URH software. Each data-packet contains sensor ID (it should be 1) and raw values of temperature (around 950) and relative humidity (around 1500). If someone would like to take up this challenge I can provide more details. sample3_RTL-SDR-20240525_195429-433_92MHz-1MSps-1MHz.zip

zuckschwerdt commented 1 month ago

What units are 950 and 1500? Does not sound like temperature or %rh.

Looks like FSK, but one freq is dead center, which is not good. Can you offset by 50 to 100 kHz and record again.

Also, is that signal post-processed? The dynamic range seems strange. Or is that a very low manual gain setting?

trefnis13 commented 1 month ago

Thanks!! Yes, you may be right as this sensor has two modes and when I recorded this sample it was set to physical units i.e. deg C and % of rel. humidity, so in this case values should be around 24C and 45%. As for the dynamic range you are also right, I didn't have a good antenna so the range is poor. I will record new sample with your suggestions tomorrow as I left my dongle at work.

trefnis13 commented 1 month ago

Please find new file containing 8 data-packets. Originally each single packet was separated to another by approximately 30 seconds but to make the file smaller I deleted background signal between them. RTL-SDR-20240528_162222-433_92MHz-2MSps-2MHz.zip

zuckschwerdt commented 1 month ago

The signal is still very much at 0 Hz, please offset to e.g. 433.85M. Also record samples with rtl_433 -S unknown to split the files automatically. And -s 1024k should be sufficient.

trefnis13 commented 1 month ago

Hi, I was struggling with this software but fortunately I got some results however it doesn't look good

c:\Users\stroj\source\repos\rtl_433\out\build\x64-Debug\src>rtl_433 -S unknown rtl_433 version 23.11-123-g3339a4e7 branch master at 202405261706 inputs file rtl_tcp RTL-SDR SoapySDR Found Rafael Micro R828D tuner [SDR] Using device 0: RTLSDRBlog, Blog V4, SN: 00000001, "Generic RTL2832U OEM" Exact sample rate is: 250000.000414 Hz [sdr_set_center_freq] Failed to set center freq. Allocating 15 (non-zero-copy) user-space buffers

wt., 28 maj 2024 o 17:38 Christian W. Zuckschwerdt @.***> napisał(a):

The signal is still very much at 0 Hz, please offset to e.g. 433.85M. Also record samples with rtl_433 -S unknown to split the files automatically. And -s 1024k should be sufficient.

— Reply to this email directly, view it on GitHub https://github.com/merbanan/rtl_433/issues/2942#issuecomment-2135559655, or unsubscribe https://github.com/notifications/unsubscribe-auth/BIYMJ3IEQJMB4WN7EQWJ3KTZESQGVAVCNFSM6AAAAABILQQQAWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZVGU2TSNRVGU . You are receiving this because you authored the thread.Message ID: @.***>

--

zuckschwerdt commented 1 month ago

[sdr_set_center_freq] Failed to set center freq.

That is bad. Should not happen. Try to unplug and replug the SDR. Check Zadig is installed correctly.

trefnis13 commented 1 month ago

Hi, it looks like it is somehow working since e.g. this command rtl_433 -Y autolevel -Y magest -M level -M noise -M time:usec -v resulted with some reasonably looking results

[image: image.png]

wt., 4 cze 2024 o 17:16 Christian W. Zuckschwerdt @.***> napisał(a):

[sdr_set_center_freq] Failed to set center freq.

That is bad. Should not happen. Try to unplug and replug the SDR. Check Zadig is installed correctly.

— Reply to this email directly, view it on GitHub https://github.com/merbanan/rtl_433/issues/2942#issuecomment-2147795795, or unsubscribe https://github.com/notifications/unsubscribe-auth/BIYMJ3JDFUCMCWRBJ6NCAJ3ZFXK33AVCNFSM6AAAAABILQQQAWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBXG44TKNZZGU . You are receiving this because you authored the thread.Message ID: @.***>

--

trefnis13 commented 3 weeks ago

I have another sample if someone is interested - I hope this is better. RTL-SDR-20240611_155633-434_6MHz-2_5MSps-2_5MHz.zip

zuckschwerdt commented 2 weeks ago

Rename the file to e.g. RTL-SDR-20240611_155633_434.6M_2500k.complex16s (important meta data is _434.6M_and _2500k_), then load in https://triq.org/spectrogram-next/

Set (mouse wheel) Gain to 0 dB and Range to e.g. 10 dB, now you can see the original signal. The FSK-looking lines at +/-200kHz are just aliases -- the signal is clipping (too loud).

Looks like very narrow and fast FSK maybe. narrowfsk

Zoom in (mouse wheel) to max and observe the very funny waveform in the I/Q display (lower part). I don't know what that is, is it just clipping FSK near DC?

iqdata

Also, why is that signal at 434.6 MHz exactly? That's too far from 433.92 MHz. Do you always see the signal at the center frequency? Can you get it to be not at the center (and also quieter, not clipping)?

trefnis13 commented 2 weeks ago

Hi, I played little with recording parameters and there is another data file with a sequence of 15 data-packets of temperature (in deg C) and rel. humidity (in %) recorded from the sensor with ID nr 1 with specific values attributed to specific packet.

ID1

15xID1-434_052MHz-1MSps-1MHz.zip

zuckschwerdt commented 2 weeks ago

Much improved. The signal looks really nice, the -1 dB is optimal. E.g. zoomed in on the first packet we see the FSK clearly

nice

A packet seems to be ~200 ms. Basic symbols seem to be 1000 / 1000 µs pulse/gap and 2000/2000 µs pulse/gap after a 24x 1000/1000 preamble and a 3000/3000 sync symbol.

With a quick test rtl_433 doesn't seem to work well on that signal though :/

ProfBoc75 commented 2 weeks ago

@zuckschwerdt , @trefnis13 :

Same approach for me, I renamed the complex16s to g001_434.052M_1000k.cs8 and I got more results than keeping current name.

From previous samples and URH, I saw that it's a Manchester coded signal.

I tried this:

rtl_433 -X "n=test,m=FSK_PCM,s=1000,l=1000,r=10000,preamble=55c" -Y minmax -Y magest -Y filter=100 -M level g001_434.052M_1000k.cs8

image

Then this:

rtl_433 -X "n=test,m=FSK_PCM,s=1000,l=1000,r=10000,preamble=55c,decode_dm" -Y minmax -Y magest -Y filter=100 -M level g001_434.052M_1000k.cs8

image

Not sure about decode_dm but just to try ... Then another try with:

rtl_433 -X "n=test,m=FSK_MC_ZEROBIT,s=1000,l=1000,r=10000" -Y minmax -Y magest -Y filter=100 -M level g001_434.052M_1000k.cs8

image

Some answers to start bitbench ...

ProfBoc75 commented 2 weeks ago

Little update, with a preamble = 0x55c6 and decode_dm , data is starting with 0x01.... So could be the sensor id.

ProfBoc75 commented 2 weeks ago

@trefnis13:

I'm not able to get the temp or humidity values, sounds like your samples are partially done, not all the same duration. Same, it's not possible to get the id, crc or checksum values.

Can you try to get more codes but using rtl_433 (by default the frequency is 433.92M) ?

rtl_433 -X "n=test,m=FSK_PCM,s=1000,l=1000,r=10000" -s 1024k

And as you did, share the temp/hum values along the codes.

If you have bad or too many answers, try to add filters like this:

rtl_433 -X "n=test,m=FSK_PCM,s=1000,l=1000,r=10000,bits>=50" -s 1024k
rtl_433 -X "n=test,m=FSK_PCM,s=1000,l=1000,r=10000,bits>=80,preamble=55c" -s 1024k

Adjust the bits value and the preamble (0x55c6 , 0x55c65, 0x55c655 ... ).