Hallo zusammen,
da regelmäßig hier gefragt wird, wie der CAN-Bus in modernen Autos
angezapft wird - und ich dieses Thema zur Zeit angehe - schreibe ich
hier mal kurz zusammen wie ich vorgegangen bin.
Ausstattung
Ich habe ein LAWICEL CAN232 (hier aus dem Markt ;) und ein billiges
Bluetooth ELM327 OBD-Dongle von eBay. Zur tiefgreifenden Analyse eignet
sich der CAN232 besser, für nur mal kurz schauen ist das ELM327
vollkommen ausreichend.
Software
HTerm: Beide Geräte sind seriell ansprechbar, daher reicht ein gutes
Terminal fürs Erste.
CanHacker: Gutes, kleines Programm. Funktioniert nicht mit dem
OBD-Dongle.
CANviaUSB: Sieht gut aus, weiß aber noch nicht, ob es auch mit dem
CAN232 oder nur mit dem Nachfolger CANUSB arbeitet.
Erste Schritte
- PC an die OBD-Buchse verbinden (Bluetooth koppeln etc.)
- Terminal starten und verbinden (mein Bluetooth-Dongle verwendet
57600,8N1)
- Mit ATZ die Verbindung testen
- Dann den CAN-Bus auswählen mit ATSP 6 (11 Bit IDs, 500kBit/s)
- Falls OK kommt, klappt die Verbindung.
- Formatierung abschalten: ATCAF0
- Headers aktivieren: ATH1
- Mit ATMA (Monitor All) die vorbeirauschenden Packete anzeigen
- Da dabei der Buffer schnell vollläuft, mit dieser Sequenz filtern:
1 | ATSP6 - Connect CAN
|
2 | ATCAF0 - Format aus
|
3 | ATH1 - Headers
|
4 | ATMA - IDs finden
|
5 | ATCRA ID - Filter auf eine ID setzen
|
6 | ATMA - Mitlauschen
|
7 | ATAR - Filter löschen
|
Damit kann man schon einiges anfangen. Einfach die vorbeirauschenden
Nachrichten auf Änderungen prüfen und wenn diese reproduzierbar sind,
notieren.
Komfortabler ist das ganze mit dem CanHacker, bei dem nur die Verbindung
eingestellt werden muss und schon gehts los. Schön ist auch, dass das
Programm ein kleines Fenster mit einer Interpretation der Daten anzeigen
kann.
Bei Fragen: Einfach posten ;)
Grüße
Sascha
Zu guter Letzt, hier einige IDs vom MY2012 KIA RIO:
1 | ID
|
2 | 153
|
3 | 164
|
4 | 165
|
5 | 1.-3. Byte: Lenkwinkel
|
6 |
|
7 | 220
|
8 | 260
|
9 | 316
|
10 | 329
|
11 | 4. Byte: Bit 8: Kupplung gedrückt
|
12 | 5. Byte: 0A: Bremse, 09: Keine Bremse
|
13 | 6. Byte: Gaspedalstellung Poti 1
|
14 | 7. Byte: Gaspedalstellung Poti 2
|
15 |
|
16 | 350
|
17 | 2. Byte: 10: Klima aus
|
18 | 18: Klima an, A/C aus
|
19 | 1B: Klima an, A/C an
|
20 |
|
21 | 430
|
22 | 545
|
23 | 4. Byte: Licht-Status? (Bit 0-3) / Batteriespannung?
|
24 |
|
25 | 0A0
|
26 | 18F
|
27 | 1F1
|
28 | 2B0
|
29 | 1. Byte: Lenkwinkel
|
30 |
|
31 | 4F0
|