1. Startseite
  2. Forum
  3. Auto
  4. Audi
  5. A3
  6. A3 8P
  7. CAN-Bus Ids und Nachrichten beim A3 (8P)

CAN-Bus Ids und Nachrichten beim A3 (8P)

Audi A3 8P
Themenstarteram 28. August 2015 um 22:37

Hi,

bevor ich die eigentliche Frage stelle, kurze Vorabinfo:

Ich bin vor kurzem angefangen, den Komfort-CAN am Radio abzuzapfen. Mein Plan ist es, die Knöpfe am Multifunktionslenkrad abzufangen und an mein Handy weiterzuleiten. Der Grund dafür ist, dass ich bereits mithilfe eines Bluetooth-Sticks und dem AUX-Eingang meines Autos Musik vom Handy zum Auto streamen kann. Jedoch funktionieren dann logischerweise die Lenkradknöpfe nicht mehr.

Leider hab / hatte ich äußerst wenig Ahnung von Fahrzeugelektronik allgemein und insb. vom CAN-Bus. Insbesondere auch aufgrund des Mangels an Informationen im Internet.

Nichtsdestotrotz habe ich es geschafft und würde mein Wissen kurz teilen (zumindestens die wichtigsten Erkenntnise, die ich so erstmal nicht im Internet gefunden habe):

Benötigte Teile um Informationen zum Handy zu schicken:

- Arduino Nano bildet die Basis, der Mikrocontroller verarbeitet die CAN-Messages und sendet entsprechende Informationen via Bluetooth

- MCP2515 (Gibts bei aliexpress oder so schon als fertige Platine, inkl. Transceiver. Meistens wird da son NXP-irgendwas verwendet)

- HC-06 Bluetooth-Modul zur Übertragung zum Handy

Software:

- CAN-Library von Seeed Studio funktioniert bei mir gut (für den MCP2515). Die verkaufen auch ihren eigenen CAN-Chip, ist aber eher teuer..

Erkenntnisse:

- Komfort-Can läuft auf 200kbit/s, hab immer was von 100 gelesen und hat mir echt den letzten Nerv geraubt, bis ich das herausgefunden habe

- Can-Ids:

- 5c3: Von dieser ID werden die Lenkradknöpfe gesendet. Die Nachrichten sind wie folgt aufgebaut: "39 0c" beispielsweise: 39: Modus, also sprich Radio/Aux oder das Telefonbuch im FIS, "0c": Status, welcher Knopf betätigt wurde, in diesem Fall ist es das Herunterscrollen. Wichtig ist hierbei: Das STG sendet durchgehend "39 00" wenn nichts betätigt ist

- 351: Hiervon werden (glaube ich, muss ich nochmal besser untersuchen) Geschwindigkeit und evtl. Drehzahl x 10 übertragen. Wollte ich morgen nochmal genauer prüfen.

JETZT ENDLICH zu meiner eigentlichen Frage:

Da ich auch gerne weitergehen möchte, würde mich mal interessieren, was so alles auf dem Komfort-Can gesendet wird. Wie ihr seht, bin ich mit meiner Analyse nicht weit gekommen bisher.

Welche Ids kennt ihr so und wie ist der Aufbau der Nachrichten? Oder gibt es irgendwo eine Quelle wo man das nachschauen kann? Bei Google finde ich immer nur sehr spärliche Informationen, die zumeist auch veraltet und unbrauchbar sind...

PS: Den Informationen zufolge, die ich im Internet gefunden habe, gibt es nicht viele Interessierte im Bereich CAN. Falls ich mich jedoch täusche und jemand mal genauere Informationen wünscht, mit Bildern und so und wie genau, würde ich mich bereit erklären, mein Projekt und dessen Verlauf in einem eigenen Thread zu beschreiben.

 

Danke

Gruß Timo

Beste Antwort im Thema
Themenstarteram 3. Oktober 2015 um 22:46

So, war mal etwas fleißig und hab nen GitHub Repo angelegt. Dort findet ihr Quellcode + Anleitungen (im Wiki). Dort werde ich wahrscheinlich auch den Großteil meiner Infos reinschreiben. Habe das Ganze mal als "Was ich gelernt habe"-Projekt aufgezogen. Wie ich dort auch erwähne, könnt ihr das, falls Interesse besteht, so nachbauen, ist aber mit Arbeit verbunden :D. Im Wiki werde ich dann auch einzelne Seiten für Troubleshooting und Details, wie bspw. CAN-Ids und was ich so rausgefunden habe, anlegen. Wenn ich denn dann Zeit finde...

