Te aroturuki solar me te pākahiko ao pai kore anake hoki poti (ki te ataata & Demo Live) Wie man locker einige hundert Euro sparen kann (Eine Schritt für Schritt Anleitung)

solar- und Batterie Monitor für Raspberry pisolar- und Batterie Monitor für Raspberry pi

ahauch habe ja schon einen Solarregler. Nur der ist in Holland auf dem Boot verbaut und es würde mich interessieren, ob alles wie gewünscht funktioniert. Benötigen die Kühlschränke (ja es sind mehrere) nicht zuviel Saft? Gelingt es mir einen frühzeitigen Alterungsprozess der Batterien zu vermeiden?

Das muß doch billiger gehen!

Wenn ich mir so den Markt für einen Batterie Monitor ansehe, dann fällt mir als erstes die Firma Victron ein. 186,- Euro werden dafür aufgerufen. Zuzüglich kommen ein Solarmonitor für 81.- Euro diverse Kabel 17.- Euro, Bluetooth für 51.- Euro und ich habe immer noch nicht das was ich eigentlich möchte. Das Senden der Daten zu mir nach Hause oder in das Boot eigene NMEA Netzwerk. Macht also 335.- Euro unterm Strich und der Laderegler ist noch nicht dabei. Der kommt für meine Solaranlage noch mal extra 300.- Euro.

