logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak interpretować odpowiedzi ELM327 przez telnet? Zapytanie 0104, odpowiedź 41 04 00

Matro 27 Paź 2014 18:19 2580 2
REKLAMA
  • #1 14078997
    Matro
    Poziom 10  
    Witam.
    Razem z kolegą piszemy aplikację na iOS'a, która łączy się z kostką OBDII(WiFi) na bazie ELM 327.
    Aktualnie mamy problem ze zrozumieniem zapytań oraz odpowiedzi kostki poprzez telnet.
    Chcieliśmy spróbować czy wszystko działa, połączyliśmy się z kostką poprzez telnet (telnet 192.168.0.10 35000) i teraz wysyłając kostce zapytanie 0104 dostajemy odpowiedź "41 04 00" i szczerzę nie rozumiemy ani o co pytamy ani co nam odpowiedziała.
    Tutaj jest dostępna lista komend ELM -
    http://www.elmelectronics.com/ELM327/AT_Commands.pdf
    ale niestety nie działają przy bezpośrednim wpisywaniu.
    Nasze pytanie jest więc takie - co to za format, który w tym momencie używa kostka do komunikacji.
    Z góry dziękuję za odpowiedź.
  • REKLAMA
  • #2 14099854
    Szymurka
    Poziom 2  
    Wydaje mi się, że chodzi Ci o SAE J1979 albo ISO 15031-5 standards

    Sprawdź sobie na 31 stronie z noty katalogowej ELM 327 http://elmelectronics.com/DSheets/ELM327DS.pdf

    01 - show current data

    A jeśli chodzi o odpowiedź 41 04 00 to

    The 41 in the above signifies a response from a mode 01 request (01 + 40 = 41), while the second number (04) repeats the PID number requested(czyli to 04, które pytałeś) Nie wiem o co pyta 04, musisz sobie sprawdzić, ale np dla 0105

    Coolant temperature is PID 05 of mode 01, and can be requested as follows:
    >01 05
    The response will be of the form:
    41 05 7B
    The 41 05 shows that this is a response to a mode 1 request for PID 05, while the 7B is the desired data. Converting the hexadecimal 7B to decimal, one gets 7 x 16 + 11 = 123. This represents the current temperature in degrees Celsius, but with the zero offset to allow for subzero temperatures. To convert to the actual coolant temperature, you need to subtract 40 from the value obtained. In this case, then, the coolant temperature is 123 - 40 or 83°C.
  • #3 14238510
    Matro
    Poziom 10  
    Witam,
    Mam problem ze swoim Passatem 1.8T 99r. Otóż przy próbie komunikacji z samochodem(np. odczyt aktualnych obrotów) po chwili odmawia dalszej współpracy. Powiem dokładnie o co chodzi(już pomijając tą aplikację - łącze się aktualnie poprzez zwykły telnet z kostką):
    wpisuję 010C aby pobrać aktualną wartość obrotów - dostaje odpowiedź(przy pierwszym zapytaniu pojawia sie SEARCHING i słychać takie pyknięcie w liczniku) pojawia się wartość, wpisuję drugi raz znowu pojawia się naglę słychać ponownie pyknięcie w liczniku i przy próbie uzyskania odpowiedzi na 010C już dostaję odpowiedź NO DATA. I tak za każdym razem. U kolegi w golfie wszystko działa, u wujka w mercedesie również. Próbowałem już komend ATZ, ATSP0, ATDP, ATSTFF i ciągle to samo, przy pierwszym połączeniu słychać to "pyknięcie" i działa później ponownie i już NO DATA. Tak jakby ten ostatni dźwięk blokował przesył danych. Dodam, że poprzez KKL(VCDS) wszystko działa. Licznik to jakaś rzeźba w tym samochodzie - najprawdopodobniej Anglik z wsadzonymi tarczami od EU bo ikonki są przestawione(podświetlenie). Nie sądzę by było to spowodować licznikiem ale wolałem to napisać
    Czy spotkał się ktoś z was z takim problemem i wie jak sobie z tym poradzić? Niestety passat to jedyny samochód na którym mogę ją testować ile chce(zabrać auto komuś z rodziny czy znajomym na kilka dni jest nikomu nie na ręke...).
    Niestety kostka jest na chińskim ELM 1.5v .. mimo zapłacenia za nią nie małej kwoty okazało się ze jest to chińczyk -.-
REKLAMA