Hinweis: Du musst Dich registrieren wenn Du einen Beitrag verfassen willst
Zum registrieren, klicke hier. Die Registrierung ist kostenlos.


Antwort erstellen
Benutzername:
Passwort:
Antwort: Hilfe zum Editor

 
Deine Signatur aus deinem Profil einfügen.
(Email Benachrichtigung, wenn auf das Thema geantwortet wird) (Hilfe)
 
T H E M A     R Ü C K B L I C K
chris30o0
Hauptthema:
Hi,

ich möchte hier mal mein CAN-Bus Projekt vorstellen, an dem ich gerade mit meinem E60 arbeite.
Soweit ich sehe, wurde das Thema hier noch nicht wirklich diskutiert. Gibt es denn in der Richtung keine Bastler hier?

Das Ziel
Steuern und Auslesen diverser Komponenten meines E60.

Wie?
CAN-Bus anzapfen und herausfinden, was dort unterwegs ist und was ich ggf. auch auf den Weg schicken kann.

Warum?
Um gewisse Fragen direkt zu beantworten:
Ich erhoffe mir von diesem Projekt keinen großartigen Mehrwert, ich habe da einfach nur Spaß dran!

Die Vorbereitung
Nachdem ich also diese Idee hatte, habe ich mir sofort ein paar Informationen zusammengesucht und bin auf das Resler-Interface für den IBUS gestoßen. Nachdem es geliefert wurde stellte ich fest, dass der E60 gar keinen IBUS hat.
Na gut, das war dann der Startpunkt für intensiverere Recherchen, bevor irgendwas angefangen wurde.
Auf Seite 9 dieses schönen PDFs könnt ihr schauen, welchen Bus euer Modell hat. Mein Projekt beschäftigt sich (derzeit) ausschließlich mit K-CAN.
Da ohnehin bereits ein Raspberry Pi mitfährt und ich damit bereits etwas Erfahrung habe, habe ich mir zum Auslesen des CAN-Busses ein entsprechendes Interface für den Pi bestellt. Wer da versiert ist kann sich das mithilfe des Schaltplans auch selbst zusammenbasteln - ist dann erheblich günstiger.
Die CAN_H- und CAN_L-Kabel hatte ich bereits am Navi angezapft, um meine nachgerüstete Rückfahrkamera zu installieren.
Ich habe das nun nicht nochmal verifiziert, diese Quelle sollte aber korrekte Informationen dazu liefern (=> Beim E60 Pins 9 und 11 im großen Stecker).
Strom hole ich mir einfach von einer Sicherung im Handschuhfach. Ich habe es nun am Dauerplus, da mag es aber Stimmen geben, die das nicht haben wollen.
Zur Softwarekonfiguration stellt der Hersteller des CAN-Interfaces eine übersichtliche Anleitung bereit, der (fast) blind gefolgt werden könnte ("Erst denken, dann machen", sagte mal ein weiser Mann). In Punkt 1.9 wird die Bitrate auf 500000 (=500Kbit/s) gesetzt. Da der K-CAN aber nur mit 100Kbit/s läuft, ändern wir die 5 in eine 1, sodass die Bitrate 100000 genutzt wird (500 Kbit/s führt zur Fehlfunktion des Busses, inklusive einer Dauerfunktion des Scheibenwischers - komfortabel bei Regen).
Wer der Anleitung folgt, hat nun durch candump schon einen Eindruck gewonnen, was auf dem Bus los ist.

Die eigentliche Arbeit
Mit etwa 180 Nachrichten pro Sekunde sollte man rechnen - bei abgeschalteter Zündung.
Glücklicherweise bin ich mit meiner Idee nicht allein und vor allem nicht zu früh dran:
Trevor Cook hat sich mit seinem E84 schon sehr ausführlich mit dem Thema beschäftigt. Viele dieser Codes gelten auch für meinen E60, was mir dir Arbeit sehr erleichtert hat. Meine Tabelle, die immer den aktuellsten Projekt-Stand widergibt basiert zu einem Großteil auf seiner Arbeit.
Aktuell habe ich 130 verschiedene IDs gefunden, von denen bisher nur ein Bruchteil zuzuordnen war.
Das mitgelieferte Tool "cansniffer" erleichtert die Arbeit, dennoch ist es sehr mühsam - vor allem da ich nicht genau weiß, was denn nun tatsächlich über diesen Bus läuft.
Die Verarbeitung der Daten mache ich komplett über Bash - das bin ich einfach gewohnt und damit kann ich einigermaßen gut umgehen.
Da der Raspberry Pi fast keine Einschränkungen bezüglich der Programmiersprachen hat, kann da aber jeder nutzen was er für richtig hält.

Was ich aktuell machen kann
In der Hauptsache kann ich alle möglichen Werte auslesen. Ein Auszug meiner Status-Page habe ich mal kopiert.
Natürlich lässt sich auch einiges senden. Das meiste ergibt sich aus der Tabelle im vorigen Absatz - nämlich alles, was grün hinterlegt ist.
Wichtig beim Senden und Auslesen, wenn das Auto steht: Der sog. Wakeup-Call: 130#45.42.21.8F.FE
Er simuliert ein Einschalten der Zündung und weckt somit alle (oder viele) SGs für ein paar Sekunden auf.
Man muss ihn daher permanent senden, solange man irgendetwas auf dem Bus machen möchte.
Aktuell habe ich noch das Problem, dass im Dunkeln Dank eingeschalteter Licht-Automatik das Licht mit dem Wakeup-Call an, aber nicht wieder aus geht. Das habe ich erstmal hinten angestellt und mache die Status-Abfrage nur noch tagsüber (brauche ich ja nachts ohnehin meist nicht).
Auf- und Zuschließen kann ich bereits über's Handy (wobei auch etwas umständlich nur via SSH).

