Stukanie w komputer pokładowy

6

Zastanawiam się nad wymianą panelu radiowego mojego samochodu na niestandardowe urządzenie Raspberry Pi, coś takiego jak to urządzenie .

Jednak jego użyteczność byłaby znacznie większa, gdybym mógł uzyskać informacje z komputera pokładowego wbudowanego w deskę rozdzielczą, w szczególności z natychmiastowego zużycia paliwa. Wraz z czujnikiem GPS możliwe byłoby analizowanie i optymalizowanie zużycia paliwa na kilometr przy różnych prędkościach i krajobrazach.

Jak trudne, jeśli w ogóle możliwe, byłoby czytanie tego rodzaju danych?

Petr Pudlák
źródło
Myślę, że odczytanie go z komputera pokładowego nie byłoby zbyt trudne, istnieją urządzenia HW, które mają współpracować z Pi.
Max
jak sugerowała jedna z odpowiedzi, ELM327 brzmi idealnie. (Szukaj takich, które twierdzą, że mają wersję 2.1. To chińskie podróbki, które mogą potencjalnie uszkodzić twój samochód) Jeśli używasz tabletu z Androidem zamiast Pi, co może być łatwiejsze? możesz użyć tej biblioteki do rozmowy z ELM327 przez Bluetooth github.com/pires/obd-java-api
Madushan
1
zauważ również, że ELM327 nie implementuje żadnych zabezpieczeń (poza dobrze znanym kodem PIN do parowania bluetooth), więc jeśli go użyjesz, strzeż się, że ktokolwiek w zasięgu, może potencjalnie połączyć się z nim i odczytać / zmienić parametry twojego samochodu. Zmiana niektórych parametrów OBD / ECU pojazdu szosowego stanowi naruszenie prawa.
Madushan
@Madushan Myślę, że z perspektywy bezpieczeństwa lepiej byłoby użyć kabla USB ODB <->.
Petr Pudlák
1
tak. Prawdopodobnie nie jest to ogromny problem, ponieważ niewielu ludzi chodzi w poszukiwaniu ELM327 podłączonych do przypadkowych samochodów i próbujących się z nimi połączyć. Dodatkowo pojazd musi mieć przynajmniej zasilanie ACC z kluczem przy zapłonie, aby port OBD2 działał. Ale coś, o czym należy pamiętać.
Madushan

Odpowiedzi:

6

Nie można łatwo „dotknąć” żadnego ECU / PCM. W zależności od roku, w którym znajduje się Twój pojazd, może to być prosty zestaw wskaźników analogowych, które możesz podłączyć do linii sygnałowej, ale musisz skonstruować sprzęt, aby przekonwertować sygnały na użyteczne dane.

Jeśli jest to nowszy pojazd, będziesz musiał poradzić sobie z protokołem canbus i to będzie bardzo trudne.

Najlepszym rozwiązaniem jest uzyskanie adaptera OBD2 (ob-board diagnostics II), który pozwoli na przechwycenie danych nadawanych przez ECU / PCM. To, co nadaje, to PID (identyfikatory programowalne). Na przykład PID to prędkość, obroty silnika, temperatura płynu chłodzącego silnik itp.

Aby uzyskać zużycie paliwa, musisz wykonać kilka obliczeń. Poziom paliwa / zużycie paliwa nie jest PID, który ECU / PCM często nadaje, nawet jeśli jest wyświetlany na desce rozdzielczej. Deska rozdzielcza / wskaźniki będą sterowane przez canbus, podczas gdy PID będą nadawane przy użyciu protokołu OBD2.

Za pomocą pi możesz podłączyć się do adaptera OBD2 (zdobądź jeden za ~ 30-90 USD amazon) za pośrednictwem bluetooth lub wifi, a następnie przeczytaj, jakie kiedykolwiek PID chcesz.

CAN bus https://en.wikipedia.org/wiki/CAN_bus

OBD2 Pierwsze kroki z OBD-II

Dodatkowo możesz po prostu dostać adapter obd2 i użyć telefonu / tabletu z Androidem i uruchomić Torque Pro, który zrobi wszystko, czego szukasz. Używam tego cały czas w swoich samochodach, gdy jestem na torze lub testuję modyfikacje. Wykona wszystkie obliczenia dotyczące zużycia paliwa / zużycia paliwa.

Oto zrzut ekranu, który wziąłem z Torque, czytając niektóre z dostępnych PID dla mojego samochodu.

wprowadź tutaj opis obrazu

DustinDavis
źródło
OBD brzmi dokładnie tak, jak potrzebuję. Spróbuję i zdam raport.
Petr Pudlák
5

Jeśli twój samochód ma port OBD2 / ODBII, jest to możliwe. Najprostszym sposobem byłoby użycie kabla typu ELM327 lub nawet adaptera bluetooth, aby zapewnić interfejs między pi a samochodem.

tallpaul
źródło
1
Należy pamiętać, że najnowszy Raspberry Pi 3 ma wbudowany interfejs Bluetooth, więc możesz potrzebować tylko adaptera BT OBD-II i niektórych programów.
TMN