Ich habe ein paar Ideen, mit denen ich an meinem Auto spielen möchte. In meiner nicht vorhandenen Freizeit beschäftige ich mich mit einem Linux-CAN-Logger. Hat jemand in diesem Bereich gearbeitet und etwas zu teilen?
In meiner nicht vorhandenen Freizeit sind hier ein paar CAN-Tools, die ich gefunden habe:Ich habe ein paar Ideen, mit denen ich an meinem Auto spielen möchte. In all meiner nicht vorhandenen Freizeit beschäftige ich mich mit einem Linux-CAN-Logger. Hat jemand in diesem Bereich gearbeitet und etwas zu teilen?
Versuchen Sie stattdessen einen ESP32 mit Dual-Core-CPU, integriertem Wi-Fi/Bluetooth und OLED-Bildschirm. Die Marke Heltec ist günstig und in Ordnung, da sie mit OLED geliefert wird, aber Lolin D32 ist ein hochwertigeres, etwas leistungsfähigeres und leistungsfähigeres Chipsatz mit Flash-Speicheroption.So, es hat eine Weile gedauert, aber ich habe mich endlich dazu durchgerungen, die Header-Pins auf meinem Sparkfun CAN Shield zu löten.
CAN-BUS Shield - DEV-13262 - SparkFun Electronics
Diese Platine ist ein "Shield" (Erweiterungsplatine) für ein Arduino (Open-Source-Mikrocontroller) und ermöglicht es Ihnen, ein Arduino mit einem CAN-Bus zu verbinden. Je nach dem für das Arduino geschriebenen Programm kann es die CAN-Pakete (Signale) über den Bus des Autos protokollieren. Sobald eine große Datenmenge erhalten wurde, ist es etwas Arbeit, diese durchzugehen und zu interpretieren, was die Signale sind, für wen (welches Modul) sie bestimmt sind und was sie enthalten. Die meisten Leute wären erstaunt über die Datenmenge, die in ihrem Auto herumfliegt, wenn sie damit nicht vertraut sind.
Mein Ziel ist es, herauszufinden, welche Signale im Auto erzeugt werden, wenn bestimmte Tasten gedrückt werden. Wer weiß, vielleicht können wir damit etwas Cooles machen!
Außerdem möchte ich, sobald ich mit den Signalen vertraut bin und sie interpretiere, einen Teststand für die Drosselklappen- und Leerlaufaktuatoren bauen.
View attachment 208241
View attachment 208249
View attachment 208257
View attachment 208265
View attachment 208273
View attachment 208281
View attachment 208289
Hallo Jim,Also der erste Test verlief nicht so gut.
Anscheinend funktionieren das CAN-Shield und das Programm, das ich bekommen habe, nicht mit dem Arduino Mega. Das CAN-Shield hat einen Micro-SD-Steckplatz zur Protokollierung, aber die Pin-Konfiguration ist für das Mega Board unterschiedlich.
Also rannte ich zu Radio Shack und holte mir einen Arduino Uno für 29,99 $ und die Probleme waren gelöst... zumindest mit der SD-Karte.
Ich war aufgeregt und rannte zum Auto, um es anzuschließen und mit der Protokollierung zu beginnen. Und raten Sie mal? Pre-LCI E60s haben keine CAN-Signale am OBD-Anschluss...
Also muss ich jetzt einen einfachen Zugang finden, um den CAN-Bus anzuzapfen. Bisher denke ich an den Kofferraum am PDC-Modul. Ich könnte sogar das PDC-Modul aus der Reserveradmulde entfernen (angenommen, es ist dort auf den Ms, wie es auf den Nicht-Ms ist), wie es viele Bimmerforums-Leute getan haben, um die Möglichkeit eines Flüssigkeitsaustritts im Kofferraum zu vermeiden, der es überflutet.
Ich werde mehr posten, wenn ich es angeschlossen habe und einige Daten gesammelt habe.
Sehr interessanter Thread.Ich weiß, dass es da draußen jemanden gibt, der bessere Excel-Kenntnisse hat als ich. Ich kann die Mlook hübsch machen, aber viele Zahlen manuell verarbeiten... nur zu...![]()
Ich habe 20 Minuten Fahrt aufgezeichnet und eine Unmenge an Daten durchlaufen lassen.
Ich habe jedoch ein paar Schieds-IDs für einige der Module herausgefunden, von denen einige sogar für mein Ziel nützlich sein könnten.
Wenn Interesse besteht, ist das ein Nebengedanke, den ich hatte. Viele Datenlogger fragen einfach über OBD ab, um die benötigten Daten zu erhalten, und warten dann, bis das Gateway-Modul die Antwort auf ihre Fragen zurückgibt, die der Datenlogger dann aufzeichnet.
In den Datenbussen in diesem Auto fliegen erstaunlich viele Informationen herum, von denen wahrscheinlich viele für Datenprotokollierungszwecke nützlich sind. Wie wäre es mit einem DIY-Datenlogger, den Sie aus Teilen für unter 100 $ bauen können? :biggrin:
Hier ist einiges, was ich gerade gefunden habe:
View attachment 315841
Auf diesem Screenshot sehen Sie, dass die ArbID 0x1B4 (Hex-Wert) ungefähr alle 0,1 Sekunden übertragen wird. Sie enthält 8 Byte Daten, von denen zwei (B0 und B1, die ersten beiden) die Fahrzeuggeschwindigkeit in MPH sind, die rot eingekreist sind.
Blau ist eine Konvertierung mit der Excel-Formel:
Orange eingekreist ist der numerische Wert für MPH, nachdem die Dezimalwerte in dieser Formel zusammengefügt wurden:Code:=HEX2DEC(F20)
Ich habe den Voice Recorder auf dem iPhone verwendet, während ich diesen Datenlauf gesammelt habe, und dann die Ereignisse transkribiert (ich habe eine Menge Dinge im Auto bedient). Die Geschwindigkeitsnotizen, die ich aufgezeichnet habe, stimmen mit den von dieser Formel generierten Geschwindigkeiten überein, also bin ich mir ziemlich sicher, aber noch nicht 100 % sicher, dass die Formel korrekt ist. Es gibt eine so hohe Datenrate, dass ich nur etwa 7 Minuten Daten auf einem Excel-Arbeitsblatt erhalten kann, da ich das Limit von 65535 Zeilen erreicht habe.[/I]Code:= (((Q20 - 16 ) * 256) + P20) / 16
messex,Ich bin nur neugierig, aber welche Excel-Version verwenden Sie? Ich dachte, 2010 erlaubt mehr als 65.000 Zeilen, aber ich könnte mich irren.
Gesendet von AutoGuide.com App
Wahr für alle ArbIds über PT-CAN, K-CAN, ByteFlight, LLS-CAN und DK-CAN. ArbIDs sind eindeutig und werden nach Priorität nummeriert, daher ist es sinnvoll, die Reihenfolge beizubehalten.Rohe (nicht KOMBI-optimierte) RPM ist in der K-CAN-Nachrichten-ID, Bytes 4 und 5, als 16-Bit-Ganzzahl ohne Vorzeichen eingebettet. K-CAN- und PT-CAN-Nachrichten-IDs sind identisch. Diese Nachrichten werden ungefähr mit einer durchschnittlichen Aktualisierungsrate von 100 ms übertragen (während sie auf PT-CAN durchschnittlich 10 ms betragen würden). Danke BMW, dass Sie es so einfach gemacht haben.
Abgekürzter Beitrag von Terra oben für das, wonach die meisten hier suchen.Ich habe dies in den Bimmerforen gepostet, aber ihr werdet es wahrscheinlich auch hilfreich finden. Ich habe es gefunden, als ich in tool32 herumgestöbert habe.
Auflistung, wofür eine Reihe von Nachrichten-IDs stehen und aus welchen Modulen sie stammen. Es fehlen einige IDs, wenn ich sie mit meinem 535xi vergleiche, daher ist die Liste unvollständig, aber sie ist immer noch viel besser, als völlig blind zu fliegen.Code:0x399 Status M-Drive [2] Status M-Drive [2] 0x12 DME1
0xB5 Drehmomentanforderung EGS [9] Torque demand EGS [9] 0x18 EGS_MECH+NAVI/EGS_MECH
0xB8 Drehmomentanforderung DKG [2] Torque requirement DKG [2] 0x18 DKG
0xBA Getriebedaten [20] Transmission data [20] 0x18 SMG_M/SMG/EGS_MECH+NAVI/EGS_MECH/DKG
0xBD Drehmomentanforderung SSG [6] Torque demand SSG [6] 0x18 SMG_M/SMG
0x1A2 Getriebedaten 2 [6] Transmission data 2 [6] 0x18 EGS_MECH+NAVI/EGS_MECH/DKG
0x1A3 Rohdaten Längsbeschleunigung [3] Raw data longitudinal acceleration [3] 0x18 SMG_M
0x1D2 Anzeige Getriebedaten [22] Transmission data display [22] 0x18 SMG_M/SMG/EGS_MECH+NAVI/EGS_MECH/DKG
0x304 Status Gang [13] Status Status [13] 0x18 SMG_M/SMG/EGS_MECH+NAVI/EGS_MECH/DKG
0x3B1 Getriebedaten 3 [2] Transmission data 3 [2] 0x18 EGS_MECH/DKG
0x498 Netzwerkmanagement Network management 0x18 DKG/EGS_MECH/EGS_MECH+NAVI/SMG/SMG_M
0x598 Dienste services 0x18 DKG/EGS_MECH/EGS_MECH+NAVI/SMG/SMG_M
Auch wenn du das Lenkradmodul auf eine M5 VO codierst (vermutlich ist das alles, was benötigt wird), weiß das Auto immer noch nichts über diese CAN-Frames.@jcolley, hast du Neuigkeiten zu deinem Projekt? Ich versuche, die M-Lenkradtaste bei einem Nicht-M-E60-Modell zu aktivieren. Wenn du also hilfreiche Tipps für mich hast, bin ich dankbar dafür.
Ja, das ist der richtige Abschluss für den K-Can. Schauen Sie sich hier den Arduino-Sketch an.Hallo Leute, ich belebe einen alten Thread wieder - kann jemand seinen Arduino-Sketch teilen, mit dem die K-Can-Nachrichten abgehört werden? Kann außerdem jemand bestätigen, dass 120-Ohm-Abschlusswiderstände von H und L zur Masse erforderlich sind, wenn man sie an der PDC anschließt?