Was ich nocht nicht kann
Natürlich ist dieser Thread nicht ganz uneigennützig: Ich suche Mitstreiter.
Aktuell suche ich nämlich noch vergeblich die Möglichkeit, die Fenster und das Dach zu steuern.
Damit habe ich mich nun bereits so lang beschäftigt, dass ich vermute, dass das gar nicht über diesen Bus läuft.
Dass die Steuerung nicht unbedingt glückt, habe ich bereits in Foren gelesen. Allerdings finde ich auch keinen Hinweis auf die Betätigung der Schalter. Da ich die Fenster allerdings über die Fernbedienung öffnen kann, müssten sie ja eigentlich auch am Bus hängen.
Vielleicht hat ja jemand ein paar Infos, wo das Signal lang läuft.

Außerdem habe ich noch nicht herausgefunden, ob sich zwecks u.g. Lichtorgel die Scheinwerfer (Links und rechts) einzeln ansteuern lassen.

Was für die Zukunft geplant ist
Am Ende hätte ich gern eine schöne Auf- und Zuschließ-Routine, bei der eine kleine Lichtorgel zum Einsatz kommt.
Aber den Schlüssel zum Aufschließen nutzen kann ja jeder - daher hätte ich gern etwas in Richtung NFC mit dem Handy. Da mir mein Auto natürlich auch niemand klauen soll, mache ich mir da aber etwas mehr Gedanken, bevor ich irgendwas teste.
Auf meiner Seite ist hier allerdings: Je weniger über ein System bekannt ist, desto sicherer ist es.

In etwas fernerer Zukunft möchte ich mich dann auch mit dem PT_CAN beschäftigen, der eher in Richtung Motor zuständig ist.


So, das sollte auch erstmal genug sein - der Thread lässt sich ja erweitern.
Wer etwas spezielles wissen will, kann schließlich auch einfach nachfragen ;)
Hojo29
Man weiß aber immer noch nicht genau wozu die ganze Action ?
Und wenn ein LM2 verbaut ist kann man die Lampen so codieren das sie beim aufsperren leuchten und beim zusperren gedimmt aus gehen.
Und mit Inpa kann man die Lichtanlage ansteuern genau so die Fensterheber.
chris30o0

Warum?
Um gewisse Fragen direkt zu beantworten:
Ich erhoffe mir von diesem Projekt keinen großartigen Mehrwert, ich habe da einfach nur Spaß dran!
(Zitat von: chris30o0)


Was genau man damit machen kann, ergibt sich ja aus dem Google-Doc.

Es geht hier überhaupt nicht um's Codieren, sondern darum, dem System live Anweisungen zu erteilen, bzw. live den aktuellen Status auszulesen - und zwar ohne den OBD-Stecker.

Bzgl. LM: Ich habe LM1, kann aber trotzdem beim Aufschließen dafür sorgen, dass das Licht angeht.
Die eigentliche Frage war, ob sich links/rechts einzeln steuern lässt (ggf. auch rein technisch, vielleicht ist das ja nur ein Kabel, dann ginge es nicht).

Wie genau INPA im Hintergrund funktioniert, damit habe ich mich nicht beschäftigt.
Sollte es ebenfalls einfach nur Signale an den CAN-Bus senden, weiß ich immerhin, dass es grundsätzlich auch mit meinem Setup möglich sein muss.
inZaneX
Heyhey,
wollte mal fragen wie der Aktuelle Stand aussieht?

Habe das selbe vorhaben gerade bei meinem E91 geplant. Raspberry ist bereits an das CIC angebunden. Mit dem CAN hab ich noch diverse Probleme.
Da bin ich noch am tüfteln. Vlt kann man sich hier oder via PN mal austauschen.

MfG
zentaur1ger
Ja da wäre ich auch neugierig, ob es dazu einen neuen Stand gibt.
Ich komme aber aus einer ganz anderen Richtung. 
Ich würde nämlich gern herausfinden, was genau eigentlich vom CIC gesteuert wird,
bzw. was passiert, wenn ich es entferne.

Warum könnte man ein CIC entfernen wollen, wird sich sicher mancher fragen.
Die Antworten sind einfach:
Es ist langsam. Sehr langsam. Nicht upgradefähig (selbst die Festplatte hat noch einen IDE Anschluss)
und leider gibts für das Gesamtsystem seitens BMW auch keine Upgrades. DAB+ z.B. ist da ein Totalausfall.
Die Bastellösungen mit den emulierten CD Wechslern finde ich da nicht schön.
Bisweilen habe ich ein Tablet per BT mit dem CIC verknüpft, aber das funktioniert a) nicht als Radio
b) geht keine externe GPS/MoFu Antenne

Also das ist schon nicht ganz verkehrt, sieht aber komisch aus.
Und eigentlich wäre mit ein modernes DoppelDIN Radio mit verknünftiger Handyanbindung lieber.
 
chris30o0
Das Projekt liegt derzeit leider etwas auf Eis.
Es gibt momentan andere Dinge, die dringender gemacht werden müssen.

Ich habe vor ein paar Wochen mal alles rausgeholt, da ich - zumindest die CAN-Auswertung - auf einen stromsparenden esp8266 verschieben will und damit den Raspberry Pi ersetzen, der innerhalb weniger Tage die Batterie leer saugt.

Was das CCC/CIC sendet weiß ich leider nicht und damit werde ich mich voraussichtlich auch nicht beschäftigen.

Bearbeitet von: chris30o0 am 08.06.2017 um 17:26:22