Die vorgestellte Lösung kostet so etwa 20.- Euro und einen halben Tag Arbeit. Vorausgesetzt ein Raspberry pi ist vorhanden. Aber der erledigt ja auch noch eine Menge anderer Jobs. Prinzipiell geht die Lösung aber auch auf jeder anderen Plattform und an dieser Stelle sende ich einen netten Gruß an Perle TV der das Ganze in ein 10 Stunden Mammut Epos in 3 Teilen gesteckt hat. te erste Teil dauert schlappe 6,5 Stunden und ist etwas für Hartgesottene. Immerhin in deutscher Sprache. Kürzere Anleitungen gibt es in Videos von Adam Welch, den ich hier grüße (Er hat einen Uralt Hack aufgegriffen und die original Wifi eBox von EPever gehackt und für seine Bedürftnisse angepaßt. Aber wir sind immer noch bei 40.- Euro. Angepeilt sind 20 oder besser noch 10. Euro inklusive Versandkosten.

Aber alle Anleitungen zu dem Thema sind in Englisch und ich habe mir mal die von Colin Hickey rausgepickt, die meinen Bedürftnissen für das Boot am nächsten kommt. Vielen Dank an Dich, für die Anleitung und das Video. Erwähnen möchte ich an dieser Stelle noch Die Lösung des deutschen Bootskollegen von Solaranzeige. Mir persönlich war diese Lösung zu unflexibel da als Stand Allone gedacht. Ich müsste wenn ich damit anfange so etwa 20 Raspberry Pi ins Boot einbauen. Aber wer nur eine Einfache Monitorlösung sucht ähnlich dem Monitoring von Victron hat den wenigsten Aufwand, kommt aber mit 20 Euro nicht hin.

Jetzt geht es ins Eingemachte!

ahauch muß davon ausgehen, dass Ihr wirklich interessiert seid, wenn Ihr es bis hierher geschaft habt. Die Anleitung dürfte für alle möglichen MPPT Solarladeregler funktionieren. Ich habe aber nur den EPever der Serie A mit 40 A auf dem Boot (480 Watt Solarmodule) und gehe die Anleitung anhand des EPever 30 A durch, der gestern hier eingetroffen ist und den ich hier gekauft habe. Ich werde diesen für ein Review durchtesten und die Anleitung fertigschreiben. Danach ist er quasi neu abzugeben. Über den Link bekomme ich ein paar Bonuspunkte für spätere Bestellungen.

Installation von LEMP mit kleineren Modifikationen

Ich gehe davon aus, dass Ihr entweder Openplotter (schaut in meine Anleitung dort) Oder ein Raspberian installiert habt und somit direkt im ersten Schritt LEMP nach der Anleitung auf der folgenden Seite installieren könnt. Wenn es Probleme gibt bitte unten im Kommentarfeld diese beschreiben. Emails werde ich dazu nicht beantworten.

Der Unterschied ist, daß sich die Pfadangaben für die Webdarstellung geändert haben in neueren Versionen des auf Debian basierenden Betriebssystem und desswegen in der Nginx Webserver Konfiguration das Stammverzeichnis geändert werden sollte.

root /var/www/html

Die vollständige Kopie meiner Konfigurationsdatei als Textfile findet Ihr

-> konei.Download

Installiert haben wir bis jetzt:

Nginx den Webserver auf dem die Skriptsprache PHP läuft und MySQL als Datenbank, um die Daten zu speichern. Je nach Geschmack ob man lieber auf Terminalebene arbeitet oder Webbasiert kann man sich PHPMYADMIN nach dieser Anleitung installieren.

Die Konfigurationsdateien oder auch die Befehlseingaben versuche ich weitestgehend hier zu vermeiden, da diese Anleitung sonst ellenlang und unübersichtlich würde. Einfach mit dem Texteditor eurer Wahl gegebenenfalls anpassen. Ihr könnt alle Dateien downloaden. Sie stehen unter GPL Lizenz.

Als nächstes verbinden wir den Pi mit dem Solarladeregler. Hierfür gibt es 2 Optionen.

Option 1 —
Man nimmt ein COM Port USB Kabel (10.- ki 50.- Euro) oder fertigt eines selbst an und reduziert die Kosten auf 1,- ki 3,- Euro. Wenn ihr den USB-Stecker in den Pi steckt erscheint ein neues Gerät, in meinem Fall erscheint es bei der frischen Openplotter Installation als /dev/ttyUSB0

Diese Verbindung können wir als root nutzen, aber andere Benutzer / Gruppen erhalten keinen Zugriff, so dass die einfachste (aber auch unsicherste) Methode ist, indem wir einen Vollzugriff geben indem wir den Befehl unten eingeben, der die volle Kontrolle für alle gibt. In Openplotter wird das Device als weitere Möglichkeit wie in der Dokumentation beschrieben eingerichtet..

Sudo chmod 777 /dev/ttyUSB0

Ende der Option 1 —

Adam Welch hat das Anfertigen des Datenkabels und die Anwendung recht gut beschrieben. Und der Screenshot ist aus unserer deutschen Anleitung für den EPether Serie A. Wenn ich den Artikel überarbeite stelle ich die Anleitung als PDF in Deutsch zum Download zur Verfügung.

Daniela wird langsam immer mehr an die Materie herangeführt und es hift Ihr die deutsche Sprache besser zu lernen um dann auch die Webseite und Anleitungen richtig auf rumänisch zu übersetzen. Ihr könnt uns unterstützen, indem Ihr direkt auf unseren YouTube Kanal geht und diesen abonniert. Auch wenn die Videos manchmal im Moment noch nicht so prickelnd sind.
Unter den Videos gibt es zudem Beschreibungen mit Anmerkungen, die Ihr hier nicht unbedingt findet. Begonnen haben wir damit vor allem bei den kurzen Shopping Videos und werden nach und nach die Informationen ausweiten. Für uns ist das erst einmal hervorragendes Schnittmaterial um daraus später gute Videos zusammen zu schneiden. Die wichtigen Infos für Euch sind halt die Bezugsquellen wo wir eingekauft haben und die findet Ihr eben im Text zu den Videos. Dadurch bleibt der Blog hier werbefrei.

Den Kanal findet Ihr hier.

Infotainment (Links wo Ihr die benötigten Teile bekommt findet Ihr Auf You tube direkt, aber den Adapter habe ich hier wer die passenden aktuellsten Treiber benötigt schreibt unten einfach einen Kommentar:

RS485USB Adapter für EPever Laderegler (COM Port Adapter) Arduino Prototyping

Die englische Fassung von Adam ist hier zu finden:

https://youtu.be/r3LrWeYYtnQ

Auf anderen deutschen Seiten findet Ihr Beschreibungen für den seriellen Adapter, der dann bis zu 50,- utu ūropi. Andere sollen nicht funktionieren. Ich bin deshalb froh über Videos wie die von Adam, da er die Dinge aufmacht und zur Not auch zerstört um die Baugruppen zu zeigen auf die Ihr beim Einkauf achten solltet.

Haben wir in Option 2 die Eierlegende Wollmilchsau gefunden?

whakahōutia: 01/08/2017

Codebeschreibung für Drahtlose Fernsteuerung von Sensoren.

Laßt Euch überraschen. Vielleicht geht auch meine Phantasie wieder mal mit mir durch. In den weiteren Erklärungen kann man vielleicht verstehen, warum ich in den Einstieg in die Materie gerade eine Solaranlage genommen habe. Diese ist als solche ja in Openplotter so gar nicht vorgesehen. Aber unser Ziel ist ja hier tief anzudocken. Von der Solaranlage geht es villeicht schnurstracks zur Verbrauchsmessung. Für heute will Ich nur noch schnell die Datenbank anlegen bis es demnächst weitergeht.

Ich werde erst mal erläutern warum für mich die Option 2 der geheime Favorit ist. Der Raspberry Pi ist relativ empfindlich was den Strom betrifft. Die USB Ports liefern relativ wenig Strom und so sind die Grenzen schnell erreicht. Manchmal reichen schon Maus und Tastatur sowie der AIS Stick um kritische Situationen für die Stabilität hervor zu rufen.

Option 2 —
Wenn du ein drahtloses Gerät (Anleitung folgt) gebaut hast, dann hast du es an eine bestimmte IP-Adresse und Port auf deinem Lan konfiguriertwir müssen es verbinden.

NBIch benutze in dieser Anleitung die internen IP-Adressen von 192.168.178.45 für meinen Pi und 192.168.178.144 für mein drahtloses Gerätbenutze die IP-Adressen, die für die Konfiguration deines Lans geeignet sind, das heißt du wirst wahrscheinlich andere IP-Adressen haben als die, die ich verwende.

Wir benutzen für den virtuellen COM Port eine Software namens Socat. Hierfür im Terminal folgendes eingeben

sudo apt-get install socat

Nachdem Socat installiert ist, benötigen wir eine Verbindung mit um uns mit unserem Gerät verbindenals Namenskonvention habe ich die Nummernnummer der Lan IP, mit der ich verbunden bin genommen.

Sudo socat pty,link=/dev/ttyUSB21,unlink-close=0,raw,echo=0 tcp:WirelessDeviceIPAdresse_des_ESP8266:23

hei tauira:

sudo socat pty,link=/dev/ttyUSB21,unlink-close=0,raw,echo=0 tcp:192.168.178.144:23

sudo chmod 777 /dev/ttyUSB21

Ende der Option 2 —

Eine Erklärung zu dieser Freigabe!
Unabhängig davon, ob Ihr Option 1 oder Option 2 verwendet habt. Um Nicht-Root-Benutzern einen Zugriff zu gewähren, verwende ich für diese Anleitung erst einmal die einfachste (aber die meisten unsichere), Methode indem ich die volle Kontrolle über die Nutzerrechte für alle freigebe.

Hier ist es schwierig die individuelle Situation vor Ort zu beschreiben und ich bitte Euch die Benutzerrechte hier genau nach Eurer Installation freizugeben. Ihr wollt ja nicht, dass jemand Eure Solaranlage verstellt. Also bitte in den Manuals zu den Nutzerrechten entsprechend nachlesen und lieber etwas restriktiver einstellen!

Mit dem nächsten Befehl geben wir die Nutzerrechte erst einmal frei:
sudo chmod 777 /dev/ttyUSB0
ranei
sudo chmod 777/dev/ttyUSB21

Ich weiß, dass ich mich jetzt wiederhole, aber diese Freigabe hilft uns erst einmal alles einzurichten und die Funktion zu überprüfen. Aber an der Stelle muß auf jeden Fall später dichtgemacht werden. Insbesondere Wenn Ihr über das Internet eine Demo zeigen möchtet! Es kommen sonst einfach zuviele Anfragen weil es bei Euch nicht funktioniert.

Wir sind schon fast fertig
Wir haben also einen Webserver eingerichtet und wollen nun langsam die Daten vom EPever Laderegeler oder dem Laderegler den Ihr sonst verwendet zum Raspberri Pi in Openplotter hineinbekommen und sie speichern.

Dazu haben wir ja die Datenbank MYSQL installiert und PHPMYADMIN.

Ich habe ja vor einiger Zeit bis an diese Stelle beschrieben und wer es eben noch nicht gemacht hat erstellt eben jetzt seine Datenbank, mit der wir arbeiten. Der EPEVER ist sehr gesprächig an der COM Schnittstelle und Ihr könnt gerne die Tabellen um viele Weitere Werte ergänzen, je nachdem Welche Anzeige später in Euer Display soll. Wer Eine Anzeige in seiner Sprache möchte setzt auch hier an. Ich nehme für diese Anleitung erst mal englische Begriffe. Battery status ist in der deutschen Sprache einfach Batterie Status.

Zu beachten ist folgendes, wenn Ihre den Befehl im Terminal oder in PHPMYADMIN wiederholt: Die Tabelle, die sich stats nennt wird bei einer erneuten Ausführung der Kommandos gelöscht)

CREATE DATABASE `solardata` ;

/*Table structure for table `stats` */

DROP TABLE IF EXISTS `stats`;

CREATE TABLE `stats` (
`Controller` int(2) NOT NULL,
`timestamp` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
`PV array voltage` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`PV array current` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`PV array power` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`Battery voltage` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`Battery charging current` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`Battery charging power` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`Load voltage` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`Load current` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`Load power` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`Charger temperature` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`Heat sink temperature` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`Battery status` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`Equipment status` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`Controller`,`timestamp`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

Es gibt ein Feld Controller und das ist dazu gedacht das Ganze zu erweitern, um einen weiteren Controler später hinzuzufügen. Das kann man nach Bedarf anpassen.

Als nächstes binden wir ein Wenig PHP-Code ein, der die gleiche Sprache (Modbus) wie unser Laderegler sprichtEs gibt genau hierzu eine wirklich nützliche Bibliothek, die genau das tut und schon von Luca Soltoggio geschrieben wurde.

http://arduinoelectronics.wordpress.com

http://minibianpi.wordpress.com

Diese enthält die PhpSerial Schnittstelle von Rémy Sanchez und Rizwan KassimGenau diese Bibliothek benötigen wir und können sie von GitHub herunterladen.

https://github.com/toggio/PhpEpsolarTracer

Nach dem Herunterladen, packen wir die Bibliothek aus und legen sie in einem Ordner auf unseren Web-Server, zum Beispiel:

mkdir /var/www/html/epsolar

und legen die ausgepackte Bibliothek dort einfach ab.

Im nächsten Schritt richten wir ein Script ein um die Daten von dem Laderegler zu übertragen und in der Datenbank zu speichern.

Mit eurem Texteditor bearbeitet Ihr im Ordner /var/www/html/epsolar die Datei getsolarstats.php
In diesem File ändern wir folgendes: databaseusername a databasepassword müssen auf die Werte angepasst werden, mit denen Ihr die Datenbank eingerichtet habt.


#!/usr/bin/php

< ?php //harvest data and stores it in a database $dbh = new PDO(“mysql:host=localhost;dbname=solardata”, “databaseusername”, “databasepassword”); //this is planning for future expansion, this array holds the wireless device connection details $solararray = array(); $solararray[“/dev/ttyUSB21”][“ip”] = ‘192.168.178.144’; $solararray[“/dev/ttyUSB21”][“tauranga”] = ’23’; //eg expanded system with a second controller //$solararray[“/dev/ttyUSB22”][“ip”] = ‘192.168.178.144’; //$solararray[“/dev/ttyUSB22”][“tauranga”] = ’23’; require_once ‘PhpEpsolarTracer.php’; $time = time(); $i = 1; while (list ($key, $val) = each($solararray)) { $tracer = new PhpEpsolarTracer($key); if ($tracer->getRealtimeData()) {

$sth = $dbh->prepare(“insert into stats (`Controller`,`timestamp`,`PV array voltage`,`PV array current`,`PV array power`,`Battery voltage`,`Battery charging current`,`Battery charging power`,`Load voltage`,`Load current`,`Load power`,`Charger temperature`, `Heat sink temperature`,`Battery status`,`Equipment status`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)”);
$sth->BindParam(1, $i);
$sth->BindParam(2, $time);
$sth->BindParam(3, $tracer->realtimeData[0]);
$sth->BindParam(4, $tracer->realtimeData[1]);
$sth->BindParam(5, $tracer->realtimeData[2]);
$sth->BindParam(6, $tracer->realtimeData[3]);
$sth->BindParam(7, $tracer->realtimeData[4]);
$sth->BindParam(8, $tracer->realtimeData[5]);
$sth->BindParam(9, $tracer->realtimeData[6]);
$sth->BindParam(10, $tracer->realtimeData[7]);
$sth->BindParam(11, $tracer->realtimeData[8]);
$sth->BindParam(12, $tracer->realtimeData[10]);
$sth->BindParam(13, $tracer->realtimeData[11]);
$sth->BindParam(14, $tracer->realtimeData[15]);
$sth->BindParam(15, $tracer->realtimeData[16]);

$sth->execute();

//station id
$i++;
}
}
?>

