[8P] Vorstellung Projekt: Bluetooth für das RNS-E mit FIS Anzeige und Knopfbedienung

Keines Update: Heute habe ich den Verstärker erhalten und zusammen gebaut. Leider fehlt mir nch ein Poti. Habe den schon bei Conrad bestellt.
Ich denke er wird entweder diese Woche oder Anfang der nächsten eintreffen. Wenn er da ist ergänze ich meinen Aufbau und teste das Ganze.

Viele Grüße,
Quiggy

Erstmal ein Lob von mir, echt cooles Projekt das du da gebaut hast :hammer:

Ich bin momentan in der Planungs-Phase für ein eigenes Projekt mit meinem A3, das ganze soll eine Art "Connected Drive" Marke Eigenbau werden.

Die Hauptarbeit übernimmt wie bei dir ein Arduino Mega 2560,
die Kommunikation mit dem Infotainment-CAN erfolgt über die selben 2 ICs, wie sie auf deinem Shield verbaut sind. (MCP2515 & MCP2551)
(Allerdings momentan noch auf einem Breadboard gesteckt :biggrin: -> siehe hier https://owncloud.niedermeier.im/index.php/s/aRxpRGtLR6eYdqX )

Dazu kommt bei mir noch ein GPS/GSM Combo-Modul um Daten (Position, Tankfüllstand, usw…), an meinen Server zu senden oder Befehle (z.B. aufschließen der Türen) von diesem zu hohlen.
Das ganze soll dann später über eine kleine Android App Steuerbar sein.

Falls an diesem Projekt Interesse bestehen sollte, werde ich evtl. einige Blogeinträge dazu schreiben und/oder einen eigenen Thread dafür aufmachen :wink:

Aber genug von meiner Seite, ich würde mich freuen wenn du die Projektfiles für den Arduino mit mir Teilen würdest. (Auch der Angesprochene Code für die CD-Wechsler-Emulation würde mich Interressieren )

Ich denke man kann sich da gegenseitig durchaus helfen, denn gerade beim Punkt Auslesen von Informationen aus dem CAN, geht es bei mir momentan eher Schleppend vorran (Tankinhalt & KM-Stand habe ich bereits, mehr aber auch noch nicht)

Ja klar… Ich mach dir heute Abend nen Archiv mit meinen aktuellen Files fertig. Hört sich nach einem interessanten Projekt an … Mein Auto ist gerade in der Werkstatt (Haftpflichtschaden) daher geht's bei mir gerade nicht weiter :frowning:

Also gestern habe ich es leider nicht mehr geschafft… Ich habe aber schon ein Git Repo angelegt und werde den Code dort einfach veröffentlichen. Ggf können wir diese Library einfach um neue CAN Informationen erweitern und so nach und nach eine schöne und einfach zu benutzende Arduino Liibrary für den A3 basteln :wink:

So wie versprochen schon einmal meine CanBus Library für Arduino: GitHub - quiggy/AudiCanControl

Und wenn jemand was rausbekommt… Ich programmiere gern noch andere Werte ein, bzw. modifiziert den Code und erweitert ihn :wink:

Sry, hatte die letzten Tage etwas viel um die Ohren :wink:
Ich werde mich heute im Laufe des Nachmittags mal hinsetzten und mir das Repository anschauen.

Aber Danke schon mal fürs veröffentlichen :thumbsup:

Ich erweiter den Code bis morgen noch um einige Werte… Bisher hatte ich halt nur Multimedia im Focus aber Kilometer, Fahrgestellnummer, Datum und Uhrzeit, auf schließen und abschließen sind ja jetzt einfach eingebaut … :wink:

Also die Library liest nun den Kilometerstand, die Fahrgestellnummer, Zündungsstatus, und RadioStatus aus… Wenn noch jemand IDs weiß, her damit :wink: Update ist auf GitHub

Nun denn, dann mach ich mich mal ans zsuammenschreiben der Infos die Ich bisher so über den Infotainment-CAN-Bus haben :wink:

Ich denke übrigens wir sollten evtl. eine Tabelle anlegen in der sämmtliche ID's, die nun direkt in die Lib integriert werden, eingetragen werden. So haben Einsteiger oder auch andere erfahrene Tüftler eine Art Nachschlagewerk. :wink:
Darum könnte ich mich bei Gelegenheit kümmern.

Viele der von mir geposteten ID's ziehen sich übrigens durch den gesamten VAG-Konzern (VW, Seat, Skoda, …) :biggrin:

Die Tür-Sensoren (also welche Türen gerade geöffnet/geschlossen) sind, liegen so weit ich weiß hinter der ID 0x470.
Hierbei müsste es sich beim 2ten Byte um den Status handeln (00 wenn ale Türen verschlossen sind), den Rest sollte man so, denke ich auch relativ leicht herausfinden können (Bit1 -> Tür 1 offen, usw…)

Hier außerdem noch ein paar Werte die noch von Jemandem verifiziert werden müssten.

Batteriespannung
ID(dez) 1393
Byte 1, Formel: Volt = 5 + (0.05 x Byte1)
(Müsste eigentlich so Stimmen habe das gerade auch nochmal gegen einen alten Mitschnitt von meinem A3 verifiziert)

Tankinhalt:
ID(dez) 1569
Byte 4, Bit 0-5 -> Als Dezimalwert in Litern
(War bei meinen Messversuchen auch definitiv ein realistischer Wert)

Geschwindigkeit:
ID(dez) 849
Byte 0 -> Unterscheidung Vorwärts/Rückwärts
Byte 1/2 -> Geschwindigkeit
(Müsste am besten nochmal jemand überprüfen, da ich momentan nur Mitschnitte habe bei denen das Fahrzeug still stand)

Aus meiner Sicht wäre eine Methode, um den Zündungstatus (0x271) mit einem 100ms Intervall auf den BUS zu schicken, in der Library noch sinvoll.
Um ggf. Geräte zum senden zu bringen, wenn das Fahrzeug schon länger steht. (In dem diesen, eben eine aktive Zündung "vorgegaukelt" wird)

Auch ist mir bei deiner Library aufgefallen, dass du bei der Fahrgestell Nr., davon ausgehst das du, dass erste Paket zwangsläufig auch als erstes bekommst oder?
65F 8 00 … = ABCDE
65F 8 01 … = FGHIJ
65F 8 02 … = KLMNO

Außerdem wird so weit ich das sehe der Temp-String nie gelöscht, verlängert sich also momentan "endlos" oder sehe ich das Falsch? :wink:

Viele Grüße,
Tim

Batteriespannung habe ich eingebaut und getestet… Das könnte so hinhauen! Bei der Geschwindigkeit habe ich die Formel noch nicht 100%… Die Felder codieren die Geschwindigkeit… so viel ist klar. Aber bei mir wäre das (byte2,byte1) / 100 / 2 um auf einen annehmbaren Wert zu kommen… Und 2 scheint auch nur eine annäherung zu sein. Mit steigender Geschwinsigkeit bekomme ich eine kleine Abweichung zur echten KMh…

Ich stell das Update heute Abend auf Git…

Bezüglich der Geschwindigkeit, versuchs mal mit folgender Formel: (( Byte2 < < 8 ) + Byte1 -1 ) / 190
Habe leider wie gesagt gerade keinen Mitschnitt mit fahrendem Auto zur Hand und im Stand hat Byte1 ja immer den Wert 01 :wink:

Habe heute übrigens das GSM/GPS-Modul von iTeadStudio für mein Projekt bestellt :biggrin:
Kommt leider aus Fernost, also kann ich in frühestens 3 Wochen damit Rechnen :wink:

Edit:
Anscheinend kommt das Forum nicht mit einem Bitwise-Left-Shift-Operator klar, weswegen ich ein Leerzeichen einfügen musste :hammer: :biggrin:

Das sieht sehr gut aus :smiley: Geschwindigkeit ist nun auch korrekt. Als nächstes mach ich mich dann an den Tankinhalt. Auch übrigents der Temp_String wird immer bei der ersten Nachricht resettet. Ich hab da keine überprüfung der Abfolge drin. Aber das funktioniert so eigentlich ziemlich gut. Hab in meinen bisherigen Versuchen noch keine Fehler gehabt.

Interessant wären jetzt noch die Öltemp, Innen- und Außentemperatur.

Oh, bei dem TempString war ich wohl nicht ganz auf meiner geistigen höhe, das hätte ich sehen sollen :biggrin:

Und ich nehme an du hast damit keinen Fehler gehabt, da der Arduino immer eine längere Zeit (ein paar Sekunden) an war, bevor du auf den Wert zugegriffen hasst.
In meinem Projekt wird der Arduino jedoch einen Großteil seiner Zeit im Deep-Sleep verbringen, aufwachen um ggf. nur einige Frames aus dem Bus aufzuzeichnen und anschließend wieder in den Sleep zu fallen.
Hierbei ist es gut möglich, dass dieser Fall genau zwischen den verschiedenen Frames auftritt und man "theoretisch" einen unvollständigen String hätte. Aber das sind Kleinigkeiten die ich gegebenenfalls in meiner eigenen Implementation dann umbauen kann falls ich es brauche :wink:

Allerdings ist das in der Realität vermutlich eher uninterressant, denn wie oft braucht man schon seine eigene Fahrgestellnummer aus dem CAN :biggrin:

Öltemperatur liegt so weit ich weiß, nicht auf dem Infotainment-CAN.
Und zum "Anfordern" von Daten aus einem anderen CAN über das Gateway, findet man leider absoult keine Informationen im Internet.

Außentemperatur kann ich mir gut vorstellen, da diese ja auch im FIS angezeigt wird.
Werde morgen mal schaun, ob ich da was finde :wink:

Innentemperatur hingegen könnte auch eher schwierig werden, da der einzige mir bekannte Sensor ja im Climatronic-Bedienteil ist und so weit ich weiß auch nur von dieser benötigt wird.
Aber falls man die Temperatur mal in einem Projekt benötigt, wäre es ja auch kein Problem einen kleinen Temperaturfühler mit auf seinen Arduino zu stecken :wink:

Na dann fällt mir nicht mehr viel ein, was man noch auslesen könnte :wink: Also sehe ich als ToDo noch Tankinhalt und Türenstatus… Gut wäre auch die Mitte des FIS beschreiben zu können… Aber da habe ich auch noch keinen Erfolg verbuchen können. Dies liegt aber sehr wahrscheinlich daran, dass ich nur zusätzliche Nachrichten auf den Can schicke. Um das mittlere FIS zu beschreiben, müsste man die Nachrichten des RNS-E unterdrücken. Dies geht meiner Meinung nach nur mit zwei Can-Bus Schnittstellen… Spiele eh schon mit dem Gedanken die Hardware noch einmal anzupassen. Gut wäre eine kompaktere Platine mit zwei Can-Bus SST.

Türsensoren & Tankinhalt kann ich dir morgen, wenn du willst noch ein wenig detaillierter beschreiben :wink:

Und ob ich was zum Thema Innen-/Außentemperatur finde schau ich auch mal.
Auch zu den Fensterhebern könnte man evtl. noch mal schauen ob man was findet.

Ein Punkt der mir noch wichtig wäre, sind die Frames der Tasten des RNS-E & des Multifunktionslenkrades.
So kann man ggf. auf Eingaben reagieren (Stichwort CarPC) oder auch Eingaben simulieren (z.B. für SDS ohne MuFu)

Habe aber selbst leider kein Multifunktionslenkrad um die entsprechenden Frames aufzuzeichnen :confused:

Aber wie gesagt, ich melde mich sobald ich mehr weiß! :slight_smile:

Tasten des rns-e hab ich ja zum Teil schon drin … Dies zu erweitern geht fix… Die mufu Tasten habe ich hier theoretisch in einer Datei … Aber kann ich erst testen wenn ich dieses nachgerüstet habe :wink:

Habe die neue Version gerade in das Repo geladen…

siehe -> http://www.a3-freunde.de/forum/index.php?p=thread&amp;tid=144280

Kann mir jemand die Schaltungen für die ICs (MCP2515 & MCP2551) zukommen lassen ? Ich überlege gerade ein eigenes Arduino Shield herstellen zu lassen. Dann in doppelter Ausführung. Denn ich würde schon gern beim Arduino als Plattform bleiben…