2013 : PV-Logger mit Raspberry Pi
- Zugriffe: 3900
Wer nicht weiß was sich hinter einem RaspBerry Pi verbirgt, hier der Link zu Wikipedia.
Im Jahr 2012 wurde ich auf den RaspBerry Pi aufmerksam, und dachte, dass dies das ideale Teil wäre, um mit einer sehr günstigen Hardware (ca 50 €) und geringem Stromverbrauch (2-4 W) einen Logger realisieren zu können.
Ich kaufte mir also das Modell B, Revision 2 mit 512 MB RAM und suchte mir zunächst aus dem Internet zusammen, was ich so an Installationen benötigte.
Folgende Installationen:
-
auf Debian basierendes Linux-Betriebssystem Raspbian “wheezy”
-
statische IP
-
Oracle Java 1.7 für ARM-Prozessoren
-
I2C freigeschaltet und I2C-Tools (damit ich mein Funk-Display weiter nutzen kann)
-
Webserver lighttpd mit PHP5
-
Datenbank MYSQL und PHPAdmin (nicht für Logger benutzt, aber noch für andere ...)
-
Zugriff auf RasPi über SSH und WinSCP (da kein Monitor und Tastatur angeschlossen)
-
Anbindung WR über USB-RS232 Adapter von Digitus
Da ich in den vergangenen Jahren immer wieder nach günstigeren Lösungen gesucht hatte (wie zB Logger auf WLan-Routern, siehe Projekt von Dr. Dotti), hatte ich schon gewisse Vorstellungen wie mein PV-Logger ohne grafischen Frontend (Bildschirm) aussehen könnte.
Die Java-Software des Notebooks wurde daraufhin komplett neu designed.
-
als Programm im Hintergrund (ohne direkte GUI), wie eben ein Linux-Prozess (oder auch Daemon genannt)
-
automatisch gestartet beim Start des Systems
-
ausgelegt für mehrere Wechselrichter: Anbindung diverser WR über Java-Treiber möglich, genormte Schnittstelle
-
Nutzung der YASDI-Bibliothek (seriell RS232/RS485 oder LAN) für SMA-WR
-
interner Webserver möglich (in Java realisiert)
-
Visualisierung der Messkanäle über Webserver (im 10 Sekunden Takt, bel. einstellbar)
-
Remote Console zur Steuerung des Hintergrundprozesses (beenden, neustarten, Fehlerausgabe, ..)
-
komplette Steuerung über eine ini-Datei (Delay-Zeiten, Verzeichnisse, Anlagendaten + Messkanäle je WR, berechnete Werte)
-
Speicherung der Kanalwerte immer noch in suo-Dateien (tab-getrennte Textdateien)
-
berechnete Kanalwerte, zB Ertrag Heute
-
automatische Generierung von Monats- und Jahrestabellen
-
Generierung von Tages-, Monats- und Jahresgrafiken
-
Generierung der statischen Webseiten mit Grafiken und statistischen Tabellen
-
Datensicherung auf beliebiges Laufwerk (zB USB-Stick an FritzBox)
-
Nutzung der Ramdisk des RasPi zur Erstellung der Grafiken und der Online-Werte im Webserver (=> Schonung der SD-Karte)
-
Anbindung eines 2-zeiligen LCD-Moduls über I2C
-
Anbindung des Anzeige-Moduls über I2C und Funk
-
automatische Nachtabschaltung der WR-Abfragen mittels Berechnung von Sonnenauf- und -untergang
-
Anbindung an WR von Kaco; siehe Anlage meines Mail-Freundes Michael G. (cobraball)
-
Mailversand bei Störungen, über Status der Anlage(n) steuerbar
-
berechnete Werte über Skripte und Inhalt von vorher aufbereiteten Dateien, wie zB CPU-Load oder CPU-Temperatur
-
flexible Webseiten mittels Vorlagen (Php) unter Benutzung eines CgiServers
Geplant oder möglich sind noch folgende Erweiterungen:
-
Anbindung an andere WR wie Fronius, Solarmax, Danfoss, ...
-
tägliches Mail über Status, Ertrag, ...
-
Grafisches Display oder Touchscreen am RasPi
-
automatische Ertragsdatenerfassung bei SFV oder andere Portale (konfigurierbar)
-
mehr berechnete Kanalwerte, zB Ertrag Woche, Monat, Jahr
-
CGI-Scripte in Java
-
Download von Daten zur Weiterverarbeitung am PC
2007 : Software in Java
- Zugriffe: 727
Die bisherige Software in C wird in Java nachprogrammiert. Die neue Java-Applikation beinhaltet:
- Funktionalität des C-Programms PV-Logger: Daten auslesen, in SUO-Dateien speichern, Monats- und Jahresdaten erstellen, ...
- Grafiken erstellen (Tag / Monat / Jahr)
- Webseiten generieren für den Webserver
- Webserver ist integriert, also kein zusätzliches Programm wie oben erwähnt mehr notwendig
- eigener Browser ist integriert; damit kann man sich die eigene Homepage oder auch jede bel. Seite im Internet ansehen
- Anschluss eines beliebigen externen Display (Text oder Grafik) möglich; über eine genormte Schnittstelle (in Java Interface class genannt), kann sich jeder seine eigene Anbindung in Java schreiben. Die eigene Klasse muß nur einige Methoden des Interfaces I_Display implementieren (zB Write (index, text) ). Näheres folgt noch
Die Software setzt eine Installation von Java Runtime ab Version 1.4 voraus. Da ich immer noch das ur-alte Notebook mit nur 40 MB Ram einsetze, muß ich die Version 1.4 einsetzen, die nicht soviel Speicher belegt.
2006 : Datenlogger in C und Delphi
- Zugriffe: 2000
Technische Ausstattung des "Webservers"
- Notebook Dell Latitude XPi mit Pentium 75 und 32 MB Ram
- Betriebssystem Windows 98 SE
- Leistungsaufnahme 10 Watt (15 Watt, wenn Bildschirm angeschaltet)
- Die Software des Webservers stammt von Aprelium, nennt sich Abyss Webserver, belegt nur knapp 300 Kb Speicher und "is absolutely free".
- Ein kleines C-Programm (PvLogger)greift über serielle Verbindung mittels Yasdi-Protokoll (von SMA) in festlegbaren Intervallen die Messkanäle ab und
- speichert die Daten in Suo-Dateien (tab-separierte Textdateien, auch zur weiteren Auswertung mittels Excel geeignet)
- ermittelt weitere Kenngrößen wie CO2-Einsparung, Energie je Tag (E-heute), Maximalwerte ...
- generiert Seiten für den Webserver über die Momentanwerte incl. Tagesgrafik und Monatsgrafik,
- archiviert ältere Daten und Grafiken
- ruft das Programm zur Erzeugung der Grafiken auf
- Ein kleines Delphi-Programm erzeugt aus den gespeicherten Daten Monats- und Jahresdaten und daraus wiederum entsprechende Grafiken
Erweiterungen des "Webservers"
- Anzeige der aktuellen, Tages-, Gesamtleistung sowie Status auf einer LCD-Anzeige, die bis zu 15 m vom PC entfernt sein kann
- Zeitsynchronisation mit einem NTP-Zeitserver
- Jahreschart im Vergleich zu vergangenen Zeiträumen(bis zu 10 Jahre zurück). Konfigurationsmöglichkeiten: letzten x Jahre oder bestimmtes Jahr