Das Script wird ausführbar gemacht und desshalb ändern wir die Rechte

chmod 755 /var/www/html/epsolar/getsolarstats.php

Das Script kann jetzt ausgeführt werden und wird die Daten in der Datenbank speichern. Um diesen Prozeß zu automatisieren setzten wir einen Cronjob, nach unserem Bedarf. Der folgende wird jede Minute Aktiv und liefert der Datenbank die Daten aus dem EPever

sudo crontab -e

Hier fügen wir folgende Zeile hinzu:

* * * * * /var/www/html/epsolar/getsolarstats.php

Wir sind wirklich fast am Ende angelangt….

Unsere Daten werden nun in der Datenbank gespeichertwir können sie in einer von zwei Möglichkeiten anzeigendie erste ist detaillierter beschrieben.

tikanga 1

Für eine schöne Darstellung (gauges)wurde erst einmal eine kommerzielle, aber frei zu verwendende, Javascript Bibliothek ausgewählt.

http://www.fusioncharts.com/

ladet diese herunter und installiert sie in

/var/www/html/epsolar/fusioncharts
so dass der Ordner-Fusion-Charts vier Ordner und eine index.html enthält.
Die Rechte werden mit

chmod -R 755 /var/www/html/epsolar

gesetzt.

Um aber ein Openplotter Gefühl zu bekommen wird zur Zeit daran gearbeitet Grafana einzubauen, das zudem noch wesentlich flexibler ist. Mir gefallen am besten die Marine Gauges von Signal K und uhr merkt hoffentlich schon wohin der Weg geht.

