Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Emulator TPMS dla Opla Astry J

daro_kp 26 Kwi 2019 18:11 384 1
  • #1
    daro_kp
    Poziom 9  
    Cześć
    Dzisiaj opiszę wam jak z potrzeby chwili i z irytacji żółtą lampką opracowałem emulator czujników TPMS w moim aucie.

    Pacjent:
    Opel Astra J 2015r standardowo wyposażony w czujniki TPMS.
    Jako, że nie lubię przekładać opon to do każdego auta jakie posiadałem zawsze miałem drugi zestaw kół.
    Po wymianie kół na zimowe okazało się, że po kilku km zaświeciła się żółta kontrolka o braku ciśnienia a na wyświetlaczu komunikat o awarii układu TPMS.
    Emulator TPMS dla Opla Astry J











    Troszkę zacząłem szukać co to za czujnik itp. i doszedłem że montowane są czujnik pracujące na częstotliwości 433,92 Mhz typu:
    Emulator TPMS dla Opla Astry J





    Ze zdjęć odczytałem oznaczenie FCC ID: MRXGME4
    a ze strony https://fccid.io/MRXGME4 dowiedziałem się więcej na temat jego budowy wewnętrznej i kodowania co pozwoliło przejść do kolejnego etapu czyli do podsłuchu tego co czujniki wysyłały w eter.

    Do podsłuchu idealnie nadawał się odbiornik SDR-RTL z oprogramowaniem Universal Radio Hacker
    Emulator TPMS dla Opla Astry J


    Na odludnym parkingu wzbudzałem poszczególne czujniki poprzez upuszczanie powietrza z kół i nagrywałem ich odpowiedź.

    Mając sygnał z czujników już w postaci cyfrowej zacząłem się zastanawiać czym to wysłać. Radio musiało pracować na częstotliwości 433,92 Mhz z modulacją ASK i kodowaniem Manchester.
    Mój wybór padł na CC1101 i komunikację z UC po SPI.
    Jako UC użyłem BluePill z STM32F1

    Dużo namęczyłem się , żeby dobrać odpowiednie parametry transmisji.
    Po sukcesie na stole tzn wysłałem i odebrałem identyczny sygnał z tym który nagrałem jakiś czas wcześniej pobiegłem do auta podłączam i wielkie nic.
    Lampka jak świeciła tak świeciła i błąd tez się wyświetlał.
    Szukając weny w internecie trafiłem na forum subaru gdzie też próbowali się do tego zabrać i tam doczytałem, że nadawane jest kilka rodzajów ramek:
    - Awaryjna - w chwili nagłego spadku ciśnienia
    - Normalna - podczas normalnej jazdy

    Stwierdziłem że trzeba się przejechać z podłączonym SDR i nagrać sygnał podczas jazdy i to był sukces
    Po wprowadzeniu nowych ramek do programu UC i załączeniu ustrojstwa w aucie na kołach bez czujników lampka zgasła od razu czyli sukces wszystko działa jak należy.

    Piszę to w dziale DIY w budowie ponieważ wszystko na tą chwilę jest podłączone na pająka, a dodatkowo oprogramowanie nie jest dokończone w sensie idealnie by było żeby określić co jest czym w ramce tj. mam preambułę , wiem gdzie jest adres ale nie dałem rady skorelować pozostałych danych tak , żeby można było wprowadzić dowolne adresy , parametry ciśnienia i temperatury i wyliczyć dla tego sumę kontrolną bo w tej chwili adaptacja tego do innego auta jest mocno problematyczna.

    Opcją jest dorobić kawałek kodu, który będzie w stanie nagrać sygnał z eteru, zapamiętać go i następnie nadawać.
    Co o tym myślicie??

    Archiwum z kodem wstawię jak będę w domu

    Aktualny projekt:
    TPMS_Emul..or.rar Download (8.84 MB)

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • #2
    daro_kp
    Poziom 9  
    Aktualizacja :
    W tytułowym poście dodałem archiwum z programem dla uVision i projekt Stm32Cube