Achja, hier der Link: https://github.com/timothy3001/AudiCanControl

Der Android-Quellcode kommt noch. Das Blöde ist, dass ich das ganze ja eher als privates Projekt angefangen habe. Habe mir daher auch tolle Audi Icons und so gebastelt, damits schön anzusehen ist. Bin mir aber noch nicht sicher inwiefern ich das veröffentlichen darf und so :/ Ich weise aber explizit draufhin, dass es sich um nichts offizielles handelt, hoffe das reicht...

Gruß Timo

28 weitere Antworten
Ähnliche Themen
28 Antworten
am 29. August 2015 um 7:38

schlau, schlau!

Hab auch schon viel gesucht und nichts gefunden.

Technisch kann ich dir leider nicht weiterhelfen.

Aber über den CAN Bus wird so gut wie alles geschoben.

Mich persönlich würde eine komplette Bedienung übers MFL interessieren, also z:B. Heizung, Klima, Lüftung und ganz besonders die Bedienung der SD Karten im RNS-E.

Über den "Menü" Button am Lenkrad sollte man doch diverse Menüs aufrufen können in denen man dann navigieren kann.

Es muss doch eigentlich "nur" programmiert werden, es fehlt also ein kompetenter Programmierer.

Und danke, dass du schon mal angefangen hast, hoffentlich schläft das Projekt nicht ein.

Themenstarteram 31. August 2015 um 18:35

ja eigentlich bin ich von Beruf Entwickler, nur leider in der Anwendungsentwicklung. Mit Microcontrollern kenne ich mich nicht so gut aus. Trotzdem komme ich ganz gut voran und aus dem Projekt wird langsam was nützliches.

Bin jetzt auch schon soweit, dass ich die erste Zeile des FIS beschreiben kann. Das Blöde ist nur, dass auch das Radio Informationen dorthin sendet. Daher muss man quasi direkt nachdem das Radio gesendet hat seine eigene Nachricht hinterherschicken um die vom Radio zu überschreiben. Klappte bei mir aber ganz gut und nach anfänglichen kleineren Timingproblemen ist das Ganze schon langsam zu gebrauchen.

Für die, die es interessiert: Die Id dazu ist die 363. Anschließend müssen glaube ich volle 8 Byte Daten gesendet werden. Die Zeichen, die gesendet werden können, findet ihr hier z.B. http://martinsuniverse.de/projekte/audiohplayer/fiszeichen.html . Der Ausdruck "54 49 4d 4f 20 20 20 20" mit der ID 363 (in hex natürlich) bspw. (also die 8 Byte auch in HEX-Format) würden TIMO auf das FIS schreiben.

Ich finde deine Ergebnisse und dein Projekt interessant, ich lese hier nur mit aber halte uns auf den laufenden.

weiter so.

Themenstarteram 15. September 2015 um 20:45

Hi,

hatte in letzter Zeit leider wenig Zeitweiterzumachen.

Auch wenn es für die meisten eher uninteressant ist, trotzdem kurz die Info, dass ich einen kleinen Android Service geschrieben habe, um auf die Tasten am Lenkrad zu reagieren. Sprich der Mikrocontroller erkennt die Taste / das Drehrad und schickt daraufhin einen Befehl über Bluetooth ans Handy, auf den der Android Service reagiert. Ich kann jetzt also immerhin schonmal Spotify weiter, zurückschalten oder pausieren / abspielen.

Das Gute ist, dass dies sogar ziemlich flott funktioniert, also ohne große Verzögerungen. Somit scheint das Konzept mit dem Bluetoothmodul + Arduino + Can-Controller echt gut zu funktionieren. Dabei sei noch gesagt, dass, zu mindestens bzgl. des Quellcodes auf dem Arduino, noch einiges an Verbesserungspotential besteht. War dort eher etwas faul und wollte es nur zum Funktionieren bringen.

Der Android Service bzw. die App werde ich, je nach Sinnhaftigkeit, noch erweitern, weiß nur noch nicht, was da noch so alles kommt :D

Als Nächstes steht jedoch erst mal die Titelanzeige im FIS an, sollte aber nicht mehr allzu viel Aufwand sein. Das wahrscheinlich Schwierigste wird das Bauen eines gescheiten Lauftextes sein :D.

Danach, vielleicht eher interessant für euch, wollte ich mich einem gescheiten Analysetool widmen. Da denke ich insbesondere ans Live-Filtern, sodass ich beispielsweise erstmal ein wenig mitschneiden lasse und dann sage "ok, zeige mir ab jetzt nur noch neue Nachrichten an, die es bisher noch nicht gab" oder sowas wie "zeige mir nur noch Nachrichten mit neuen IDs an".

