Gedankenspiel CAN-Bus

ks_duck

Dacianer-Anwärter
Beiträge
11
Fahrzeug
Sandero
Modell
Basis
Motor
SCE65
Hallo zusammen,

vor einigen Wochen, eher schon Monaten, hab ich begonnen mich mit einem für mich neuen Typ Mikrocontroller zu beschäftigen. Da ich in meinem neuen Job nicht mehr entwickle sondern nur noch "manage", brauche ich einfach etwas kreatives. Außerdem vermisst man als Softwareentwickler dann doch das programmieren.

Und für ein Lernfeld brauche ich persönlich auch immer ein gewisses Lernziel. Und sei es theoretisch. Ich kam relativ schnell auf den CAN-Bus in meinem Auto, den man mit diesen Mikrocontroller problemlos abhören und somit grafisch schön zusätzliche Informationen darstellen könnte. Natürlich sieht das in meinem Kopf schon total schick aus. Ist ja klar. :-)

Auf jeden Fall bin ich recht schnell an den Punkt gestoßen, an dem ich mit der Geschwindigkeit und Informationsknappheit der OBD-II Schnittstelle an gewisse Grenzen gestoßen bin. Und ja ich bin mir allen technischen Risiken bewusst die entstehen könnten, weswegen es bereits Sicherheitsmechanismen gibt die z.B. ein versehentliches senden (was ja eh nicht passiert, solange ich es nicht programmiere) von Datenpaketen unterbinden.

So viel erstmal zu meinem groben Ist-Zustand. Jetzt zu meinem rein theoretischen Gedankenspiel:
Der OBD-II Port gibt Informationen nur nach Anfrage zurück, was die mögliche Geschwindigkeit der Anzeigen stark einschränkt. Auch gibt das Sicherheits-Gateway nur einen bestimmten Satz an Daten zurück. Wie z.B. Drehzahl, Geschwindigkeit etc.

Wurde man sich direkt an die CAN-Bus Leitungen hängen, was theoretisch absolut ungefährlich ist, würde man mit einem Schlag alles mitlesen können was darüber läuft.

Weiß jemand von euch ob am 40-poligen Stecker der Tachoeinheit des Dacia Sandero III (Bj. 2023) der CAN-Bus ankommt?
Eigentlich müsste er es, aber bevor ich mir jetzt die Mühe mache und den Tacho ausbaue um selbst nachzusehen, wollte ich mal hier fragen.

Es geht mir nur darum die theoretischen Fragen aus meinem Kopf zu bekommen, die leider immer schnell ausufern. Das ging jetzt schon soweit das ich von diesem Stecker einmal einen belegbaren Stecker und eine Buchse gesucht und gefunden habe, um einen Adapter zu bauen, den ich zwischen Tacho und original Stecker bauen kann. Um halt nichts kaputt zu schneiden o.ä.

Puh... ich weiß: es ist ein wenig seltsam und man mag sich fragen "Warum?" oder "Wofür?". Es geht um den Spaß an der Sache, am neuen.

:-)
 
Üblicherweise sind im Fahrzeug mehrere Bussysteme vorhanden, die alle am Gateway zusammen laufen, und dann zur Diagnose-Buchse auf verschiedenen Aderpaarungen ausgekoppelt werden. OBD2 für Motorsteuergerät, CAN für den Rest der verschiedenen Steuergeräte.
 
Üblicherweise sind im Fahrzeug mehrere Bussysteme vorhanden, die alle am Gateway zusammen laufen, und dann zur Diagnose-Buchse auf verschiedenen Aderpaarungen ausgekoppelt werden. OBD2 für Motorsteuergerät, CAN für den Rest der verschiedenen Steuergeräte.
Ja, es gibt üblicherweise einen Highspeed und einen Lowspeed Bus. Für halt kritische Daten und eher weniger wichtige Daten.
Da es mir ja um eben die Motordaten geht, sollten sie eigentlich an der Tachoeinheit ankommen.


Bei solchen Kommentaren frage ich mich immer: warum?!
 
Zuletzt bearbeitet von einem Moderator:
Warum eigentlich ausgerechnet am KI?
Mit einem CAN Sniffer ginge das doch eigentlich überall, wo der CAN anliegt. Bliebe nur noch die Entschlüsselung der CAN Botschaften, die alle auf dem Bus unterwegs sind.
 
Man sollte nur aufpassen, dass man die Stichleitung nicht zu lang wählt, sonst nimmt das der ganze CANBUS etwas übel. CAN möchte keine Sternverdrahtung, da muss alles terminiert werden.
 
Ich finde es total interessant was Du da vor hast, ich werde begeistert mitlesen als Mechatroniker interessieren mich vor allem Fehler in der Steuerung.

LG
Tom
 
Ich habe eine bessere Idee, entwickel was um das Gateway zu umgehen.

