Direkt zum Inhalt
PekawayPekaway
Verbindung mit Victron VE.Direct

Verbindung mit Victron VE.Direct

Worum geht es?

Victron ist aus dem VAN-Bereich nicht mehr wegzudenken. Daher wäre es doch schön, die Daten der Geräte nicht nur über Bluetooth, sondern auch über USB/Uart zu bekommen, um sie an verschiedenen Stellen anzuzeigen und zu verwerten. Wir beziehen uns in diesem Tutorial auf einen MPPT Solarregler, das Prinzip ist jedoch bei allen Ve.Direct Geräten gleich.

Serielle Kommunikation als Grundlage.

Als Erstes sollte man wissen, was eine serielle Verbindung ist. Das wird mit dem RX und TX oft als UART bezeichnet. Ve.Direct ist von der Hardwareseite nicht anders als ein UART. Jedoch ist zu beachten, dass verschiedene Geräte 5V oder 3.3V Pegel benutzten. Das ist für die spätere Verwendung zu beachten (Unser Ve.Direct Kabel hat einen Pegelwandler integriert, um beide Spannungen ohne Probleme zu benutzen.) Wollt ihr die Daten zum Beispiel direkt über die GPIO-PINS eines Raspberry PIs auslesen (der RPI4 hat 5 UARTS) müsst ihr dafür Sorgen, dass dort auch nur ein 3.3V Pegel ankommt. Wer das Ganze an einem PC oder anderem Gerät benutzen möchte, kann natürlich auch einen USB-Serial Adapter verwenden, um sich einen seriellen Port zu genieren. (COM bei Windows/ ttyUSB Linux) Pin-Belegung

Quelle: https://beta.ivc.no/wiki/index.php/Victron_VE_Direct_DIY_Cable

Auf dem Ausgang vom MPPT Solarregler sind hier ´die beiden nötigen RX und TX Leitungen in der Mitte. Auf den äußeren PINS haben wir die GND und 5V Leitungen. Da wir 5V anliegen haben, wissen wir auch das wir es mit einem 5V Pegel zu tun hat.

Wenn wir die Datenleitungen verwenden müssen wir daran denken, dass wir immer RX mit TX und TX mit RX verbinden müssen. (Sender muss zum Empfänger)

Schaut euch den Link vom Bild an. Dort ist alles hardwareseitige gut zusammengefasst.

Die Schnittstelle liefert jedoch fast keinen Strom. Einen ESP8266 oder ähnliches könnt ihr leider nicht an ihr betreiben.

Daten auslesen


Wenn wir nun die Hardware Verbindung hergestellt haben, müssen wir die Daten auslesen. 
In Windows können wir sehr einfach mit einem SerialTerminal die Daten empfangen. (Docklight ist eine Empfehlung von uns). Dort stellen wir den COM-Port vom USB-Serial Kabel ein. Die Parameter für die Schnittstelle sind 19200 mit 8N1 (Standart). Wenn wir jetzt die Schnittstelle öffnen, empfangen wir jede Sekunde einen ASCII-String mit den Parametern des Gerätes. Dort könnt ihr nun die Daten schonmal sehen und schauen, ob die Sachen dabei sind, die ihr benötigt. Mittels normalen String Bearbeitungsfunktion (Split, Parse,Substring) könnt ihr euch nun die Werte, die ihr benötigt, raussuchen. Auf der Seite von Victron Energery findet ihr auch alle Informationen, die ihr zu den Schnittstellen benötigt.  www.victronenergy.com

VanPi Backend

Die Verarbeitung findet im VANPI (1.1.0) wie folgt aus.

 

1. Über den Connection Flow konfigurieren wir die Schnittstelle. Also ein Eingabe aus dem Webinterface (Frontend) in der ihr einstellt, welches Gerät an welchem USB-Port angeschlossen ist. Dort wird dann die Baudrate und das Routing gesetzt. Ebenfalls werden auch alle Einstellungen für einen Neustart gespeichert. Wollt ihr nun direkt sehen ob Daten am USB ankommen, Hängt euch einfach einen Debug Node. Der Switch ist der Router zu den jeweiligen Flows und die Link-Nodes leiten die Daten weiter.

Connections FLOW

 

2. Auswerten der Strings die vom VE.Direct Gerät kommen

Im Flow VE.Direct kommen nun die Daten als String an, jedoch müssen wir erstmal die Geräteklasse herausfinden. Dies machen wir über die PID. Wissen wir nun was für ein Gerät angeschlossen ist, sortieren wir die Daten entsprechend der Reihenfolge, wie sie im String durch "\n"-Zeilenumbruch getrennt sind. Danach werden die Daten nur noch an die entsprechenden Anzeigen weitergeleitet und in die globalen Variablen geschrieben.  Das UI CONTROL -Node sorgt dafür, dass die Victron Seiten und Infos nur angezeigt werden, wenn Daten empfangen werden.

3. Im Flow Sensor Dashboard werden dann zum Beispiel die Shunt Batterie Daten in die globalen Variablen für die "Main" Batteriedaten kopiert. Dieser Schritt ist wichtig, für Systeme mit mehreren Batteriedaten Quellen haben. (z.b. PekawayShunt, Victron Shunt, BMS). Für die Anzeige am Touchscreen, IOT Bridge und der Infoseite benötigen, bzw wollen wir nun einmal die vertrauenswürdigsten Daten haben. Deswegen wählen wir diese einmal in der System Config unter dem Punkt -> System-> MainBattData an.

Hinterlasse einen Kommentar

Deine Email-Adresse wird nicht veröffentlicht..

weitere Tutorials

OpenSource needs Support

werde jetzt Patron

Mehr Projekte, mehr Tutroials und mehr unterstütze Geräte. Unsere Community wächst und freut sich auch über deine Unterstützung. Werde also jetzt Patron um immer die neuesten Inhalte zu erhalten und gleichzeitig das VAN PI Projekt zu unterstützen.

Patron werden
Warenkorb 0

Dein Warenkorb ist leer

Beginn mit dem Einkauf