Das wars erstmal von meiner Seite :)

PS: Falls jemand Interesse an Quelltexten oder so hat, egal ob Android oder Arduino, einfach PM an mich. Jedoch tut es lediglich und ist noch nicht schön :D

Gruß Timo

am 16. September 2015 um 7:04

danke für die Infos, bleib bitte am Ball!

Themenstarteram 3. Oktober 2015 um 22:46

So, war mal etwas fleißig und hab nen GitHub Repo angelegt. Dort findet ihr Quellcode + Anleitungen (im Wiki). Dort werde ich wahrscheinlich auch den Großteil meiner Infos reinschreiben. Habe das Ganze mal als "Was ich gelernt habe"-Projekt aufgezogen. Wie ich dort auch erwähne, könnt ihr das, falls Interesse besteht, so nachbauen, ist aber mit Arbeit verbunden :D. Im Wiki werde ich dann auch einzelne Seiten für Troubleshooting und Details, wie bspw. CAN-Ids und was ich so rausgefunden habe, anlegen. Wenn ich denn dann Zeit finde...

Achja, hier der Link: https://github.com/timothy3001/AudiCanControl

Der Android-Quellcode kommt noch. Das Blöde ist, dass ich das ganze ja eher als privates Projekt angefangen habe. Habe mir daher auch tolle Audi Icons und so gebastelt, damits schön anzusehen ist. Bin mir aber noch nicht sicher inwiefern ich das veröffentlichen darf und so :/ Ich weise aber explizit draufhin, dass es sich um nichts offizielles handelt, hoffe das reicht...

Gruß Timo

Hast noch was erreicht ? Hatte das damals auch schonmal selber probiert allerdings klappte da schon die Verbindung zwischen CAN-Bus und Arduino nicht und habs dann liegen gelassen

Themenstarteram 18. Dezember 2015 um 17:00

Mhmmm... also die wohl typischste Fehlerursache ist natürlich die Verkabelung, die du ja denke ich gecheckt hast.

Wie ich gerade gemerkt habe, habe ich wohl vergessen zu erwähnen, wo ich eigentlich den Komfort- oder Infotainment-CAN oder wie er heißt anzapfe.

Wenn ich es richtig verstanden habe, ist der typisch Weg der OBD2 Stecker. An dem kommt ja ein CAN-BUS an, der zu einem Gateway läuft, an wellchem alle 3 CAN-Busse vom Auto ankommen. Doch ich meine, dass man mit diesem Gateway kommunizieren muss, damit man überhaupt Nachrichten mitschneiden, bzw. senden kann. Dies ist wahrscheinlich der elegantere Weg, wenn auch kompliziert.

Ich hab mich aber dazu entschieden, mich direkt am Radio einzuklinken. Da ist hinten sogar ein Sticker drauf, der die Belegung der Kabel angibt. Unter anderem stehen dort dann auch die CAN-Leitungen CAN-H und CAN-L notiert.

Naja, da ich möglichst wenig am eigentlichen Auto verändern wollte, habe ich einfach zwei Kabel an den Stecker gefummelt und mit in die Anschlüsse am Radio gedrückt, ist ein wenig schwer zu erklären. Ist auch wahrscheinlich so das Schlimmste was man machen kann, aber bisher keine Probleme.

Ansonsten käme bei dir vielleicht auch das Thema Baudrate in Frage. Am besten du probierst alle einfach mal durch und schaust, obs das war.

Und natürlich sollte die Zündung eingeschaltet sein, da sonst unter Umständen nichts los ist auf dem CAN-Bus.

Ansonsten, was für einen CAN-Adapter und welche Library und so hast du denn verwendet?

Habe mich die letzten Tage nochmal damit beschäftigt und es heute zum laufen gebracht.

Habe den Komfort-Can am Quadlock-Stecker des Radios/Navi abgezapft. Entgegen deiner Beschreibung im ersten Post läuft bei mir der Komfort-Can tatsächlich mit 100er Baudrate und nicht mit 200 wie bei dir. Liegt vielleicht am Baujahr.

Liegt am Radio/Navi nicht der Infotainment Can ?

Das kann natürlich auch sein, steht auf den Kabeln leider nicht drauf.

Jup da liegt der infotainment can an.

Wo kommt man denn leicht an den Komfort-Can ran?

Leicht ist gut:-)

Am Klima sollte Komfort Anliegen wie auch türsteuergeräte und natürlich Gateway und bordnetzsteuergerät.

Deine Antwort
Ähnliche Themen