Monitoring Wasserqualität im Weiher
Der Weiher vorm Haus scheint durch Pferdehaltung gefährdet zu sein. Ich will das wissen und habe in mehreren Stufen eine Möglichkeit gefunden die Umweltdaten zu erfassen und ein Langzeit Monitoring durchzuführen.
Anfangs bin ich am Stromverbrauch der Kombination Arduino, Shield und Raspberry gescheitert. Eine Powerbank und ein mobiles Solarpanel haben nicht ausgereicht. Ein grösseres Solarpanel wurde angeschafft und eine 6,7 Ah Batterie aus einer USV stand zur Verfügung.
Aber auch das hat nicht gereicht. Der Wechselrichter und der Spannungswandler ziehen zusätzlich an der Batterie. Eine größere PV-Batterie hätte +200,- Euro gekostet. Das war der Moment in dem ich dachte, es entwickelt sich in die falsche Richtung. Auf schwäbisch sagt man dazu: “ mit vollen Hosen ist gut stinken !“.
Es muss auch mit weniger gehen. Also habe ich den Raspberry durch einen PyCom WiPy ersetzt. Der stellt aber mit Micropython keinen FTP-Client für den Upload zum NAS bereit. Daraufhin habe ich dann mit MQTT experimentiert und bin aber bei einer TCP-Socketverbindung hängengeblieben.
Der Arduino mit einem speziellen Shield macht die pH- und EC-Wert Erfassung. Dazu kommt ein Attiny Node, der Lufttemperatur, Helligkeit und Luftfeuchtigkeit an den Arduino funkt. Dieser Node ist mit einer kleinen Solarzelle und einem Lion Akku autark.
Der Arduino misst auch noch die Wassertemperatur über einen PT1000 Fühler. Arduino, Shield und WiPy brauchen gerademal 0.16 Ampere. Also etwa 0,8 Watt gegenüber den 3.5 Watt für die Raspberry-Lösung.
Eine Powerbank und ein 15 Watt faltbares Solarpanel mit 5V Ausgang hat die Anlage versorgt. Damals habe ich noch im 2-Minuten-Takt gemessen. Mit diesem 2-Minuten-Takt habe ich den Timeout der RX/TX Übertragung ausgetrickst. Im 2-Minuten-Takt wurde dann auch per TCP-Socket an den Raspberry A+ im Arbeitszimmer übertragen. Der hat die Messwerte an das NAS und an ThingSpeak hochgeladen.
Leider hänge ich an einer unzuverlässigen Internetversorgung, die über eine Funkstrecke funktioniert. Fliegen Flugzeuge in Richtung Zürich muss wegen des Radars die Funkstrecke abgeschaltet werden. Ich habe zwar in 2 Schritten die Verfügbarkeit des Internets geprüft, bin aber trotzdem mehrmals am Tag in ein Loch gefallen und die Kommunikationsstrecke ist ausgefallen. Hat der Raspberry die Daten nicht losbekommen, hat er das Skript beendet. Der WiPy hat dann seine Daten nicht losgebracht und ist auch ausgestiegen. Ich konnte zwar aus dem Arbeitszimmer den WiPy am Weiher wieder resetten, es fehlten aber mehrere Stunden Messwerte am Tag.
Für die Internetverfügbarkeit habe ich erstmal geprüft, ob der Google DNS-Server erreichbar ist. Im zweiten Schritt habe ich dann geprüft, ob der ThingSpeak-Server erreichbar ist. Beides mit gestaffelten Timeouts von 5, 20 und 30 Sekunden. War beides ok, habe ich erst versucht die Daten an ThingSpeak zu senden.
Für die aktuelle V2.0 habe ich es jetzt so umprogrammiert, dass der Raspberry im Arbeitszimmer die Messwerte am WiPy abholt. Das Abholen steckt in einem Cronjob der alle 15 Minuten läuft. Jetzt steigt der WiPy nicht mehr aus und selbst wenn ich mal Daten nicht an den ThingSpeak-Server bekomme, holt der Cronjob eben nach 15 Minuten die nächten Messwerte ab.
Das neue Solarpanel hat nur noch 5 Watt und bringt rechnerisch 6 mal soviel wie ich brauche. Ich kann also mit 24h/6 = 4h Sonne auskommen um die Powerbank wieder aufzuladen. Die Powerbank hält ohne Aufladung fast 3 Tage durch. Der RavPower-Akku hat zwei Abgänge und einen Ladeanschluss. Der grosse Vorteil ist, dass gleichzeitig entladen und aufgeladen werden kann.
In der vorigen Version war die Messeinheit an einem Baum am Ufer befestigt. Auf einer Pferdeweide. Die Pferde waren sehr neugierig und ich hatte Angst um meine Kabel. Die aktuelle Version ist an einem Pfahl im Wasser befestigt.
Ok, erst jetzt hängt der Fühler für die Wassertemperatur tatsächlich im Wasser. Und ich hab eine ausreichende Distanz zwischen den Sensoren für pH und EC-Wert. Die hatten sich gegenseitig beeinflusst.
Vor dem Einbau habe ich mir im Aquariumfachhandel noch Kalibrierflüssigkeiten besorgt um die Sensoren kalibrieren zu können. Jetzt habe ich sogar aussagekräftige Messwerte.
Die Seite mit den ThingSpeak Graphen erreicht ihr hier.
Die ganze Geschichte in mehr Details findet ihr hier:
http://fuerles.de/index.php/it-welt/10-iot/12-wasserqualitaet-im-weiher
http://fuerles.de/index.php/it-welt/10-iot/13-wasserqualitaet-im-weiher-funktionstest
http://fuerles.de/index.php/it-welt/10-iot/14-wasserqualitaet-im-weiher-aufgabenliste
http://fuerles.de/index.php/it-welt/10-iot/16-weihercheck-autharkie-fuer-rpi-und-arduino
http://fuerles.de/index.php/it-welt/10-iot/17-weihercheck-versuchsaufbau-autharkie
http://fuerles.de/index.php/it-welt/10-iot/18-weihercheck-autharkie-next-level
http://fuerles.de/index.php/it-welt/10-iot/19-weihercheck-ampere-und-wattstunden
http://fuerles.de/index.php/it-welt/10-iot/54-weiher-wasserqualitaet
http://fuerles.de/index.php/it-welt/10-iot/55-hierholzer-weiher-leitwert-ec-ushttp://fuerles.de/index.php/it-welt/10-iot/56-weihermessung-autarkie-erreicht
Schreibe einen Kommentar