flipperzero-firmware icon indicating copy to clipboard operation
flipperzero-firmware copied to clipboard

App/SubGhz proto: support TPMS (Tire Pressure Monitoring System) ?

Open u1735067 opened this issue 3 years ago • 4 comments

Description of the feature you're suggesting.

I don't know if it is relevant, but since I couldn't find any mention of TPMS already, maybe an app to decode TPMS (Tire Pressure Monitoring System) messages could be implemented, and maybe even with a "Relearn" option (https://github.com/UberGuidoZ/Flipper/tree/main/Sub-GHz/Vehicles/EL50448_-TPMS_Relearn_Tool)?

Anything else?

This is one of the things https://github.com/merbanan/rtl_433 supports, to have an implementation example.

u1735067 avatar Oct 22 '22 14:10 u1735067

Should be totally feasible. All APIs are available and can be implemented as external application. At the same time it's kinda niche thing, we don't plan to implement it. Maybe someone from community will.

skotopes avatar Oct 22 '22 14:10 skotopes

@skotopes Any plans to implement FSK? It would be needed for TPMS, afaik flipper only supports 2FSK

Crsarmv7l avatar Oct 31 '22 02:10 Crsarmv7l

2fsk is fsk. All modulations supported by CC1101 are available to user applications.

skotopes avatar Oct 31 '22 05:10 skotopes

Hm. Well I guess I need to play around more with my deviation.

Crsarmv7l avatar Oct 31 '22 11:10 Crsarmv7l

Got it. 3 out of 4 test captures are recognized as TPMS by rtl_433, 4th likely missed a few bits. No other signals were captured. Only implemented the modulation for Toyota ATM, and haven't even touched writing a decoder

Crsarmv7l avatar Nov 05 '22 16:11 Crsarmv7l

@u1735067

If anyone cares here is the modulation for Toyota PMV_107J TPMS

Custom_preset_name: TPMS
Custom_preset_module: CC1101
Custom_preset_data: 02 0D 07 04 08 32 0B 06 10 69 11 93 12 14 13 01 14 F8 15 40 18 18 19 16 1B 07 1C 00 1D 91 20 FB 21 56 22 10 00 00 C0 00 00 00 00 00 00 00 

Using a custom fw is recommended as you will need extended freqs to utilize 314.98Mhz. Detect Raw is also needed because there is no decoder for TPMS (and you don't want to be recording a straight raw signal with the OFW). It also needs to be very close to the tire to detect since we don't have a big antenna like an rtlsdr. I basically was only able to detect 1-2 wheels sitting in the passenger seat while driving.

I have run multiple tests (about 40ish captures in total) with this modulation/freq combo and every signal captured except one was the targeted Toyota TPMS. This was tested by replaying the captured and save Raws to rtl_433.

I can create modulations for other TPMS brands/systems if someone wants to build the decoder side on the flipper. TPMS is unencrypted, but I am not familiar enough with how the flipper firmware works to integrate at this time.

Crsarmv7l avatar Nov 06 '22 15:11 Crsarmv7l

While I would love having the time to play with this (I also don't have TPMS sensors), I saw other peoples made progress, so to share:

  • https://github.com/wosk/flipperzero-tpms
  • https://github.com/Crsarmv7l/TPMS-Flipper

u1735067 avatar Jul 31 '23 22:07 u1735067

Your second link is mine ;) however mine is only to generate valid TPMS subs to transmit. That said I had seen the first one recently. I may have to take a look and see if I can modify it to tx

On Mon, Jul 31, 2023 at 6:10 PM Alexandre L. @.***> wrote:

While I would love having the time to play with this (I also don't have TPMS sensors), I saw other peoples made progress, so to share:

  • https://github.com/wosk/flipperzero-tpms
  • https://github.com/Crsarmv7l/TPMS-Flipper

— Reply to this email directly, view it on GitHub https://github.com/flipperdevices/flipperzero-firmware/issues/1909#issuecomment-1659258193, or unsubscribe https://github.com/notifications/unsubscribe-auth/AULD4G74O4M7AB4MVSDP4WTXTAUOJANCNFSM6AAAAAARL36SYU . You are receiving this because you commented.Message ID: @.***>

Crsarmv7l avatar Jul 31 '23 23:07 Crsarmv7l

Yep, I though it might be useful to have it here too :)

And by playing with new apps, I just found that the ProtoView app (https://github.com/antirez/protoview) also implements TPMS: https://github.com/antirez/protoview/tree/main/protocols/tpms

Btw I'm surprised to see the repo associated in the catalog at https://github.com/flipperdevices/flipper-application-catalog/blob/main/applications/Sub-GHz/protoview/manifest.yml, it makes look like many app come from the same repo, while they're not actually ..

u1735067 avatar Jul 31 '23 23:07 u1735067

I think at this point we are not going to implement it as a part of firmware.

skotopes avatar Jan 03 '24 11:01 skotopes