Okos otthon is fókuszban

Arduino kalandok

Arduino kalandok

Autó okosítás - ELM327 inicializálás - part 3

2019. december 13. - denx

Szóval odáig jutottam az előző részben, hogy sikerült megbízhatóan kapcsolódnom az ESP32-vel a BT CAN adapterhez, majd mintha közvetlenül azzal beszélgetnék tudok kiadni parancsokat neki amire látom mit válaszol. Nézzük hogyan is kell a projekthez inicializálni az ELM327 alapú adaptert.

AT parancsok...

Ahogy azt már meséltem, mindennek az alapja a 80-90-es években divatos modemekhez kitalált AT parancskészlet. Ezek közül a következőkre van szükségem:

  • ATZ - ez alaphelyzetbe állítja az adaptert, hivatalos neve Reset.
  • ATE0 - ezzel lehet rávenni az adaptert, hogy minden parancsot először megismételjen (avagy ne), hivatalos neve Echo Off
  • ATH1 - megkérjük az adptert, hogy az érkező CAN üzenetkhez mindig először írja ki hogy kitől jött, hivatalos nevén Header On. (Később látni fogjuk ez miért fontos.)
  • ATSP6 - kiválasztjuk hogy milyen CAN protokoll kell nekünk, vagyis, hogy az autónk mit használ. A 6 valami olyasmit jelent, hogy 11 bites üzenetek jönnek és 500 kbaud lesz a tempó. (Tartozik ehhez valami ISO szám is, de azt lusta vagyok kikeresni.)

Ezekre az üzenetekre jellemzően egy "OK" kell legyen a válasz ha sikerült értelmeznie az adapternek. Ha valami értelmetlent küldünk neki, akkor "?" szokott visszajönni. Ez alól kivétel az "ATZ", mert ilyenkor kiírja hogy ki is ő, vagyis olyasmi jön válaszként, hogy "ELM327 v1.3a". Illetve amíg nem mondjuk meg neki, hogy ne echozzon, addig mindig visszaírja az utasításunkat is, majd utána jön a válasz.

Amit kifelejtettem, hogy minden utasítás után küldeni kell egy 13-as karaktert, vagyis őskori nevén "kocsi vissza" ASCII karaktert. cserébe minden válaszban is visszaüzeni ugyanezt nekünk.

...és a többi parancs

Természetesen ez nem teljesen egy modem, így vannak olyan utasítások is, amik nem AT-val kezdődnek, lássuk ezek közül nekem mire is van szükségem első körben:

  • STFAP XXX,FFF - ezzel mondjuk meg az adapternek, hogy az XXX hexa címről érkező üzeneteket továbbítsa nekünk. Meg lehet azt is mondani, hogy mindent küldjön tovább, de akkor annyira sok üzenet fog jönni, amiből meló kiszűrni azt a néhányat, amire szükségünk van. Ezt az üzenetet egymás után többször is ki lehet adni, ezzel megkérhetjük az adaptert, hogy több üzenettípust is továbbítson nekünk.
  • STM - bekapcsoljuk a monitorozást. Vagyis amit az előbb kértünk hogy szűrjön nekünk, azokat az üziket innentől kezdve ontani fogja ránk. Addig küldi az adatot, míg nem mondunk neki mást - egész pontosan addig, amíg nem küldünk legalább egy bármilyen karaktert neki (soremelés sem kell, de akár az is lehet a karakter).

Vannak még ezen kívül is utasítások, de ennyi kell az induláshoz.

Tudom hogy illene minden poszthoz képet raknom, hogy ne legyen annyire száraz, de ehhez mégis mit???

A bejegyzés trackback címe:

https://ardu.blog.hu/api/trackback/id/tr5315341218

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása