Schreiben von CAN-Nachrichten

Ich möchte wissen, was ich mit der CAN-ID schreiben soll, um sie an die ECU zu senden. Ich verwende ELM327 und Raspberry Pi mit allen Verbindungen zu OBD-II.

Ursprünglich habe ich zum Senden allgemeiner PIDs an das Steuergerät über ELM327 und Raspberry Pi „010C\r“ für PID 010C verwendet. Jetzt möchte ich wissen, was ich schreiben und an die EDU senden muss, damit eine CAN-ID/Nachricht an die ECU geschrieben werden kann?

Wie kann ich die CAN-Nachricht lesen?

Antworten (2)

Eine vollständige CAN-Nachricht besteht aus einer FRAME ID und einer MESSAGE. Sie müssen wahrscheinlich die CAN-Nachrichten zurückentwickeln , um herauszufinden, welche Nachricht Sie auf den Bus legen möchten. Die Antwort dort befasst sich auch mit dem Lesen von Nachrichten.

Was die spezifische Adressierung des Steuergeräts betrifft, sind Sie sich nicht sicher, wie Sie dies tun würden, ohne über die offizielle Dokumentation oder ein Reverse Engineering zu verfügen und eine Nachricht zu finden, die wirklich an das Steuergerät adressiert ist. CAN-Nachrichten bewirken sehr spezifische Dinge, daher würde ich vorsichtig sein, was Sie senden, wenn Sie nicht wissen, was Sie tun, da Sie das Fahrzeug ernsthaft beschädigen könnten. Abgesehen davon hat das Steuergerät wie jedes andere Gerät im Netzwerk eine CAN-ID, sodass es alles einliest, was an es adressiert wird.

Nur zu Ihrer Information, ein CAN-BUS ähnelt einem Mesh-Netzwerk oder einem Ethernet-Subnetz. Jedes Gerät sieht den gesamten Datenverkehr, reagiert jedoch nur auf Datenverkehr, der entweder speziell an ihn adressiert ist oder von einer bestimmten ID stammt.

Meine Empfehlung ist, dass Sie mit der Bosch CAN 2.0-Spezifikation beginnen und dann zu openXc übergehen. Wenn Sie Zugriff auf ein neueres Ford-Fahrzeug haben, erhalten Sie dort Details zur Nutzung einiger CAN-Schnittstellen.

Eine andere zu beachtende Sache ist, dass OBD ein Standard ist, die Implementierung von CAN jedoch nicht. Verschiedene Fahrzeuge haben CAN-Busse, die mit unterschiedlichen Pins am Stecker verdrahtet sind, und auch mehrere Busse.

Aber wie MD sagte, die meisten dieser Informationen zu den Bussen sind proprietär, und Sie müssen etwas Reverse Engineering durchführen.

Ich freue mich darauf, mehr von Ihren Fragen zu hören.

Noch ein Hinweis:
Sie senden keine Nachrichten an ein bestimmtes Steuergerät, sondern können an alle Module am Bus (oder alle Busse über ein Gateway) gesendet werden. Die Frage, die Sie wirklich beantworten müssen, ist, auf welche Nachrichten das Partikel-Steuergerät wartet.

BOSCH-CAN-SPEZIFIKATION: http://esd.cs.ucr.edu/webres/can20.pdf

developer.ford.com https://developer.ford.com/pages/openxc