merbanan / rtl_433

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

High pressure TPMS sensors #1500

Open mr-pl3r opened 4 years ago

mr-pl3r commented 4 years ago

Hi @zuckschwerdt , I am working with these sensors -link below-, you helped me before with the Jansite sensors version TY-568-US which I was able to get Temperature and PSi for some brewing process I needed them for.

Anyway, I decided to move on with these new sensors - link below-, considering that I am trying to capture measurements close to 120 Psi which these sensors can take. Wireless External Sensors

I have done the same steps you mentioned to follow back then under the previous discussion about Jansite , but I can't really get any grasp of the same data or even close to it. Any advice will be appreciated, here is what I have tried so far:

None of these commands was able to guess the modulation used on these sensors, therefore after reading the pulses via https://triq.org/pdv , and based on the g002_433.92M_250k I tried the next command rtl_433 -R 0 -X 'n=TPMS,m=FSK_MC_ZEROBIT, s=100, l=100, r=300' with no success. -readings attached- rtl_433_tpms_120psi.zip

Then I tried a different modulation. rtl_433 -R 0 -X 'n=TPMS,m=FSK_MC_ZEROBIT, s=85, l=460, r= [rtl_433_tpms_120psi.zip](https://github.com/merbanan/rtl_433/files/5278947/rtl_433_tpms_120psi.zip) 4350' based on the rtl_433 analyzer with no success as well. -readings attached-

Any help will be appreciated. Thank you in advance.

zuckschwerdt commented 4 years ago

(for those with no intuitive grasp on, ahm freedom units, that's 827 kPa)

The OOK captures look consistent but the gaps are implausible short compared to the pulses. Also the gaps are roughly 40 and 80 µs while the pulses are 60 µs multiples. This couldn't be PCM. I suspect the demod failed here.

Do you have a .cu8 sample?

mr-pl3r commented 4 years ago

Sure thing I do, please find them attached on this msg. g004_433.92M_250k.zip

zuckschwerdt commented 4 years ago

I looks like GFSK maybe. It's too close to DC to visually make sense of though. Can you record again with -s 1024k -f 433.98M? gfsk

mr-pl3r commented 4 years ago

Here you go! I just finished recording them...and after plugging them to the SPECTROGRAM & PULSEDATA it seems like there's data in there. Here is the zip file attached with the cu8 and ook files.

image 433.98M_1024k.zip

zuckschwerdt commented 4 years ago

That's a very clean OOK decode (not FSK after all, just DC interference). It's Manchester with a half-bit width of 52 µs -- somewhat "standard" for TPMS. This will work to collect data: -X 'n=TPMS,m=OOK_MC_ZEROBIT,s=52,r=1000' It should work even on default 250k sample rate. (you need -s 1024k when reading back non-default sample rate captures.)

mr-pl3r commented 4 years ago

Okay, after getting some readings under Bitbench I was able to start analyzing and playing with the data coming from the sensors. This is the results after getting the information coming thru - BTW I needed to apply the "invert" to get the right information. Going up & Down The command that was able to gather the information is rtl_433 -R 0 -X 'n=TPMS,m=OOK_MC_ZEROBIT, s=52, r=1000' -s 1024k -f 433.98M for some reason while trying to get it without the -s1024 was not good.

Thank you again for your help.

zuckschwerdt commented 4 years ago

If you pad the message with a f nibble (0 after invert) then the first byte is the sum of all other bytes, see this BitBench (note the checksum error in the 7th code).

I don't think that pressure and temp would be 9 bit. If you look at a field the lowest order bit should appear mostly random. If you take pressure as 9 bit it's always zero though.

mr-pl3r commented 4 years ago

Excellent. That worked perfectly, I just needed to add to the code the next formula - this based on the fact that I am measuring these sensors against the previous ones you helped me with.

Temperature is in Fahrenheit - without further calculations. Pressure: (Bitbench # / 3 ) Psi .

Let me know if you want me to send you the code I am using to decode these sensors to include it as part of rtl_433. Or I just close this topic "as is"?

Thank you again for all your help.

zuckschwerdt commented 4 years ago

If the temperature is Fahrenheit then Psi would seem logical. Haven't seen a div 3 so far though. Mul 2 in kPa is somewhat close -- hard to verify I guess. Does the package mention a max pressure? 255/3 is only 85 (586 kPa). There could be a ninth bit somewhere.

Let's keep this open, I'll add a decoder shortly.

merbanan commented 3 years ago

@zuckschwerdt have you had time to write a decoder?

gdt commented 1 year ago

Status?