CAN-Hacking (war: OBD2 - ELM327 - Linux)
-
- 500 kW - overdrive
- Beiträge: 1396
- Registriert: 7. Aug 2011 13:16
- Wohnort: Sulzburg-Laufen, Markgräflerland
- Kontaktdaten:
Re: OBD2 - ELM327 - Linux
HIer schonmal eine zeitliche Abfolge der 5E9 -> 5EC - Sequenzen. zuerst wird wohl 00 geschickt, dann antwortet der 5EC mit 00.
Ich habe im DashDAQ folgende Felder angelegt: Ladegerät Strom und Spannung, Batterietemperatur, Außentemperatur ungefiltert und gefiltert. 5 Werte. Das deckt sich fast mit den Werten in 5EC.. wir sind dicht dran.
34,592 5E9 8 00 00 00 00 00 00 00 00
34,804 5EC 8 00 00 00 00 00 00 00 00
35,018 5E9 8 FE 00 00 00 00 00 00 00
35,045 5E9 8 FE 00 00 00 00 00 00 00
35,072 5E9 8 FE 00 00 00 00 00 00 00
35,099 5E9 8 FE 00 00 00 00 00 00 00
35,117 5EC 8 FE 34 48 6E 63 60 00 00
35,126 5E9 8 FE 00 00 00 00 00 00 00
35,154 5E9 8 FE 00 00 00 00 00 00 00
35,171 5EC 8 FE 34 48 6E 63 60 00 00
35,180 5E9 8 FE 00 00 00 00 00 00 00
35,207 5E9 8 FE 00 00 00 00 00 00 00
35,226 5EC 8 FE 34 48 6E 63 60 00 00
35,234 5E9 8 FE 00 00 00 00 00 00 00
35,261 5E9 8 FE 00 00 00 00 00 00 00
35,279 5EC 8 FE 34 48 6E 63 60 00 00
35,288 5E9 8 FE 00 00 00 00 00 00 00
35,315 5E9 8 FE 00 00 00 00 00 00 00
35,334 5EC 8 FE 34 49 6E 63 60 00 00
35,343 5E9 8 FE 00 00 00 00 00 00 00
35,369 5E9 8 FE 00 00 00 00 00 00 00
35,388 5EC 8 FE 34 49 6E 63 60 00 00
....
Ich habe im DashDAQ folgende Felder angelegt: Ladegerät Strom und Spannung, Batterietemperatur, Außentemperatur ungefiltert und gefiltert. 5 Werte. Das deckt sich fast mit den Werten in 5EC.. wir sind dicht dran.
34,592 5E9 8 00 00 00 00 00 00 00 00
34,804 5EC 8 00 00 00 00 00 00 00 00
35,018 5E9 8 FE 00 00 00 00 00 00 00
35,045 5E9 8 FE 00 00 00 00 00 00 00
35,072 5E9 8 FE 00 00 00 00 00 00 00
35,099 5E9 8 FE 00 00 00 00 00 00 00
35,117 5EC 8 FE 34 48 6E 63 60 00 00
35,126 5E9 8 FE 00 00 00 00 00 00 00
35,154 5E9 8 FE 00 00 00 00 00 00 00
35,171 5EC 8 FE 34 48 6E 63 60 00 00
35,180 5E9 8 FE 00 00 00 00 00 00 00
35,207 5E9 8 FE 00 00 00 00 00 00 00
35,226 5EC 8 FE 34 48 6E 63 60 00 00
35,234 5E9 8 FE 00 00 00 00 00 00 00
35,261 5E9 8 FE 00 00 00 00 00 00 00
35,279 5EC 8 FE 34 48 6E 63 60 00 00
35,288 5E9 8 FE 00 00 00 00 00 00 00
35,315 5E9 8 FE 00 00 00 00 00 00 00
35,334 5EC 8 FE 34 49 6E 63 60 00 00
35,343 5E9 8 FE 00 00 00 00 00 00 00
35,369 5E9 8 FE 00 00 00 00 00 00 00
35,388 5EC 8 FE 34 49 6E 63 60 00 00
....
-
- 500 kW - overdrive
- Beiträge: 1396
- Registriert: 7. Aug 2011 13:16
- Wohnort: Sulzburg-Laufen, Markgräflerland
- Kontaktdaten:
Re: OBD2 - ELM327 - Linux
Das sind die Codes, die nur dann kommen, wenn der DashDAQ dranhängt:
101
5e8,5e9,5ea,5eb,5ec,5ed,5ef
7df,7e0,7e1,7e2,7e3
7e5,7e7
7e9,7ea,7eb
7ed,7ef
Anbei das Logfile mit ausschließlich diesen Codes in zeitlicher Abfolge, wenn das DashDAQ mit den 5 angezeigten Feldern im Screen hochfährt (ab 44,393 Screenwechsel auf einen anderen Screen mit nur einem Wert )
und hier ein Logfile mit nur einem Feld Außentemperatur (Ergebnis in Byte 3 von 5EC ):
Das letztere ist mal weitaus übersichtlicher.
101
5e8,5e9,5ea,5eb,5ec,5ed,5ef
7df,7e0,7e1,7e2,7e3
7e5,7e7
7e9,7ea,7eb
7ed,7ef
Anbei das Logfile mit ausschließlich diesen Codes in zeitlicher Abfolge, wenn das DashDAQ mit den 5 angezeigten Feldern im Screen hochfährt (ab 44,393 Screenwechsel auf einen anderen Screen mit nur einem Wert )
und hier ein Logfile mit nur einem Feld Außentemperatur (Ergebnis in Byte 3 von 5EC ):
Das letztere ist mal weitaus übersichtlicher.
-
- 500 kW - overdrive
- Beiträge: 1396
- Registriert: 7. Aug 2011 13:16
- Wohnort: Sulzburg-Laufen, Markgräflerland
- Kontaktdaten:
Re: OBD2 - ELM327 - Linux
So, nun habe ich die Codes jetzt mal von Hand abgesetzt und geschaut, wo was zurückkam - das Ganze hat sich dann noch etwas anders sortiert:
Ich habe versucht, das ganze nachzustellen, indem ich als Eingabesequenz sämtliche obige Eingabecodes gesendet habe, um die Ausgaben nachzuziehen:
speichern als send.txl, laden mit Canhacker, File -> Load Tx List....
... es ging alles bis zu dieser Stelle:
7E4 8 21 80 1F 00 00 00 00 00
die dann die gewünschte Ausgabe in 7EC vermissen ließ.
7E4 8 03 AA 04 FE 00 00 00 00
lieferte dann nur noch ca. 160 mal das hier:
5EC 8 FE 00 00 00 00 00 00 00
aber der gewünschte Inhalt fehlte......weiß aber noch nicht, warum.
Code: Alles auswählen
21,952 7E0 8 02 01 00 00 00 00 00 00 Eingabe
21,958 7E8 8 06 41 00 BE 7F B8 13 AA Ausgabe
21,981 7DF 8 02 01 00 00 00 00 00 00 Eingabe
21,985 7E8 8 06 41 00 BE 7F B8 13 AA Ausgabe
21,986 7E9 8 06 41 00 80 00 00 01 AA
21,983 7EA 8 06 41 00 80 00 00 01 AA
21,982 7EB 8 06 41 00 80 40 00 01 AA
21,988 7EC 8 06 41 00 80 00 00 01 AA
22,003 7ED 8 06 41 00 00 00 00 01 AA
21,986 7EF 8 06 41 00 00 00 00 01 AA
22,328 7E0 8 02 AA 00 00 00 00 00 00 Eingabe
22,330 5E8 8 00 00 00 00 00 00 00 00 Ausgabe
22,392 7E1 8 02 AA 00 00 00 00 00 00 Eingabe
22,397 5E9 8 00 00 00 00 00 00 00 00 Ausgabe
22,456 7E2 8 02 AA 00 00 00 00 00 00 Eingabe
22,463 5EA 8 00 00 00 00 00 00 00 00 Ausgabe
22,522 7E3 8 02 AA 00 00 00 00 00 00 Eingabe
22,524 5EB 8 00 00 00 00 00 00 00 00 Ausgabe
22,587 7E4 8 02 AA 00 00 00 00 00 00 Eingabe
22,604 5EC 8 00 00 00 00 00 00 00 00 Ausgabe
22,651 7E5 8 02 AA 00 00 00 00 00 00 Eingabe
22,662 5ED 8 00 AA AA AA AA AA AA AA Ausgabe
22,716 7E7 8 02 AA 00 00 00 00 00 00 Eingabe
22,726 5EF 8 00 00 00 00 00 00 00 00 Ausgabe
22,781 7E4 8 10 08 2C FE 43 69 43 68 Eingabe
22,788 7EC 8 30 00 14 AA AA AA AA AA Ausgabe
22,789 7E4 8 21 80 1F 00 00 00 00 00 Eingabe
22,800 7EC 8 02 6C FE AA AA AA AA AA Ausgabe
(22,817 101 8 FE 01 3E 00 00 00 00 00 Eingabe?)
22,820 7E4 8 03 AA 04 FE 00 00 00 00 EIngabe
22,864 5EC 8 FE 14 71 60 00 00 00 00 Ausgabe
22,897 5EC 8 FE 14 71 60 00 00 00 00
22,928 5EC 8 FE 14 71 60 00 00 00 00
22,961 5EC 8 FE 14 71 60 00 00 00 00
22,994 5EC 8 FE 14 71 60 00 00 00 00
23,027 5EC 8 FE 14 71 60 00 00 00 00
23,058 5EC 8 FE 14 71 60 00 00 00 00
23,090 5EC 8 FE 14 71 60 00 00 00 00
23,123 5EC 8 FE 14 71 60 00 00 00 00
23,158 5EC 8 FE 14 71 60 00 00 00 00
23,189 5EC 8 FE 14 71 60 00 00 00 00
23,221 5EC 8 FE 14 71 60 00 00 00 00
23,253 5EC 8 FE 14 71 60 00 00 00 00
23,285 5EC 8 FE 14 71 60 00 00 00 00
Code: Alles auswählen
[TxList]
Message0Id=7E0
Message0DLC=8
Message0Data=02 01 00 00 00 00 00 00
Message0Period=0
Message0Comment=
Message0Mode=off
Message0TriggerId=
Message1Id=7DF
Message1DLC=8
Message1Data=02 01 00 00 00 00 00 00
Message1Period=0
Message1Comment=
Message1Mode=off
Message1TriggerId=
Message2Id=7E0
Message2DLC=8
Message2Data=02 AA 00 00 00 00 00 00
Message2Period=0
Message2Comment=
Message2Mode=off
Message2TriggerId=
Message3Id=7E1
Message3DLC=8
Message3Data=02 AA 00 00 00 00 00 00
Message3Period=0
Message3Comment=
Message3Mode=off
Message3TriggerId=
Message4Id=7E2
Message4DLC=8
Message4Data=02 AA 00 00 00 00 00 00
Message4Period=0
Message4Comment=
Message4Mode=off
Message4TriggerId=
Message5Id=7E3
Message5DLC=8
Message5Data=02 AA 00 00 00 00 00 00
Message5Period=0
Message5Comment=
Message5Mode=off
Message5TriggerId=
Message6Id=7E4
Message6DLC=8
Message6Data=02 AA 00 00 00 00 00 00
Message6Period=0
Message6Comment=
Message6Mode=off
Message6TriggerId=
Message7Id=7E5
Message7DLC=8
Message7Data=02 AA 00 00 00 00 00 00
Message7Period=0
Message7Comment=
Message7Mode=off
Message7TriggerId=
Message8Id=7E7
Message8DLC=8
Message8Data=02 AA 00 00 00 00 00 00
Message8Period=0
Message8Comment=
Message8Mode=off
Message8TriggerId=
Message9Id=7E4
Message9DLC=8
Message9Data=10 08 2C FE 43 69 43 68
Message9Period=0
Message9Comment=
Message9Mode=off
Message9TriggerId=
Message10Id=7E4
Message10DLC=8
Message10Data=21 80 1F 00 00 00 00 00
Message10Period=0
Message10Comment=
Message10Mode=off
Message10TriggerId=
Message11Id=7E4
Message11DLC=8
Message11Data=03 AA 04 FE 00 00 00 00
Message11Period=0
Message11Comment=
Message11Mode=off
Message11TriggerId=
Message12Id=-1
... es ging alles bis zu dieser Stelle:
7E4 8 21 80 1F 00 00 00 00 00
die dann die gewünschte Ausgabe in 7EC vermissen ließ.
7E4 8 03 AA 04 FE 00 00 00 00
lieferte dann nur noch ca. 160 mal das hier:
5EC 8 FE 00 00 00 00 00 00 00
aber der gewünschte Inhalt fehlte......weiß aber noch nicht, warum.
-
- 500 kW - overdrive
- Beiträge: 1396
- Registriert: 7. Aug 2011 13:16
- Wohnort: Sulzburg-Laufen, Markgräflerland
- Kontaktdaten:
Re: OBD2 - ELM327 - Linux
Das Zeug kommt mir auch elend bekannt vor:
http://www.canbushack.com/blog/index.php
da wart ihr doch auch schon dran....
Ich glaube wir sind der Sache schon ziemlich auf der Spur.
http://www.canbushack.com/blog/index.php
da wart ihr doch auch schon dran....
Ich glaube wir sind der Sache schon ziemlich auf der Spur.
-
- 500 kW - overdrive
- Beiträge: 1396
- Registriert: 7. Aug 2011 13:16
- Wohnort: Sulzburg-Laufen, Markgräflerland
- Kontaktdaten:
Re: CAN-Hacking (war: OBD2 - ELM327 - Linux)
ich habe eben vier Sequenzen für vier einzelne Felder auf je einem DashDAQ-Screen aus den Logs extrahiert und habe wohl den Code gefunden, der die Ausgabe in 5ec konfiguriert. Ich poste das nachher alles mal rein.
-
- 500 kW - overdrive
- Beiträge: 1396
- Registriert: 7. Aug 2011 13:16
- Wohnort: Sulzburg-Laufen, Markgräflerland
- Kontaktdaten:
Re: CAN-Hacking (war: OBD2 - ELM327 - Linux)
Also, ich habs raus, wie der DashDAQ seine Werte anfordert!
Anhand der Felder für Ladestrom und -spannung schreibt und liest der DashDAQ folgendes:
Byte 2+3 enthalten dann die beiden Werte (0 deshalb, weil er hier nicht angesteckt war)
Das habe ich auch ohne DashDAQ nachstellen können. Am Ladekabel hängend lieferte 5EC dann auch brav:
Außentemperatur müsste so gehen (die zweite EIngabe nimmt er nicht, wahrscheinlich müssen Eingabe 1 und 2 ganz schnell hintereinander gesendet werden):
Anhand der Felder für Ladestrom und -spannung schreibt und liest der DashDAQ folgendes:
Code: Alles auswählen
49,547 7E4 8 06 2C FE 43 69 43 68 00 (Eingabe: Konfiguration für Anforderung Ladestrom/Spannung)
49,557 7EC 8 02 6C FE AA AA AA AA AA (Ausgabe, OK oder so)
49,563 7E4 8 03 AA 04 FE 00 00 00 00 (Eingabe)
49,589 5EC 8 FE 00 00 00 00 00 00 00 (Ergebnis mit Werten, ca. 160 mal)
Das habe ich auch ohne DashDAQ nachstellen können. Am Ladekabel hängend lieferte 5EC dann auch brav:
Code: Alles auswählen
5EC 8 FE 43 70 00 00 00 00 00
Code: Alles auswählen
27,761 7E4 8 10 08 2C FE 43 69 43 68 (Eingabe 1)
27,763 7EC 8 30 00 14 AA AA AA AA AA (OK?)
27,764 7E4 8 21 80 1F 00 00 00 00 00 (Eingabe 2)
27,777 7EC 8 02 6C FE AA AA AA AA AA (OK?)
27,796 7E4 8 03 AA 04 FE 00 00 00 00 (Eingabe 3, Anforderung der Werte)
27,840 5EC 8 FE 00 00 5B 00 00 00 00 Ergebnis wird ca. 160 mal geliefert, hier: 0x5B in Byte 3.
-
- 111 kW - voll elektrisch
- Beiträge: 458
- Registriert: 23. Sep 2011 18:35
- Wohnort: Kaiserslautern
- Kontaktdaten:
Re: CAN-Hacking (war: OBD2 - ELM327 - Linux)
Hi,
funktioniert!
@Tachy: wir beginnen bei 0 (Null) zu zählen.
Die '8' ist ja auch kein Datenbyte, sondern gibt die Anzahl der folgenden Bytes an.
Ich habe da diese beiden Befehle direkt hintereinander gesendet (abstand 10ms):
und dann mit
Diese Werte bekommen:
Das ergibt dann:
Das sieht doch schon mal gut aus.
Wobei mich die 222V stören. Ich hab an der Steckdose 230V. Wo verschwinden die 8V? Ich glaub eher das evtl. auch noch ein Offset dazu kommt. Wie bei der Temperatur.
Strom und Temperatur stimmen soweit.
Ich werds mal zu mark schicken. Mal sehn wie man das so eingebaut bekommt.
Bye
mikeljo
funktioniert!
Wobei es sich um Byte 1 (Ladestrom * 0,2) und Byte 2 (Ladespannung * 2) handelt.Tachy hat geschrieben:Code: Alles auswählen
7E4 8 06 2C FE 43 69 43 68 00 (Eingabe: Konfiguration für Anforderung Ladestrom/Spannung) 7EC 8 02 6C FE AA AA AA AA AA (Ausgabe, OK oder so)
Code: Alles auswählen
7E4 8 03 AA 04 FE 00 00 00 00 (Eingabe) 5EC 8 FE 4A 6F 00 00 00 00 00 [Ausgabe 160mal]
@Tachy: wir beginnen bei 0 (Null) zu zählen.
Die '8' ist ja auch kein Datenbyte, sondern gibt die Anzahl der folgenden Bytes an.
Ich habe da diese beiden Befehle direkt hintereinander gesendet (abstand 10ms):
Code: Alles auswählen
7E4 8 10 08 2C FE 43 69 43 68
7E4 8 21 80 1F 00 00 00 00 00
Code: Alles auswählen
7E4 8 03 AA 04 FE 00 00 00 00
Code: Alles auswählen
5EC 8 FE 4A 6F 64 00 00 00 00
Code: Alles auswählen
Strom: 0x4A * 0,2 = 14,8A
Spannung: 0x6F * 2 = 222V
Temperatur: (0x64 / 2) - 40 = 10°C
Wobei mich die 222V stören. Ich hab an der Steckdose 230V. Wo verschwinden die 8V? Ich glaub eher das evtl. auch noch ein Offset dazu kommt. Wie bei der Temperatur.
Strom und Temperatur stimmen soweit.
Ich werds mal zu mark schicken. Mal sehn wie man das so eingebaut bekommt.
Bye
mikeljo
-
- 500 kW - overdrive
- Beiträge: 1396
- Registriert: 7. Aug 2011 13:16
- Wohnort: Sulzburg-Laufen, Markgräflerland
- Kontaktdaten:
Re: CAN-Hacking (war: OBD2 - ELM327 - Linux)
Hallo Michael,
welchen der beiden Kommandos hast Du denn jetzt als erstes gesendet?
7E4 8 06 2C FE 43 69 43 68 00 (fordert Strom/Spannung an)
7E4 8 10 08 2C FE 43 69 43 68 (fordert Außentemperatur an)
..wobei zum zweiten (Außentemperatur) ja noch:
7E4 8 21 80 1F 00 00 00 00 00
dazugehört...
Bin jetzt etwas verwirrt...
welchen der beiden Kommandos hast Du denn jetzt als erstes gesendet?
7E4 8 06 2C FE 43 69 43 68 00 (fordert Strom/Spannung an)
7E4 8 10 08 2C FE 43 69 43 68 (fordert Außentemperatur an)
..wobei zum zweiten (Außentemperatur) ja noch:
7E4 8 21 80 1F 00 00 00 00 00
dazugehört...
Bin jetzt etwas verwirrt...
-
- 500 kW - overdrive
- Beiträge: 1396
- Registriert: 7. Aug 2011 13:16
- Wohnort: Sulzburg-Laufen, Markgräflerland
- Kontaktdaten:
Re: CAN-Hacking (war: OBD2 - ELM327 - Linux)
Temperatur der Hochvolt-Batterie auslesen geht so:
@Michael, die Bytes zähle ich bei sowas immer ab 1, die Bits ab 0 RScott hat auch ab 1 gezählt.
..und hier die Temperatur des Kühlungskreislaufs für die Leistungselektronik:
15 °C (Byte 4 , 0x37, Einheit 1°C, Offset +40)
Code: Alles auswählen
30,918 7E4 8 10 08 2C FE 43 4F 43 69
30,923 7EC 8 30 00 14 AA AA AA AA AA
30,924 7E4 8 21 43 68 00 00 00 00 00
30,937 7EC 8 02 6C FE AA AA AA AA AA
30,953 7E4 8 03 AA 04 FE 00 00 00 00
30,989 5EC 8 FE 30 26 71 00 00 00 00 (Byte 2 ist es (0x30) => Einheit 1°C, Offset +40 => 8°C )
..und hier die Temperatur des Kühlungskreislaufs für die Leistungselektronik:
Code: Alles auswählen
08,360 7E4 8 10 08 2C FE 43 69 43 68
08,367 7EC 8 30 00 14 AA AA AA AA AA
08,367 7E4 8 21 1C 43 00 00 00 00 00
08,377 7EC 8 02 6C FE AA AA AA AA AA
08,396 7E4 8 03 AA 04 FE 00 00 00 00
08,431 5EC 8 FE 17 71 37 00 00 00 00
-
- 111 kW - voll elektrisch
- Beiträge: 458
- Registriert: 23. Sep 2011 18:35
- Wohnort: Kaiserslautern
- Kontaktdaten:
Re: CAN-Hacking (war: OBD2 - ELM327 - Linux)
Hi,
als erstes dies hier:
wenn dann das:
gesendet wird, kommt das:
zurück.
Dann habe ich diese beiden Befehle direkt hintereinander gesendet (abstand 10ms):
und dann mit
Diese Werte bekommen:
Bye
mikeljo
als erstes dies hier:
Code: Alles auswählen
7E4 8 06 2C FE 43 69 43 68 00
Code: Alles auswählen
7E4 8 03 AA 04 FE 00 00 00 00
Code: Alles auswählen
5EC 8 FE 4A 6F 00 00 00 00 00
Dann habe ich diese beiden Befehle direkt hintereinander gesendet (abstand 10ms):
Code: Alles auswählen
7E4 8 10 08 2C FE 43 69 43 68
7E4 8 21 80 1F 00 00 00 00 00
Code: Alles auswählen
7E4 8 03 AA 04 FE 00 00 00 00
Code: Alles auswählen
5EC 8 FE 4A 6F 64 00 00 00 00
mikeljo
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 17 Gäste