Listing 4
pots:
- pot:
sensorchannel: 1
sensorgpio: 19
pumpsekunden: 15
pumpsekunden2: 5
schwellwert: 825
schwellwert2: 805
messpause: 60
messpause2: 1200
relaisgpio: 16
name: ficus
- pot:
sensorchannel: 2
sensorgpio: 26
pumpsekunden: 10
pumpsekunden2: 5
schwellwert: 825
schwellwert2: 785
messpause: 60
messpause2: 1200
relaisgpio: 20
name: orchid
- pot:
sensorchannel: 3
sensorgpio: 13
pumpsekunden: 10
pumpsekunden2: 5
schwellwert: 825
schwellwert2: 785
messpause: 60
messpause2: 1200
relaisgpio: 21
name: dickblatt
tank:
sensorchannel: 0
sensorgpio: 17
messpause: 7200
schwellwert: 830
mail:
server: 1.2.3.4
from: watering@local
to: gaertner@local
influx:
server: 2.3.4.5
user: garten
password: gartenpw
database: gartendb
debug: True
monitoronly: True
Fazit
Für alle drei Töpfe muss der Autor am Ende noch empirisch die Schwellwerte aller Kombinationen aus Pflanze und Füllung des Topfs (Erde, Substrat) ermitteln (Listing 4). Ein vierter Sensor, den Abbildung 1 nicht auflistet, kommt schließlich in den Wassertank. Ihn überwacht ein eigener Thread, das rote Kabel steckt der digitale Gärtner an einen weiteren freien GPIO-Port des Raspberry Pi Zero [4]. Fehlt im Tank das Wasser, sendet das Skript eine E-Mail und blockiert die anderen Threads, bis der Pflanzeneigner sich bequemt, den Tank wieder aufzufüllen.
Die Daten für den Tanksensor finden sich in der YAML-Datei im Block tank, die E-Mail-Parameter stehen im Block mail. Je nach Konfiguration des lokalen E-Mail-Systems sollte man den Code anpassen, sodass er eine ausführlichere E-Mail mit sauberem Betreff enthält, um nicht im Spam zu landen. Die Konfigurationsdatei enthält zudem den Parameter debug, der das Skript im Ablauf gesprächiger macht.
Für größere Bepflanzungen, wie etwa einen Blumenkasten, müssten pro Kasten mehrere Sensoren und Wasserzuführungen zum Einsatz kommen. Hier wäre dann wieder etwas Experimentieren angesagt, um die gewünschte durchschnittliche Bodenfeuchte zu erreichen. Die Messwerte tragen die Skripte zugleich in eine Influx-Datenbank ein. Auf deren Basis kann man sich dann etwa mittels Grafana eine Übersicht verschaffen, um die Parameter nach der Analyse auf längere Sicht noch besser anzupassen.(kki/jlu)
Der Autor
Konstantin Agouros arbeitet als Head of Open Source & AWS Projects bei der Matrix Technology AG und berät dort mit seinem Team Kunden zu den Themen Open Source, Sicherheit und Cloud. Sein Buch “Software Defined Networking: Praxis mit Controllern und OpenFlow” ist bei De Gruyter erschienen.
Infos
- Einführung: Charly Kühnast, “Nächste Station: Gießen”, LM 06/2015, S. 51, https://www.linux-magazin.de/34672
- Bewässerungskit: https://www.amazon.de/WayinTop-Automatische-Bew%C3%A4sserung-Bew%C3%A4sserungssystem-Bodenfeuchtesensor/dp/B07TJQSHR2/
- Python-Bibliothek von Adafruit: https://github.com/adafruit/Adafruit_Python_MCP3008
- GPIOs: https://www.raspberrypi.org/documentation/usage/gpio/





