Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Budowa i modyfikacja modułu OBD2 WiFi

witek_34 14 Apr 2022 13:15 3705 1
  • Cześć

    Przedstawiam częściowy teardown i modyfikację funkcjonalności
    interfejsu OBD2 VGATE z modułem WiFi zamiast BT. Interfejs ten
    kupiłem kilka miesięcy temu i korzystałem w połączeniu z androidowym
    Head Unit w samochodzie wraz z aplikacją hybrid assistant.

    Budowa i modyfikacja modułu OBD2 WiFi

    Standardowo interfejs pracuje jako AP, tworzy otwartą sieć WiFi o SSID VLINK.
    Po podłączeniu urządzenie klienckie dostaje adres IP z zakresu 192.168.0.0/24.
    Interfejs pracuje jako przeźroczysty dwukierunkowy konwerter TCP - serial, nasłuchuje na
    adresie 192.168.0.10 i porcie 35000. Po stronie ELM327 transmisja szeregowa 38400 bps.
    Można się połączyć standardowym telnetem i wydawać polecenia dla ELM327.

    Elm327 przedstawia się jako:
    ATZ
    ELM327 v2.1
    ATI
    OBDII to RS232 Interpreter

    Interfejs pobiera do 50mA podczas pracy modułu WiFi. Można
    w nim wyłączyć automatyczny tryb uśpienia po zadanym czasie bezczynności.
    Po wejściu w tryb uśpienia pobór spada do 1mA, lecz z tego trybu moduł już się
    nie obudzi gdyż ma wyłączony interfejs WiFi. Ponadto mój egzemplarz bardzo mocno
    zaniża napięcie zasilania, będę próbował z tym walczyć bo ELM327 ma możliwość kalibracji programowej.
    Ponieważ tryb AP interfejsu OBD2 jest dla mnie niewygodny postanowiłem zdemontować
    moduł w nadziei że w środku będzie ESP32 lub coś podobnego co pozwoli zainstalować
    alternatywny FW.

    Moduł składa się z 2 delikatnie połączonych na kanapkę PCB:

    - dolnej zawierającej kompletny interfejs OBD2 zrealizowany w oparciu o PIC18f25k80
    - górnej zawierającej moduł HF LPT230 oraz przetwornicę 12V->3V3. Konwersja napięć na linii PIC18f25k80 (zasilanie 5V)
    realizowana jest przez dzielnik napięcia

    Budowa i modyfikacja modułu OBD2 WiFi Budowa i modyfikacja modułu OBD2 WiFi

    PCB połączone są 5 pinowym złączem o rastrze 2mm, sygnały

    LED ELM_RXD ELM_TXT GND 12V

    Moduł HF LPT230 jest stosunkowo popularnym i eleganckim rozwiązaniem
    dokumentacja jest dostępna na stronie:
    https://fccid.io/2ACSV-HF-LPT230/User-Manual/Users-Manual-3552381.pdf

    Do dalszych eksperymentów odseparowałem sygnały RX i TX pomiędzy
    modułem a PIC18f25k80 i przystąpiłem do kolejnych eksperymentów za pomocą
    interfejsu UART - USB o programu terminala i telnetu. Zweryfikowałem miedzy innymi
    przeźroczystą transmisję danych.

    Budowa i modyfikacja modułu OBD2 WiFi



    Niestety próba wejścia na defaultową stronę konfiguracji nie powiodła
    się, GUI się pojawia, ale żąda hasła i podawane w dokumentacji admin/admin nie działa.

    Budowa i modyfikacja modułu OBD2 WiFi

    Spróbowałem sekwencje escape opisaną w dokumentacji: +++ odczekanie na literę a i wysłanie znaku a
    i zadziałała:

    Budowa i modyfikacja modułu OBD2 WiFi

    Korzystając z poleceń AT+ zmieniłem konfigurację modułu na STA, ustawiłem
    własne SSID oraz szyfrowanie:

    AT+WMODE=STA
    +ok

    AT+WSSSID=Prius2
    +ok

    oraz zapisałem konfigurację.

    Po zrestartowaniu interfejs OBD2 podłączył się jako klient, pobierał adres IP i był dostępny w HA w samochodowym
    head unit.

    Budowa i modyfikacja modułu OBD2 WiFi

    W stosunkowo prosty sposób osiągnąłem cel, ale reagowanie modułu na sekwencje escape w gotowym
    produkcie trochę niepokoi. Na szczęście moduł reaguje tylko od strony interfejsu szeregowego. Tutaj przypomina mi się
    z początku Internetu dodawanie w mailach +++ATH0, co rozłączało błędnie skonfigurowane modemy TPSA.

    Cool? Ranking DIY
    About Author
    witek_34
    Level 13  
    Offline 
    Has specialization in: arm, pic32, pic24
    witek_34 wrote 106 posts with rating 14, helped 3 times. Live in city Wrocław. Been with us since 2008 year.
  • #2
    hindoos
    Level 27  
    OBD2, nie ODB2 :) OBD = On-Board Diagnostics.