Es gibt über 100 verschiedene Wege der Datendarstellung und Manipulation. Es lohnt sich die Libary in

https://github.com/toggio/PhpEpsolarTracer

genau anzusehen und auch die Issues also Fehler zu verfolgen, da diese sehr gute Hinweise zu nützlichen Quellen enthalten.

Colin Hickey bietet Euch jetzt die von Ihm stark angepaßte Originaldatei an und ich warne Euch, dass es jetzt gleich ellenlangen Code gibt. Nicht entmutigen lassen.Einfach kopieren und einfügen. Es ist halb so wild 🙂 .

Hier ist seine extrem modifizierte example_web.php von phpepsolartracer. Diese editiert Ihr mit eurem Editor z.B. Nano und legt sie als index.php in den Ordner /var/www/html/epsolar

Ihr müßt hier nur noch /dev/ttyUSB21 und ‘databaseusernameund ‘databasepasswordanpassen. Seht Euch das ruhig einmal an, da genau hier das Layout bestimmt wird und auf die mehr als 100 Variablen die der EPever an seiner COM Schnittstelle individuell mit Anpassungen nach Euren Bedürftnissen gestaltet werden kann. Das Schema dazu ist recht einfach.
Ich habe jetzt mehrmals versucht den Code zu kopieren über die Webseite und es haben sich beim Kopieren immer mal kleinere Fehler eingeschlichen und es macht die ganze Anleitung doch unübersichtlich. Deswegen habe ich den Code von Colin als Textfile abgelegt und biete diesen zum Download an. Nach dem herunterladen kann man dann die Datei einfach in Index.php umbenennen und anpassen. Eure index.php in den Ordner legt Ihr dann einfach im Ordner /var/www/html/epsolar ab.
–> Download

