Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Opel Astra H - kontrola drzwi smartfonem poprzez bluetooth

Mimitron 10 Sep 2022 16:06 4161 28
  • Witam
    Przedstawiam moje urządzenia do kontroli drzwi w moim Oplu Astra H. Urządzenie jest oparte na Atmedze 168 i schemacie modułu MCP2515 do komunikacji z magistralą can. Do komunikacji z telefonem wykorzystałem moduł bluetooth HC-06. Aplikacja na telefon została napisana w Mit App Inventor.
    Funkcje:
    - zamykanie drzwi z domknięciem szyb
    - otwieranie drzwi
    - zamykanie okien
    - otwieranie okien
    - zamknięcie okien po zamknięciu drzwi z pilota

    Nim zacząłem budowę docelowego urządzenia, musiałem znaleźć odpowiedni pid i ramki, za pomocą których, będę mógł sterować drzwiami. Do tego celu musiałem zbudować sniffer.

    Opel Astra H - kontrola drzwi smartfonem poprzez bluetooth

    Udało się znaleźć odpowiednie dane, którymi można sterować drzwiami:
    PID 352
    - zamknięcie drzwi 1 64 73 62
    - otwarcie drzwi 1 16 73 62
    - zamknięcie okien 1 192 73 62
    - otwarcie okien 1 48 73 62

    Znając te dane można było przystąpić do budowy docelowego urządzenia.
    Opel Astra H - kontrola drzwi smartfonem poprzez bluetooth

    Opel Astra H - kontrola drzwi smartfonem poprzez bluetooth

    Opel Astra H - kontrola drzwi smartfonem poprzez bluetooth

    Opel Astra H - kontrola drzwi smartfonem poprzez bluetooth



    Opel Astra H - kontrola drzwi smartfonem poprzez bluetooth

    Największym wyzwaniem była aplikacja na Androida. Tu z pomocą przyszła platforma Mit App Invetor. Program wysyła odpowiednią komendę dla µC poprzez bluetooth. Ma możliwość zmiany PINu modułu bluetooth. Po uruchomieniu aplikacji trzeba się zalogować czterocyfrowym PINem. PIN ten przechowywany jest w urządzeniu, tam też jest sprawdzana zgodność wpisanego PIN z zapisanym PINem. Jeśli wszystko się zgadza, aplikacja zaloguje się do urządzenia. PIN ten można zmieniać. Po pierwszym połączeniu zapamiętuje dane modułu bluetooth i łączy się z nim automatycznie po ponownym wejściu w zasięg.

    Opel Astra H - kontrola drzwi smartfonem poprzez bluetooth

    Poza kontrolą poprzez bluetooth, dołożyłem funkcje domykania szyb po zamknięciu drzwi z pilota. Niestety w Astrze H fabryczne domykanie okien to jakieś nieporozumienie. Po zamknięciu drzwi, trzeba ponownie nacisnąć i przytrzymać przycisk zamykania żeby okna się domknęły.

    Moje urządzenie po odebraniu informacji z magistrali CAN, że drzwi zostały zamknięte z pilota, wysyła informacje do zamknięcia okien.

    Podczas testów okazało się, że magistrala CAN wchodzi w stan uśpienia po zamknięciu drzwi. Niestety nie udało mi się znaleźć sposobu na wybudzenie jej za pomocą poleceń CAN. Pozostało sprawdzić co wybudza CAN. Między innymi jest to przycisk otwierania/zamykania drzwi na konsoli centralnej. Gdy CAN jest uśpiony, naciśnięcie tego przycisku wybudza CAN, ale nie otwiera drzwi, co było mi na rękę. Po rozebraniu tego przełącznika okazało się, że są tam zwykłe gumki jak w pilocie, i styki są zwierane do masy. Jak widać na schemacie, wystarczyło emiter tranzystora podłączyć pod masę przycisku, kolektor pod drugi pin przycisku, baza poprzez rezystor połączona jest z masą, i poprzez kolejny rezystor do portu µC.

    Opel Astra H - kontrola drzwi smartfonem poprzez bluetooth

    Całość działa tak:


    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    Mimitron
    Level 20  
    Offline 
    Mimitron wrote 728 posts with rating 140, helped 8 times. Been with us since 2003 year.
  • #2
    hetm4n
    Level 20  
    Gratulacje za chęci :) jak dla mnie niepraktyczne, jedyne co fajne to domykanie szyb. Zamykanie za pomocą telefonu? Zwariowałbym, szybciej to zrobię z pilota czy klucza. Mi by bardziej pasował mini komputer na OLED z temperaturą silnika, bo tego w tym modelu brakuje na zegarach :(
  • #3
    Mimitron
    Level 20  
    Potrzeba matką wynalazków. Faktycznie początkowo chodziło tylko o domykanie szyb. Ale miałem już kilka razy sytuacje idąc z Biedronki do Lidla mijam miejsce gdzie auto stoi, nie mając kluczyków nie mogłem zostawić zakupów w aucie i musiałem je targać tam i z powrotem ;) Albo ile razy już będąc na dworze coś przydało by mi się z auta, ale nie miałem kluczyków przy sobie. Fakt, że to gadżet używany sporadycznie, ale przyda się. :) Co do komputera, kiedyś robiłem komputer do Golfa 4, czasy przed arduino i aliexpres. Gdybym wtedy miał dostęp do tej wiedzy co teraz, to było by dopiero cudo, a tak żeby obliczyć spalanie, musiałem liczyć czas otwarcia wtrysku, możesz zobaczyć w DIY, opisałem tu ten mój komputer.
  • #6
    v-cu
    Level 11  
    CAN wysyła pełno ramek, w jaki sposób rozszyfrowałeś która jest potrzebna do zamknięcia/otwarcia drzwi? Wysyłałeś po kolei każdą i patrzyłeś co się dzieje? Możesz coś więcej napisać odnośnie twojego sniffera?
  • #7
    Mimitron
    Level 20  
    https://www.elektroda.pl/rtvforum/topic3911885.html

    Zapisuje wszystko co leci z CAN do tablicy, jeśli leci jakiś pid, który był już zapisany, to aktualizuje tylko jego dane.
    Wyświetlam tablice na wyświetlaczu. Potem tylko wystarczyło szukać PIDa, który zmienia się po naciśnięciu przycisków pilota. Tak znalazłem ramki od zamykania, otwierania drzwi i okien z pilota. Znalazłem też przy okazji dane od otwarcia, zamknięcia drzwi i zamknięcia zamków, to by się przydało do alarmu.

    [youtube]https://youtube.com/shorts/rXcnpilkAy4?feature=share[/youtube]
  • #8
    sq3evp
    Level 29  
    Piękna robota - zakładam, że i inne marki tak samo można przeskanować i dorobić coś albo zmodyfikować zachowanie się modułów komfortu.
    Przyłączałeś się przez OBD2 - czy można przyłączyć się pomijając gniazdo OBD? Czy jest to ryzykowne - potencjalna możliwość uszkodzenie magistrali CAN.
  • #9
    Mimitron
    Level 20  
    Podłączyłem się w OBD. Ryzyko uszkodzenia zawsze istnieje, na szczęście w Astrze nic się nie stało, ale może w innych autach wywalić jakieś błędy jak zaczniesz wysyłać swoje ramki. Gdzieś wyczytałem że Volvo nie tolerują takiej zabawy, można tylko nasłuchiwać. W teorii wszystko da się zeskanować, kwestia ustawienia prędkości transmisji.
  • #10
    austin007
    Level 17  
    Ciekawy projekt ze względu na magistralę. Podpowiesz? Chciałem zbudować do jednośladu odczyt parametrów silnika, w tym jednostkowe zużycie paliwa/długość wtrysku. Magistrala CAN. Czy ramki z ECU są nadawane w interwałach czasowych samoistnie bez konkretnego zapytania w systemie CAN, czy wymagają każdorazowego odpytywania?
  • #11
    Mimitron
    Level 20  
    Tego nie wiem. Ja nasłuchiwałem reakcji po wywołaniu zdarzenia, ale napięcie akumulatora jest podawane cały czas. Nawet jeśli tak samo jest z parametrami które cię interesują, to i tak będziesz mieć kłopot znaleźć odpowiedni PID, a potem jeszcze odszyfrować ramkę. Przykładowo w Astrze PID 1280 i ramka 00 98.
    Nie wpadł bym na to, że ten PID to napięcie akumulatora, a drugi bajt to wskazanie napięcia, które trzeba jeszcze podzielić przez 8.
  • #12
    austin007
    Level 17  
    Dzięki. Jak nasłuchiwałeś /odpytywałeś magistralę? Chodzi o soft i hardware.
  • #14
    eurotips
    Level 38  
    A da się dorobić kasowanie Check Engine i błędu poduszek? Znam takich co je zaklejają raz do roku.
    Wiem, że autoalarmy po CAN potrafią zapalić kontrolkę rezerwy, więc może i zgasić coś można.
    Plusik za działające urządzenie.
  • #15
    urkotrebor
    Level 18  
    @Mimitron, czy testowałeś też swój patent w aucie bez REC-a, a może znalazłeś inne ciekawe ramki?
    Ja wykorzystuję ESP32, co upraszcza konstrukcję, bo wystarczy dołożyć TJA1050 (lub podobne), MCP2515 jest wtedy zbędne, bo to samo robi ESP32 a w gratisie jest bluetooth i WIFI.
    Czy możesz też zdradzić na którym CAN-e działasz, średnim czy niskim?
  • #17
    William Bonawentura
    Level 33  
    Mimitron wrote:
    Niestety w Astrze H fabryczne domykanie okien to jakieś nieporozumienie. Po zamknięciu drzwi, trzeba ponownie nacisnąć i przytrzymać przycisk zamykania żeby okna się domknęły.

    Funkcjonalność i bezpieczeństwo czasem się wykluczają i tu tak jest. Sterowanie radiowe jest zawodne i zgodnie z dyrektywą maszynową, nadajnik musi aktywnie wysyłać polecenie ruchu. Czy twoja aplikacja ma funkcję "STOP", zaś zerwanie połączenia BT lub utrata focusu przez aplikację zatrzymuje ruch?
  • #18
    Mimitron
    Level 20  
    Nie mam stop i zerwanie połączenia nie zatrzyma ruchu szyby. Polecenie jest wysyłane raz, a potem resztę robi samochód. To nie działa tak, że ramka do zamknięcia drzwi jest wysyłana cały czas aż do zamknięcia, czy otwarcia okna. Wysyłam raz, a potem automatycznie szyba otwiera się lub zamyka.
  • #19
    carrot
    Moderator of Cars
    W samym sterowniku silniczka szyby jest zintegrowany układ bezpieczeństwa, przy wzroście prądu (przeszkoda) zatrzyma zamykanie, lub nawet zacznie opuszczać szybę.
  • #21
    William Bonawentura
    Level 33  
    carrot wrote:
    W samym sterowniku silniczka szyby jest zintegrowany układ bezpieczeństwa, przy wzroście prądu (przeszkoda) zatrzyma zamykanie, lub nawet zacznie opuszczać szybę.

    Amperometryka nie zabezpieczy np. krtani dziecka. Siłownik musi mieć moment odpowiedni do zerwania lodu z prowadnic. Zabezpieczeniem jest człowiek, który jest na miejscu i może od razu zareagować. Do tego musi mieć kluczyki w stacyjce.
  • #22
    byrrt
    Level 21  
    Temat ciekawy przede wszystkim ze względu na przyłączenie się do auta poprzez CAN. Myślę o czymś podobnym (układowo), ale do automatycznego wyłączania systemu start-stop. Czyli po uruchomieniu silnika jedna ramka, która wyłącza system. W moim aucie trzeba to robić zawsze po uruchomieniu, w dodatku tylko przez menu na wyświetlaczu. Wnioskuję, że dałoby się to ogarnąć wysyłając jakąś komendę.
  • #23
    sq3evp
    Level 29  
    Producent auta zadbał, żeby nie chodziły Ci po głowie takie bezeceństwa - ekologia to podstawa.
    Część aut ma to na przycisku w kabinie - czyli nie każdy utrudnia.
    Sam pomysł urządzenia jest dobry, trzeba by tylko sporo przeanalizować, co można by sterować takimi układami i na ile jest to bezpiecznie dla auta. W niektórych modelach wystarczy przeprogramować moduł przez ODB2 - kwestia tylko na ile trzeba ingerować w ustawienia. Takie lekkie hackowanie systemu auta.

    Albo inaczej - dodawanie "ficzerów", o których "zapomniał" wytwórca auta.
  • #24
    eurotips
    Level 38  
    sq3evp wrote:
    Część aut ma to na przycisku w kabinie - czyli nie każdy utrudnia.

    No nie zgodzę się z tym. Znowu kluczem jest wiek auta.
    Jak ten system dopiero wchodził, to wystarczyło wyrzucenie przycisku i zwarcie/rozwarcie kabelków.
    Potem z poziomu diagnostyki dało to wyłączyć na stałe, aż przyszła pora na bistabilne przekaźniki symulujące kliknięcie po każdym uruchomieniu. Teraz raz że nie wyłączysz tego na stałe niczym, a dwa, czasami jest to perfidnie ukryte w menu, jak napisał @byrrt.
    Ja już nie chcę tu przypominać o Security Diagnostic, bo to dopiero od dwóch lat funkcjonuje, a tam to sobie możesz wetknąć "coś" w złącze OBD.
  • #25
    byrrt
    Level 21  
    @sq3evp, w aucie którym jeżdżę są dwa utrudnienia - brak przycisku no i gwarancja. A takie podszycie się pod jakiś sterownik, wysłanie paczki na magistralę z komendą wyłącz system start-stop wydaje się proste i raczej bezpieczne. Dodatkowo ten system nie daje się włączyć w specyficznych warunkach, np. srogim upale czy w temperaturach poniżej 0°C, czyli pewnie trzeba by najpierw czytać czy system oby nie jest wyłączony, a jeżeli jest, to go wyłącz i cisza, odcięcie się od linii i już.

    Czy kolega @Mimitron wie może, czy nie ma jakiś innych sposobów na sniffing CAN'a, być może taki za pośrednictwem jakiegoś gotowego interfejsu ew. analizatora? Bo znaleźć jakieś informacje na ten temat w sieci próbowałem, ale bezskutecznie. Chodzi oczywiście o coś rozsądnego cenowo.
  • #26
    carrot
    Moderator of Cars
    Co do dezaktywacji start-stop, to znam dwie opcje: w grupie VW wystarczy przekodowanie w module climatronic, trzeba uaktywnić funkcję comfort, wystarczy mieć włączoną wentylację żeby silnik nie gasł.
    Druga, działa nie we wszystkich samochodach, ale warto sprawdzić, to chwilowe uaktywnienie krańcówki otwarcia maski silnika.
  • #27
    eurotips
    Level 38  
    carrot wrote:
    w grupie VW wystarczy przekodowanie w module climatronic, trzeba uaktywnić funkcję comfort, wystarczy mieć włączoną wentylację żeby silnik nie gasł.

    W jakich rocznikach to działa? bo w 5-letnich to tylko przestawienie dopuszczalnego spadku napięcia przy rozruchu z 9 na 12V działa. Jak wspomniałem, w ogóle co podłączysz pod OBD w nowych autach po 2019 z bezpieczną diagnostyką?
  • #29
    sq3evp
    Level 29  
    Kwestia bezpieczeństwa pewnie.
    Przyciski Start-Stop mają nadal nowe auta - nie pamiętam, ale chyba działa to tak, że po włączeniu silnika można wyłączyć.
    Nie wiem, czy wszystkie mają tak samo, czy nie da się wyłączyć w ustawieniach, ale sporo aut ma przycisk na desce.

    Pytanie, czy można to wyłączyć w modułach komfortu czy coś podobnego.

    Mały update - podobno VAG'iem (dla VW Audi group) i DDT4All (dla Renault i Dacia) można wyłączyć system Start-Stop. Nie wiem jak to działa - czy na stałe, czy jakoś inaczej, ale jest to zmiana wartości w konfiguracji odpowiedniego modułu.