Auslesezeugs gibt's mehr als genug und auch am Sandero kann man viel machen bzw auslesen, trotz gesicherten Gateway.
 
Ne ne, nicht ich. Ich bin dazu zu blöd. Er soll was entwickeln. Ein Softwareentwickler mit viel Tagesfreizeit dürfte das wohl hin kriegen ;)

Sein anderes Projekt kann er begraben, da gibt es mehr als genug Zeugs. Ich kann ja mit mein Testern auch alles auslesen...
 
Mittels einem parallel dazugeschaltetem Ardurino und einem Sketches könnte man den Schreibschutz aufhebeln. Bei anderen Herstellern soll das geholfen haben.
 
Nun mit auslesen fängt man an, und wenn man es besser versteht kann man auch mal etwas "verbiegen" oder umgehen.
Man muss erst mal lernen wie das alles zusammenhängt.
 
Wie wäre es mit einem Beispiel? Man liest einen bestimmten PID aus, z.B. die Batterieladung und lässt diese auf einem Display anzeigen. Arduino und Raspberry hätte ich. Auch Displays dazu. Das CAN-Modul kann man sich dazu besorgen.
 
Man müsste den Inhalt der CAN Botschaften erstmal entschlüsseln. Da wird garantiert die Verifizierung mit übertragen. Damit das ganze auch überwacht wird, muss dann noch die Prüfsumme der übertragenen Informationen passen, sonst werden die Datenpakete mit Sicherheit abgewiesen.
 
Danke erstmal für die rege Beteiligung und die Antworten bisher.
Das es bereits dahingehend Lösungen gibt ist mir Bewusst. Zum Beispiel einen günstigen ELM327 Bluetooth Dongle und eine Handy-App. Aber mir geht es ja, wie gesagt, um den Spaß an der Sache. Andere bauen eine Modelleisenbahn im Keller, ich beschäftige mich so etwas :)
Ich habe eine bessere Idee, entwickel was um das Gateway zu umgehen.

Auslesezeugs gibt's mehr als genug und auch am Sandero kann man viel machen bzw auslesen, trotz gesicherten Gateway.
Das Gateway zu umgehen dürfte schwierig bis unmöglich werden. Nach meinem Kenntnisstand braucht man dafür Software-Zertifikate, welche man vom Hersteller selbst erhält, um sich gegen das Gateway zu authentifizieren. Daher suchte ich ja nach einem Weg die Nachrichten direkt mitzulesen.

Warum eigentlich ausgerechnet am KI?
Mit einem CAN Sniffer ginge das doch eigentlich überall, wo der CAN anliegt. Bliebe nur noch die Entschlüsselung der CAN Botschaften, die alle auf dem Bus unterwegs sind.
Das Kombiinstrument war für mich, ohne näher zu wissen wo im Sandero der CAN-Bus überall ankommt, die offensichtlichste Stelle.
Mir wurde jetzt aber mitgeteilt das es über der OBD-II Buchse unten links noch ein Steuergerät gibt, an das man ohne weiteres dran kommt. Das entschlüsseln der Botschaften ist ja, mit ein wenig Geduld, durchaus möglich. Und im Grunde auch eines der Dinge auf die ich mich am meisten freue :) Klingt komisch, ist aber so.

Mittels einem parallel dazugeschaltetem Ardurino und einem Sketches könnte man den Schreibschutz aufhebeln. Bei anderen Herstellern soll das geholfen haben.
Wie wäre es mit einem Beispiel? Man liest einen bestimmten PID aus, z.B. die Batterieladung und lässt diese auf einem Display anzeigen. Arduino und Raspberry hätte ich. Auch Displays dazu. Das CAN-Modul kann man sich dazu besorgen.
Ich selbst nutze keinen Arduino, sondern verschiedene ESP32.
Derzeit simuliere ich eine Hand voll CAN-Bus Nachrichten, um sie auf einem 7 Zoll Bildschirm rudimentär anzeigen zu lassen. Nur um das Prinzip für mich einmal darstellen zu können.

Hier mal ein Bild von meinem kleinen Versuchsaufbau:
1770475434209.webp
 
Das Gateway zu umgehen dürfte schwierig bis unmöglich werden. Nach meinem Kenntnisstand braucht man dafür Software-Zertifikate, welche man vom Hersteller selbst erhält, um sich gegen das Gateway zu authentifizieren. Daher suchte ich ja nach einem Weg die Nachrichten direkt mitzulesen.
Das wäre dann ja kein umgehen, sondern es legal freischalten ;)
Ich wette da gibt es was, die östlichen Nachbarn sind da vermutlich schon weiter.

Für den Sandero 3 zumindest gibt es ja ein Bypass-Kabel von maxiecu welches evtl nur mit deren Software funkioniert.
Mit anderen Geräten bzw Software hat es bisher niemend getestet.
 
Die Seite macht zumindest nicht den schlechtesten Eindruck.
 
Zurück
Oben