Jetzt einfach noch die richtigen Rechte setzen:

chmod -R 755 /var/www/html/epsolar

Das war es schon. Den Monitor könnt Ihr im Browser aufrufen.
Zum Beispiel unter

http://192.168.123.10/epsolar/index.php

Je nachdem, wie ihr euren Pi in das Netzwerk eingebunden habt.
Das Ergebnis sollte so aussehen wie in dem Screenshot oben am Seitenanfang. Da ich eine Live Demo online zur Verfügung stellen möchte ist das Ablegenin einen Textfile einfacher sollten sich aufgrund von Anregungen Änderungen und Erweiterungen ergeben.

Heftig!???
Enjoy your dashboard 🙂

Legal stuff

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, ranei (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html

Todo Liste

  • whakahōutia: 12/08/2017

    Erstellen von deutschsprachigen Videos für die Herstellung von nötiger Hardware
    Findet Ihr in einem neuen Artikel konei

    • Wasserdichtes Gehäuse mit Zugentlastung für ESP8266 / Platine angepasst
      Wasserdichtes Gehäuse mit Zugentlastung für ESP8266 / Platine angepasst
  • whakahōutia: 15/08/2017

    Jetzt Live Demo!

    Live Demo anbieten
    Die Live Demo findet Ihr unter http://arztde.dynvpn.de/epsolar/
  • Umschreiben des Codes und vereinfachte Installation.
  • Andocken in Openplotter direkt an Signal K wird über die Kommentare erarbeitet

Comments

comments

1 Comment

  1. Judith Laura

    Hello I am so delighted I found your blog page, I really found you by error, while I was
    researching on Aol for something else, Nonetheless
    I am here now and would just like to say thanks for a marvelous post and a all round entertaining blog (I also love the theme/design), I don’t have time to read through it all
    at the minute but I have bookmarked it and also included your RSS feeds,
    so when I have time I will be back to read a lot more, Please do keep up the awesome job.

Leave a Reply