Automatische Pflanzenbewässerung mit Raspberry Pi und Web-Dashboard
Erstellen Sie ein selbstbewässerndes System, das die Bodenfeuchte überwacht und Ihre Zimmerpflanze automatisch bewässert – alles steuerbar über eine Weboberfläche.
Überblick
Diese Anleitung führt Sie durch jeden Schritt – von der Komponentenauswahl über Verdrahtung, Programmierung bis hin zum Start eines Flask-Web-Dashboards. Das Ergebnis ist eine zuverlässige, wartungsarme Bewässerungslösung, die auf einem Raspberry Pi läuft.
Materialien
- Raspberry Pi 3 (Pi 2/4 funktionieren mit geringfügigen Pin-Änderungen ebenfalls)
- Bodenfeuchtesensor (analoger Ausgang)
- 5 V Relais-Modul (einkanalig)
- 3–6 V Mini-Tauchpumpe (≤ 200 ml/min)
- Flexibler Wasserschlauch (1 Zoll oder kleiner)
- Dupont-Jumperkabel (buntes Set, 120 Stück)
- 5 V Netzteil (USB-Kabel + Netzteil oder 5 V Adapter)
- Optional: Kleines Potentiometer zur Sensorkalibrierung
Stromversorgung
Nutzen Sie ein USB-Kabel als 5 V Quelle. Isolieren Sie das Kabel, löten Sie dickere Drähte an die roten (+) und schwarzen (–) Adern und verbinden Sie sie mit einem 5 V Netzteil. Prüfen Sie die Spannung mit einem Multimeter, bevor Sie den Pi anschließen.
GPIO-Verdrahtung (Pi 3)
- Bodensensor: Plus an Pin 2 (5 V), Minus an Pin 6 (GND), Signal (gelb) an Pin 8 (GPIO 14).
- Relais: IN-Pin an Pin 7 (GPIO 4), VCC an Pin 2, GND an Pin 5.
- Pumpe: Pumpenstrom an den Normally Open (NO) Kontakt des Relais; Masse an Common (COM). Wenn der Pi Pin 1 (GPIO 5) auf LOW zieht, schließt das Relais und die Pumpe wird aktiviert.
Schließen Sie den Schlauch an den Pumpenauslass an und positionieren Sie das andere Ende nah an der Pflanzenerde. Füllen Sie den Schlauchvorrat mit Wasser.
Hardware-Montage
Befestigen Sie den Schlauch mit Isolierband an der Pumpe, um Lecks zu vermeiden. Stellen Sie sicher, dass alle Verbindungen isoliert sind und der Pi separat von der Pumpenstromversorgung gespeist wird, um elektrische Störungen zu vermeiden.
Software-Überblick
Das Projekt besteht aus vier Python-Skripten und einem Flask-Webinterface:
- water.py – GPIO-Abstraktion für Sensoreinlesen und Pumpensteuerung.
- auto_water.py – Geplante Bewässerungslogik.
- web_plants.py – Flask-App, die Sensortatus und manuelle Steuerung bereitstellt.
- main.html – Einfaches Dashboard-Template.
Abhängigkeiten installieren
Auf dem Pi folgende Befehle ausführen:
$ python3 -m pip install RPi.GPIO flask psutil
GPIO-Steuerungsskript (water.py)
Das Skript stellt zwei zentrale Funktionen bereit: get_status() gibt einen „nass/trocken“-String zurück, und pump_on() aktiviert die Pumpe für eine Sekunde. Interaktiv testen:
$ python3
>>> import water
>>> water.get_status()
'Trocken'
>>> water.pump_on()
Pumpe für 1 s aktiviert.
Falls der Sensor falsch meldet, justieren Sie das kleine Potentiometer am Modul, bis die zweite LED leuchtet, während die Erde feucht ist.
Flask-Dashboard starten
Legen Sie web_plants.py in denselben Ordner wie water.py und erstellen Sie ein Unterverzeichnis templates mit main.html. Dann Server starten:
$ sudo python3 web_plants.py
Rufen Sie die IP-Adresse des Pi im Browser auf; Sie sehen ein Dashboard mit Echtzeit-Feuchtestatus und einem manuellen „Jetzt gießen“-Button. Die Seite wird von Flask betrieben und kommuniziert über die Hilfsskripte mit der GPIO-Ebene.
Autostart mit Cron einrichten
Damit der Webserver nach einem Neustart automatisch startet, bearbeiten Sie die root-crontab:
$ sudo crontab -e
Fügen Sie folgende Zeile ein (Pfad anpassen):
@reboot cd /home/pi/projekt && sudo python3 web_plants.py
Pi neu starten und prüfen, ob das Dashboard automatisch lädt.
Weitere Schritte
Mit dem laufenden System können Sie es erweitern durch:
- Mehrere Pflanzenmodule und ein gemeinsames Dashboard.
- Protokollierung der Feuchtewerte in CSV oder Datenbank.
- E-Mail- oder Push-Benachrichtigungen bei Bewässerung.
Für tieferes Verständnis konsultieren Sie Raspberry Pi GPIO-Tutorials und Flask-GPIO-Integrationsanleitungen.
Herstellungsprozess
- Temperatur mit DS18B20 am Raspberry Pi 2 auslesen
- Raspberry Pi-gesteuertes Aquaponik-System: Bauanleitung & Code
- Temperaturmessung mit Maxim 1-Wire Sensoren und DS2482 I2C-Bridge am Raspberry Pi
- Home Energy Centre: Solar PV, Thermische Panels & Raumtemperaturen mit Raspberry Pi & Moteino überwachen
- Präzise Temperaturüberwachung im Server-Schrank mit Raspberry Pi
- DS1820 One-Wire Temperatursensor an Raspberry Pi GPIO anschließen
- HC-SR04 Ultraschallsensor an Raspberry Pi 3 anschließen – Komplettanleitung
- Line-Tracking-Sensor mit Raspberry Pi – Einfacher KY-033 Tür/Line Detektor
- Blitzdetektion mit Raspberry Pi und AS3935: Praktischer Leitfaden
- Analoge Sensoren am Raspberry Pi ohne nativen ADC auslesen – Step-Response Methode