Easy going im VAN PI System
Du willst deine Liontron - Batterie einfach in unser System einbinden? Kein Problem, alle benötigten Tools und Software sind bei unserm SD-Image dabei. Du gehst dafür einfach ins Webinterface zur Config, unter dem Punkt Bluetooth wählst du Liontron aus. Das System sucht nun nach einer erreichbaren Batterie in der Nähe. Wird diese gefunden, ist der Vorgang auch schon abgeschlossen und du bekommst alle relevanten Daten direkt auf dein Handy oder unseren Touchscreen.
Tutorial für die manuelle Einbindung
1. BLE Geräte suchen
Als Erstes müssen wir prüfen, ob wir die Batterie überhaupt über den Raspberry PI finden. Gleichzeitig nutzen wir diese Suche, um die MAC-Adresse des Bluetooth-Modules der Batterie herausrauszufinden.
Dafür verwenden wir das Tool HCITOOL. Dieses müssen wir über die Kommandozeile aufrufen. Solltet ihr nicht unser Image verwenden und die benötigten Tools sind noch nicht an Board, findet ihr hier (klick) eine Anleitung.
Wir verbinden uns also über Putty oder ein anderes SSH-Programm und starten über den Befehl:
sudo hcitool -i hci0 lescan
den Bluetooth Suchvorgang.
Diesen Befehl brechen wir nach einigen Sekunden mit Strg+C ab, da die Suche sonst unendlich lang läuft. Wir sehen alle gefunden Geräte, die eine BLE-Kennung in der Umgebung senden. Darunter ist im Beispiel wie auch der Batteriename bzw. die Batterienummer. Dies ist die gleiche, die euch auch in der App der Liontron Batterie angezeigt wird. Daneben ist die MAC-Adresse der Batterie, welche wichtig für den weiteren Schritt ist.
Diese BLE Gerätesuche machen übrigens alle Apple Geräte die ganze Zeit um z. B. einen Apple ibeacon zu finden. Welche Möglichkeiten des Trackings sich daraus ergeben....
Die Suche kann man auch mit der App NRF-Connect machen. Diese App ist ein Allrounder für BLE-Anwendungen. Sie wird von der Firma Nordic Semiconductor bereitgestellt, ein gängiger Hersteller bekanntester BLE-Chips. Mit der könnt ihr nicht nur nach Geräten suchen, sondern auch verschiedene Services des Geräts abrufen. Im Fall der Liontron Batterie findet man unter dem Service 0xFF01 einen Buffer von HEX-Werten, welcher nach dem gleichen Muster wie das Protokoll von Xiaoxiang/JBD BMS aufgebaut ist. Wir gehen also davon aus, dass in den LIONTRON Batterien eine angepasste JBD-BMS Version verbaut ist...
2. Python Reading APP
Um die Daten nun aus der Batterie auszulesen hat GemZ ein Python Script geschrieben, welches sich mit der Batterie verbindet und ein Json auswirft. Das Script benutzt das GATT-Tool, um die Werte auszulesen. Da zu kommt evtl. nochmal ein weiteres Tutorial.
https://github.com/GemZ/LiontronBmsInfo
Für die Verwendung des Scripts muss dementsprechend Python installiert sein. Zusätzlich benötigt ihr noch die Erweiterung Pexpect.
sudo apt update sudo apt install python3 idle3
Wir kopieren uns das Script von Github in einen neuen Ordner "Liontron" durch folgende Befehle in der Kommandozeile/Putty.
cd /home/pi/
sudo mkdir liontron
sudo cd liontron
sudo git clone https://github.com/GemZ/LiontronBmsInfo/blob/master/liontronBmsInfo.py
und nun installieren wir noch die Erweiterung Pexpect über den Python Paketmanager.
sudo pip3 install pexpect
Jetzt kannt das Script gestartet werden. Die MAC-Adresse der Batterie wird mit -d übergeben. Auf unserem VAN-PI Image liegt die Datei unter /home/pi/ble_py/.
sudo python3 /home/pi/ble_py/liontronBmsInfo.py -d A4:C1:38:85:3C:75
bzw.
sudo python3 liontronBmsInfo.py -d "mac"
Du erhältst daraufhin ein JSON mit allen Parametern der Batterie.
3. Einbindung in Node-Red
Unsere meisten Funktionen und alle Daten sammeln wir in Node-Red. Für die Liontron Batterie haben wir einen kleinen Flow hinzugefügt, welcher die Suche nach der Batterie übernimmt und dann aller 20s die Daten der Batterie über das Python-Script abfragt. Dieser Flow hat noch ein paar mehr Funktionen, da wir unser System immer auf mehrere Geräte und Produkte anpassen müssen.
Den Flow stellen wir euch hier zur Verfügung und ihr könnt ihn euch anpassen wie ihr wollt. Einfach den Inhalt über den Flow Import in euer Node-Red importieren:
https://share.12-s.de/s/Eomx4f2MjtfB4YR
4. Fazit
Die Einbindung der Liontron Batterien funktioniert sehr einfach und schnell. Auch die Verarbeitung macht einen sehr soliden Eindruck. Der Gedanke eine Batterie nicht zu verkleben und damit die Möglichkeit zu haben eine Batterie zu reparieren ist super. Immerhin können alle Bastler, die sich eine LIfepo4 Batterie selber bauen, das schon lange. Hier ist auch der springende Punkt: Die Batterie ist im Vergleich zu anderen System oder selbstgebauten Lösungen sehr teuer. Zum gleichen Preis und mit etwas Geduld und Spucke kann man sich eine Batterie mit der dreifachen Kapazität und dem fast gleichen Platzbedarf bauen. (55ah zu 150ah selfmade).