Kia Soul EV SoC raspberry pi
So richtig gesprächig ist der Kia Soul EV nicht. Ihm fehlt auch die App, die in USA unterstützt wird. Somit ist aus der Ferne nichts abfragbar. Hier fehlt mir besonders der Ladestand der Batterie, auch genannt SoC von State of Charge.
Hängt der Soul zuhause im Carport am Lader, kann ich vom Fenster aus sehen, ob 1,2 oder 3 blaue Ladeleuchten blinken. Mehr Details gibts nicht. Auf der Autobahn oder an anderen Triple-Chargern wäre es schön, wenn ich sehen könnte, wie weit der Soul geladen hat. Nicht immer muss ich bis 94% laden, denn ab etwa 84% geht die Ladeleistung runter. Dann stimmt das Verhältnis zwischen Wartezeit und Aufladungsfortschritt nicht mehr. Da der Soul mit bis zu 70kW DC laden kann, lohnt es sich nicht nochmal 10 Minuten zu warten um dann vielleicht mit 25kW noch ein paar Zusatzkilometer in den Akku zu bekommen.
Wie auch immer, ich brauche mehr Details. Im Netz gibt es Anleitungen die auf einer LTE Verbindung basieren. Das taugt nicht für mich, denn da wo ich wohne gibt’s kein 2G, 3G oder 4G. Somit muss einen andere Lösung her. Der Raspberry pi zero W ist etwas grösser als mein Daumen und hat Bluetooth und WLAN an Bord.
Meine Inspiration habe ich von https://tutorial.sochack.eu/de/how-to-sochack/ genommen. Allerdings nutzt er eine Cloud und braucht Internet-Anbindung. Beides will ich nicht einsetzen.
Der Raspberry Pi zero W wird mit einem shutdown Taster versehen und dazu wird das Gehäuse manuell bearbeitet.
Dann installiere ich lighttpd als Webserver, MariaDB als SQL-Datenbank und die bluetoothctl damit ich den OBD2 dongle pairen kann.
Eine Datenbank lege ich lokal an und die Tabellen wie in der originalen Beschreibung vorgegeben. Das Python-Script wird angepasst und zur Kontrolle der SQL-Daten installiere ich den adminer 4.7.0, der hervorragend zum kleinen Webserver passt. Mit dem Aufruf http://192.168.4.1/mysql.php?username=peterf&db=kia&select=bms kann ich die Datensätze kontrollieren.
Ich richte einen Cron-Job ein, der das Python Script alle 2 Minuten aufruft.
Die Herausforderung ist die Installation des Hotspots unter Raspbian Stretch. Ich tappe in die hostapd Falle, die etc/network/interfaces Falle und so weiter. Lest euch bitte genau ein, es gibt elementare Unterschiede zwischen jessie und stretch.
Meine Infos habe ich mir hier zusammengesucht: https://gist.github.com/ysr23/c4a9d7185ed5c6d7ccfa31deead44070
Wichtig ist dabei, dass alle Anfragen direkt an den lokalen Webserver weitergeleitet werden.
Dazu werden für die Standard Ports iptables angelegt:
iptables -t nat -A PREROUTING -p tcp –dport 80 -j DNAT –to-destination 192.168.4.1:80
Auf dem Handy und dem Tablet nutze ich die Fritz! App um WLANs zu finden. Hier reicht ein verbinden mit dem ungeschützten Access-Point und ein touch auf das markierte Icon um die Homepage sofort aufzubekommen.
Der OBD2-Dongle bekommt Strom solange das Auto an ist, oder solange wie geladen wird. Danach stehen keine Bluetooth-Signale mehr zur Verfügung. Je nach Powerbank läuft der Raspberry dann aber weiter und zeigt den letzten Ladestand an, der in der Datenbank gespeichert wurde.
Ich nehme künftig eine kleinere Powerbank, mit dieser im Bild läuft er 2 Tage durch und das brauche ich nicht. Wichtig ist, eine Powerbank einzusetzen, die liefert und gleichzeitig auch geladen werden kann. Da der Raspberry so wenig Strom zieht, müsst ihr ein Powerbank nehmen, die keinen Mindeststrom erwartet.
Schreibe einen Kommentar