Für den Betrieb unserer Lösung nutzen wir das zentrale Steuerskript watering.py, das resident im Speicher des RasPi läuft und neben der Abfrage der Feuchtesensoren die komplette Ablaufsteuerung übernimmt. Dort sind auch alle zeitlichen Einstellungen hinterlegt. So bewässert der Automat in der ersten sparsamen Strecke nun jeden Tag um 17 Uhr zwei Minuten lang. Über das zweite Magnetventil gesteuert, macht er das etwas länger, für fünf Minuten. Die Werte lassen sich je nach Bedarf anpassen.
Zum Bewässern öffnet der RasPi immer zuerst beide Magnetventile, danach startet der Pumpvorgang aus dem Vorratsbehälter. Ist die Zeit für die erste Gießwasserförderung abgelaufen, kontrolliert das System über den ersten Feuchtesensor, ob der Zustand “nass” für die Erdfeuchte am Pflanzplatz bereits erreicht ist. Bei Bedarf wird nachgefördert. Danach schließt das erste Ventil. Der zweite Strang bleibt längere Zeit offen und wird nach gleichem Schema kontrolliert, bis das Skript zuerst die Pumpe stoppt und zu guter Letzt auch das zweite Ventil schließt.
Das Python-Skript liegt in einem eigenen Ordner im Home-Verzeichnis. In der rc.local aufgerufen, startet es beim Hochfahren des Rechners automatisch. Wer mag, kann auch einen ordentlichen Dienst daraus machen. Alles wurde recht einfach gehalten, genügt aber für den täglichen Betrieb und lässt sich im Bedarfsfall jederzeit ausbauen. Das Skript und die im Folgenden beschriebene PHP-Website für die Fernbedienung finden Sie im Github-Projekt [1] des Autors. Von dort laden Sie bei Interesse auch den Schalt- und Verlegungsplan der Wasserversorgung herunter.
Da der RasPi im lokalen Netz hängt, kann man ihn von dort aus auch per SSH erreichen und warten. Dazu genügt eine Anmeldung in einem Terminal mittels ssh pi@watering. Im Unterschied zu vergleichbaren Projekten haben wir dem Bewässerungsautomaten jedoch kein separates Menü im Terminal spendiert. Es handelt sich ja um ein einfaches Arbeitstier, das jeden Tag dem immer gleichen Ablauf folgt. Was ansonsten an Bedienung anfällt, wollen wir im Webbrowser erledigen.
Fernbedienung per Web
Der Bewässerungsautomat funktioniert auch ohne Internet-Zugang zuverlässig. Wenigstens einen Remote-Zugang sollte er aber schon bekommen, um nicht alles am Gerät ablesen zu müssen und sich Taster oder Touchscreen am Gehäuse zu sparen. Alles soll ja auch gut wasserdicht sein.
Steht der Automat im Garten außer Reichweite des eigenen Routers, kann ein Repeater auf halber Strecke helfen. Ersatzweise stöpselt man in der Testphase die Steuereinheit an den Verbindungssteckern einfach ab und programmiert den RasPi drahtlos in der Wohnung neu. Für den Fernzugriff braucht es jedoch immer eine Netzwerkverbindung, sodass man auch im Urlaub bei Bedarf eingreifen kann.
Käufliche Automaten kommen da heutzutage mitunter schon mit einer Smartphone-App daher. Wir haben eine Weboberfläche zur Bedienung entworfen, die auch auf dem Handy funktioniert. Da wir keine Hersteller-Cloud zur Verfügung haben, müsste unser RasPi samt HTTP-Server über eine feste IP-Adresse im Internet erreichbar sein.
Wir haben uns jedoch für eine einfachere Variante entschieden und die Bedienoberfläche (Abbildung 5) auf dem eigenen Webspace in einer PHP-Datei platziert. Nach Aufruf der entsprechenden URL sendet dieses Interface auf Knopfdruck vordefinierte Befehle an den Automaten. Derzeit sind die fünf Aktionen aus der Tabelle “Funktionen im Web-Interface” implementiert. Der Raspberry Pi fragt im Steuerskript die entsprechenden Befehle in kurzen Zeitintervallen ab und löst gegebenenfalls die entsprechenden Aktionen aus.
|
Name |
Funktion |
|---|---|
|
Aktiv |
Zeitschaltung der Bewässerung aktivieren (Standard: ein). |
|
Aus |
Zeitschaltung deaktivieren. Automat bleibt eingeschaltet. |
|
Wasser |
Gesonderte Wassergabe, unverzüglich für 10 Sekunden und über beide Leitungen. |
|
Neustart |
Automat neu starten. Nach dem Neustart des RasPi ist das Web-Interface wieder aktiv. |
|
Down |
Herunterfahren des RasPi. Danach ist ein manuelles Aus- und Einschalten notwendig. |
Als Basis für unsere Umsetzung dient eine Entwicklung von Christian Grieger [2]. Der Vorteil seiner Methode: Sie erfordert keine aufwendigen Vorkehrungen wie dynamisches DNS. Der Nachteil: Rückmeldungen kommen etwas zeitverzögert an, was aber im konkreten Fall wenig stört. Die Webseite zur Fernsteuerung sollte man aber unbedingt mit einem Login absichern.
Fazit
Unsere Pflanzenbewässerung tut genau, was sie soll, im besten Sinn. Als wir sie bei sonnigem Wetter die letzten Sommertage am Haus in Betrieb hatten, war die Kontrolle der Funktionalität kein Problem (Abbildung 6).
So darf sie nächstes Jahr die Urlaubsvertretung übernehmen. Zwar kann sie nicht den ganzen Garten versorgen, das wäre wohl übers Ziel hinausgeschossen. Für die wichtigsten Pflanzen in einem abgegrenzten Bereich, wie im Gewächshaus, im Wintergarten oder dem Wohnzimmer, kann unsere Steuerung aber ein echter Helfer sein. (jlu)
Der Autor
Swen Hopfe arbeitet bei einem mittelständischen Unternehmen mit Schwerpunkt Chipkarte und NFC. Wenn er nicht gerade beim Fotografieren, in der Natur oder im Garten unterwegs ist, beschäftigt er sich mit Themen rund um den RasPi, IoT und Hausautomation.
Infos
- Projekt auf Github: https://github.com/swenae/watering
- Elektronik-Projekte von Christian Grieger: https://elektro.turanis.de








