CAN Bus Interface
Hallo!
Mittlerweile funktioniert ja reichlich via CAN Bus. Da mir da auf Anhieb einige Funktionen einfallen, die dem C fehlen aber einfach via Bus zu realisieren sind - hat sich mal bereits jemand mit dem Bussystem auseinadergesetzt?
Adressen der Steuergeräte, Funktionen etc.?
So könnte man z.B. ganz leicht einige Komfortfunktionen erweitern.
Automatisches aktivieren von FolloMeHome bei Dunkelheit bei verriegeln oder bei Zündung aus, Aktivieren von FollowMeHome beim entriegeln bei dunkelheit, Schliessen aller Fenster bei Verriegeln ohne die Komfortfunktion zu benutzen, Anklappen der Spiegel bei verriegln (ohne langes drücken), Speedlock bei denen wo es die Funktion noch nicht gab, entriegeln bei Zündung aus etc etc. - Die Möglichkeiten sind da vielfältig.
Im BMW hab ich solch ein Modul eingebaut....
Wenn einer Infos hat - evtl. kann man ja ein Projekt daraus machen.
Evtl. kann BlackTM was beisteuern... 😉
23 Antworten
Möglich schon (ehrlichgesagt auch schon lange mit dem Gedanken gespielt). Ich hab auch schon die nötige Hardware, Stecker etc. da. Nur momentan keine Zeit. Dann die nächste Sache : kann ich nicht so einfach weitergeben, wird evtl. missbraucht etc.
Btw. einige geforderte Funktionen sind aus Sicherheitsgründen nicht empfehlenswert, da der Einklemmschutz dann womöglich ausser Kraft gesetzt würde. Deshalb muss man so lange drücken, um im Notfall gleich abzubrechen. Die lichtabhängigen Sachen werden wohl auch nur mit einem Lichtsensor funktionieren. Dann kommen Sachen wie Batterieschutz zum tragen usw. usf. die Entwickler können davon sicher ein Liedchen singen.
Ich hab schon ne ganze Menge Ideen, die man so durchführen könnte.
MfG BlackTM
Ein weiterer Lichtesensor ist grundsätzlich kein Problem - ist bei dem BMW Modul ebenfalls extra 😉
Aber ab MY05 sollte der ja auch ansprechbar sein 🙂 - Sofern ALC vorhanden ist...
Bezgl. Entladeschutz sehe ich kein allzugroßes Problem. Man aktiviert die Scheinwerfer ja nur für "wenige" Sekunden und die Stromaufnahme des Moduls wird im mA Bereich liegen...
Mit den Schutzfunktionen hast du grdstl. recht - aber sie stören ja auch 🙂
Wenn es dich interessiert - Mein Modul im BMW ist von hier: http://www.megamodules.com
Die Komfortfunktionen entstanden damals auch in Absprache mit mir mir 🙂 Und PIC Module und Software für CAN Bus Interfaces gibt es ja einige....müsste man nur gezielt loggen und auswerten...
Ja, solche Lichtspielchen etc. schweben mir auch vor (ausser den Xenon-Brenner ständig blinken zu lassen).
Was das Logging angeht, so hilft das zum Glück nicht in allen Fällen weiter. Es gibt auch Sachen, die sind nicht so einfach zu "überschreiben". Fertige, eigenständige Module gibts afaik noch gar keine für den Vectra.
Ich hab Teile für einen CAN -> Ethernet Konverter, um damit auch (reine) Diagnose betreiben zu können, von einem PDA oder Laptop aus. Der kann auch als "Modul" eingesetzt werden oder von einem CarPC gesteuert etc.
Btw. ganz schön teuer, diese Module, vor allem wenn man viele einzelne Module braucht.... ginge im Vectra alles mit einem, man könnte auch verschiedene Modi per irgendeiner Taste anwählen.
MfG BlackTM
Als ich mich mit dem iBUS (ist CAN Bus) beschäftigt habe, konnte ich einiges an HW Basteleien etc. begutachten.
Die meisten Lösungen basien auf ATMEL Chips - DIe sind kostengünstig und können recht einfach aufgebaut werden. Und können programmiert werden.
Zum reinen PC gestützen lesen und schreiben - hier: http://www.reslers.de/IBUS/ oder hier: http://www.openbmw.org/bus/ basien alle auf dem Melexis
Mir würde vorschweben, ein "Modul" auzubauen, welches an den Bus kommt und dann einen ControllerChip enthält, der Programmierbar ist. Er kann auf dem Bus lesen und senden. Besitzt naturgemäß keine "legale" Adresse, kann allerdings alle genannten Funktionen ansteuern. Kolliionsdetection ist kein Problem. ist in den meisten Schaltungen berücksichtigt.
Die Variante wie sie beim HighLight kommt ist natürlich der totale Luxus, da eigenständige Software, mit der Programmiert werden kann. Ich kann die Leuchtsequenzen einstellen und einzelne Komfortfunktionen ein/aus schalten.
Ähnliche Themen
Joar, geht schon, musst halt den kompletten CAN-Stack nachbasteln. Ich setze auf TINI. Kompletter CAN- und TCP/IP-Stack, runs Java oder Keil-C, hat alles an Board was man braucht.
Dann läuft man eindeutig weniger Gefahr, den Bus in irgendeiner Weise negativ zu beeinflussen (durch schlechtes HW Design oder mangelhafte Collision Detection etc.). Man könnte damit sogar ein einfaches Web-Interface basteln, durch das das Modul konfiguriert wird, thttp machts möglich.
Einfach Messagecenter konfigurieren und die Interrupts richtig implementieren.
Btw. Der BMW-Busaufbau schaut kompliziert aus.
MfG BlackTM
@blackTM: Wenn du konkrete Ergebnisse erzielt hast dann bericht uns mal, wäre sicher interessant zur Fehlerdiagnose für die Leute die öfter am Auto schrauben und keinen Zugriff auf nen Tech-2 haben.
Schön wäre es z.B. auch so wie beim Tech die Daten life mitlesen zu können die das Auto grade hat (z.B. Öltemperatur, Lamdawert, usw.), das könnte man dann z.B. auf einem eigenes Display alles ausgeben, hat auch nicht jeder *g*
Wenn die Daten erstmal irgendwie auf Ethernet sind kann man ja mit nem PC oder nem kleinen Mikroprozessorboard das Ganze weiterverarbeiten und darstellen.
Naja, mangels Auto und hastenichgesehn alles noch schwer abschätzbar. Zumindest die Diagnose etc. könnte ich auch so hinbekommen.
Aber garantieren kann ich erst mal garnix.
Alles nicht so einfach.
MfG BlackTM
Hmmm - da werde ich mich mal in Bezug auf TINI ein wenig einlesen.
Der BMW Bus ist eiegntlich gar nicht so kompliziert. Einfacher 1Cable Bus, der auf LOW Signal zieht. Wer auf den Bus schreiben will zieht einfach auf LOW und gibt dann das Datenwort mit Absender, Empfänger und Informarionen raus....
Klingt ansatzweise nach meinem Verständnis vom CAN-Bus. Ist aber nicht nett einfach auf Low zu ziehen, lieber schön abwarten und entsprechend der Priorität senden.
Was mir nich so recht einleuchtet ist die Struktur, also wie welche Geräte angeordnet sind etc. vielleicht verwirren mich auch nur die Bezeichnungen.
P == Powertrain ?
I == Infotainment ?
K == Kommunikation...?
M == ?
D == Drive..?
Okay, es ist nur "reengineered", deswegen siehts auf offiziellen Papieren evtl. besser aus, naja, ich bin verwirrt.
MfG BlackTM
Warum die Bussysteme genau diese Bedeutung haben wird wohl wirklich nur der BMW Ingeneur wirssen. Im Prinzip aber ähnlich aufgebaut wie beim C mit HighSpeed und LowSpeed bus.
Warum die Bussysteme genau diese Bedeutung haben wird wohl wirklich nur der BMW Ingeneur wirssen. Im Prinzip aber ähnlich aufgebaut wie beim C mit HighSpeed und LowSpeed bus.
Auf Low ziehen geht natürlich nur wenn der Bus gerade nicht belegt ist 🙂
Hi Leute,
das Thema kling unheimlich interessant. Erfahrungen habe ich damit leider bisher keine, die Bordelektronik meiner Guzzi ist recht unkompliziert und sonst habe ich meine Finger weitgehend von Fahrzeugen gehalten. Ich würde mich aber gerne mal etwas näher damit auseinander setzten. Von einem API für den BC träume ich schon lange. 😉 Wäre schön, wenn ihr Ergebnisse weitergebt. Gibt's da Literatur für Einsteiger? Ich werde schon mal den Lötkolben einstecken...
Viele Grüße, Dirk
Eigentlich ist das alles nicht so richtig schwer. Man könnte durchaus ein Projekt daraus machen...
Als erstes bräuchten wir also erstmal ein Stück Hardware - das Modul, welches Programmiert werden kann und auf dem CAN Bus liest und sendet.
Das Stückchen Software drumherum ist eher das "kleine" Problem. Aber da werde ich mal die TINI sache durchlesen. Eine fertige JavaRuntime mit eingebautem Controller und CAN Stack - Das erspart viel Arbeit...
Hallo zusammen,
schicke Sache die ihr hier diskutiert. Vielleicht helfen euch ein paar Details um die richtigen Grundsatzentscheidungen für das "Projekt" zu treffen.
Hardware:
Opel setzt, im Gegensatz zu BMW, als Low Speed CAN eine Eindraht-CAN-Variante ein, die einen speziellen Transceiver (z.B. Philips AU5790) mit "high level voltage wake up", eine angepaßte Terminierung und Fahrzeugmasse als Referenzpotential erfordert (werden Standard-CAN Karten wahrscheinlich nicht haben).
Software:
Die erforderlichen Anpassungen werden sich wohl in Grenzen halten, wenn man sich auf's Mithören reduziert. Wenn auch aktiv gesendet werden soll sieht's anders aus.
Opel setzt ein ziemlich kompliziertes Network-Management mit "virtuellen Netzwerken" ein. Das NM regelt welche Steuergeräte wann in einen Ruhemodus versetzt oder geweckt werden und welche Signale in welchem Knoten wann überhaupt verarbeitet werden dürfen. Wird dieses NM nicht sauber bedient ist mit erheblichen "Betriebsstörungen" zu rechnen.
Die einzelnen CAN-Frames sind mit unterschiedlichen Signalen bestückt. Will man nur 1 Signal manipulieren (z.B. Hupe einschalten) müssen auch alle anderen Signale des Frames sauber mitgesendet werden, was mitunter schwer wird, wenn "rolling counts" betroffen sind.
Hoffe zum einen Mind-Vectra und BlackTM nicht gelangweilt zu haben und zum anderen keinen anderen durch die Wortwahl vergrault zu haben.
Tante-Erna