Freifunkende Solaranlagen
Wichtig: Diese Seite befindet sich im Aufbau |
Vorbemerkung / Credit
Es geht um freifunkende Solar-Systeme, die eine Interaktion mit den NutzerInnen der gewonnenen/gespeicherten Energie ermöglichen. Dieser Ansatz wurde auf dem Solarfestival 2013 erprobt und beim Solarfestival 2014 dann mit mehreren Systemen erstmals umgesetzt.
Dargestellt wird die sehr schöne Lösung von Daniel aus der Leipziger Community als Anregung für Andere. Vielen Dank auch an Ufo für Hinweise und Hilfe!
Einleitung
Die Lösung ermöglicht die Überwachung von Betriebsparametern über das Freifunknetzwerk und Integration in bestehende Monitoringstrukturen. Diese Seite ist als praktische Beschreibung (How to) gedacht. Grundkenntnisse über Solartechnik werden vorausgesetzt.
Ziele
- Überwachung der relevanten Betriebsparameter von Solaranlagen über das Freifunknetz:
- Ladestrom bzw. Leistung (Wieviel Strom wird geerntet?)
- Entladestrom (Wieviel wird verbraucht?)
- Batteriespannung (In welchem Zustand befindet sich die Batterie?)
- Schaltung von Endverbrauchern / 230V Invertern
- Integration in bestehendes Monitoring; Beispielsweise für Berlin auf http://monitor.berlin.freifunk.net basierend auf https://collectd.org/ (Fernüberwachung)
- Ausblick: Alarming ??
Hardware
- Laderegler: Voraussetzung ist ein Laderegler mit Remote Metering-Schnittstelle (RM) nach dem Modbus-Standard. Getestet wurden günstige MPPT-Geräte aus China. Ein und das selbe Gerät wird unter verschiedenen Herstellerbezeichnungen vertrieben, z. B. EPsolar, Renogy oder SainSonic. Das getestete Modell heißt "Tracer-1215RN". Die Geräte sind u.a. bei Ebay erhältlich. Kosten ca. 70 EUR (verzollt) für die 10 A-Variante.
Die RM-Schnittstelle implementiert den Modbus-Standard allerdings fehlerhaft. Die hier verwendete Software funktioniert also z. Zt. nur mit diesen Geräten.
- Router: TP-Link TL-MR3040 oder besser TPLINK 4300. Zukünftig zb WRTnode angedacht!
- Remote Meter-Port (RM) am Tracer
- 3,3V TTL UART
It communicates using TTL-232 at 9600 baud. TTL-232 in this context means +3.3V is 1 and 0V is 0 [1]
- 3,3V TTL UART
- Kabel zwischen RM-Buchse des Ladereglers und USB-Port des Routers (USB to Serial)
- Stecker: 8P8C (RJ-45)
Günstiges USB zu TTL UART-Kabel aus China (3 EUR). Man kann gut die Belegung der Kabel erkennen. Wichtig für den nächsten Schritt.
Die hier gezeigte Zuordnung von Aderfarben zu Pins auf der RM-Seite gilt nur für das verwendete USB-Serial-Kabel. Beim Nachmachen unbedingt prüfen, welche Farben bei Deinem Kabel TX, RX und GND sind!!! |
USB-Serial-Kabel | 8P8C-Stecker (geht in den Tracer RM) |
---|---|
schwarz (GND) | Kontaktposition 4 (GND) |
weiss (RXD) | Kontaktposition 5 (TXD) |
grün(TXD) | Kontaktposition 6 (RXD) |
rot (5V) | (wird nicht verwendet) |
Hinweis: RXD und TXD sind paarweise getauscht.
Hinweis: Der Router verträgt hot-plugging nicht. Sprich: Router (TL-MR3040) rebootet beim Einstecken des USB-Kabels.
Pinbelegung RM-Schnittstelle des Tracers
Quelle: https://github.com/xxv/tracer/blob/master/docs/Protocol-Tracer-MT-5.pdf
Kontktposition | Funktion |
---|---|
1 | power supply +12V output |
2 | power ground/signal ground |
3 | power +12V output |
4 | power ground/signal ground |
5 | TXD (sender) |
6 | RXD (receiver) |
7 | power ground/signal output |
8 | power ground/signal output |
Software
Derzeit ist das Auslesen und Anzeigen der Daten, das Schalten der Lastausgänge sowie das Statistiktool mit Openwrt umgesetzt (jedoch auch auf anderen Betriebssystemen möglich)
- tracertools (auslesen und schalten der Solaranlage)
- alfred aka solarfred (lokale Verteilung und Sammeln der Daten über mehrere Solaranlagen via batman-adv)
- collectd-mod-table (Statistikdiagramm über die Zeit)
- div. Scripte, luci2 Integration
Für Endbenutzer ist eine Smartphone-App wahrscheinlich praktischer als die Anzeige auf einer Webseite des Routers. (Die Anzeige erfolgt schneller, Statistiken können besser angezeigt werden und die Anzeige-Software/Webseite würde keinen Flash-Speicher mehr auf den Routern verbrauchen.)
Installation Tracertools
- dangowrt/tracertools auf github (siehe Links unten)
- Logge Dich auf dem Router ein
ssh root@<Router IP hier>
- Prüfe, ob die verwendete Openwrt-Variante das Paket anbietet:
opkg update; opkg list | grep tracertools
- Installiere das package "tracertools" mit
opkg install tracertools
- Installiere das passende package für den USB-to-Serial Adapter:
opkg install kmod-usb-serial-pl2303
Nach einem Reboot sollte der Befehl "tracerstat" die Solaranlage auslesen und die Werte anzeigen:
root@202-16:# tracerstat pv voltage: 190 mV battery voltage: 11530 mV pwm current: 0 mA load power is on load current: 410 mA temperature: 18 deg C alarms: not charging!
root@202-16:/www/cgi-bin# tracerstat -j { "class": "sensors", "name": "tracermppt", "bat_volt": 11540, "bat_volt_min": 11030, "bat_volt_max": 14710, "in1_volt": 290, "in1_amp": 0, "in2_amp": 330, "temp1": 18, "chg_state": "idle", "load_switch": 1 }
Shellscript zum Auslesen der Daten vom Tracer
- github link
- im crontab eintragen
WebUI
- einfache Scripte zur Anzeige via cgi-bin (www) (auf Anfrage)
- Openwrt-Package zur Anzeige via rpcd/ubus (github-> rpcd-mod-alfred)
- luci2-integration in Vorbereitung: github->mojoaxel bzw. github->freifunk-leipzig--solarfestival
unstrukturierte Notizen:
- tracertools liefern JSON
- UI muß in JS portiert werden
Verteilen und Sammeln der Daten
Mit Alfred können Daten in einem batman-adv Mesh-Netzwerk verteilt werden. Derzeit wird alfred-Datenbereich 160 und 161 verwendet. Dadurch können neue Solaranlagen problemlos integriert werden: sie werden von den bereits vorhandenen Systemen erkannt. Scripte derzeit nur auf Anfrage..
Monitoring
unstrukturierte Notizen:
- tracertools liefert json
- ggf. Verbreitung via solarfred a.k.a alfred
- ggf. script sammelt alfred-werte aus verschiedenen meshes zusammen (zb. via olsr oder cjdns)
- Script: Umwandlung von JSON in CSV
- collectd-mod-table bildet diese CSV graphisch ab
Bedienung
- tracerstat
- erzeugt CSV, JSON, log-lines, CLI
Links
- 2014 - Freifunk meets Solar Charge Controllers auf dem Solarfestival 2014
- https://github.com/openwrt/packages/tree/master/utils/tracertools
- https://github.com/dangowrt/tracertools
- https://github.com/mojoaxel/tracertools-webui ???
- EPsolar Tracer erhältlich bei deutschem Lieferant
- collectd von Leipzig&Altmark: http://tracertools.solarfestival.de
- intern via Freifunk: http://10.61.71.41/cgi-bin/solar
- json von Demo Solarsystem http://10.61.202.16/cgi-bin/s
- neue json Ausgabe vom Demo System: http://10.61.202.16/cgi-bin/j
- http://vpn8.leipzig.freifunk.net/solarfestival/solarfredjson.txt