Geautomatiseerd Plantenwatersysteem met Raspberry Pi & Webdashboard
Creëer een zelfwaterend systeem dat de grondvochtigheid monitorert en je kamerplant automatisch water geeft, allemaal te beheren via een webinterface.
Overzicht
Deze gids begeleidt je door elke stap — van componentselectie tot bedrading, coderen, en het lanceren van een Flask-webdashboard. Het resultaat is een betrouwbare, laag-onderhoud wateroplossing die draait op een Raspberry Pi.
Materialen
- Raspberry Pi 3 (elke Pi 2/4 werkt met kleine pinwijzigingen)
- Grondvochtigheidssensor (analoge uitgang)
- 5 V Relaismodule (één kanaal)
- 3–6 V Mini Potwaterpomps (≤ 200 mL min-1)
- Flexibele waterslang (1-inch of kleiner)
- Dupont jumperkabels (gekleurde set, 120 stuks)
- 5 V Voeding (USB-kabel + muurlaad of 5 V adapter)
- Optioneel: Kleine potentiometer voor sensorcalibratie
Stroomvoorziening Instellen
Gebruik een USB-kabel als 5 V bron. Strip de kabel, soldeer dikke draden aan de rode (+) en zwarte (–) aders, en sluit ze aan op een 5 V muurlaad. Controleer de spanning met een multimeter voordat je verbindt met de Pi.
GPIO Bedrading (Pi 3)
- Grond-sensor: Positief naar pin 2 (5 V), Negatief naar pin 6 (GND), Signaal (geel) naar pin 8 (GPIO 14).
- Relais: IN-pin naar pin 7 (GPIO 4), VCC naar pin 2, GND naar pin 5.
- Pomp: Verbind pompstroom met het relais' Normaal Open (NO) contact; massa naar het Common (COM) contact. Wanneer de Pi pin 1 (GPIO 5) LAAG trekt, sluit het relais en activeert de pomp.
Bevestig de slang aan de pomp-uitlaat en positioneer het andere uiteinde bij de plantengrond. Vul het slangreservoir met water.
Hardware-assemblage
Bevestig de slang aan de pomp met isolatietape om lekkages te voorkomen. Zorg dat alle verbindingen geïsoleerd zijn en de Pi apart gevoed wordt van de pompstroom om elektrische ruis te voorkomen.
Software-overzicht
Het project bestaat uit vier Python-scripts en een Flask-webinterface:
- water.py – GPIO-abstractie voor sensoruitgelezen en pompbesturing.
- auto_water.py – Geplande waterlogica.
- web_plants.py – Flask-app die sensorstatus en handmatige bediening blootlegt.
- main.html – Eenvoudig dashboard-template.
Afhankelijkheden Installeren
Op de Pi, voer het volgende uit:
$ python3 -m pip install RPi.GPIO flask psutil
GPIO-besturingsscript (water.py)
Het script blootlegt twee sleutelfuncties: get_status() geeft een nat/droog-tekenreeks terug, en pump_on() activeert de pomp voor één seconde. Test het interactief:
$ python3 >>> import water >>> water.get_status() 'Droog' >>> water.pump_on() Pomp geactiveerd voor 1 s.
Als de sensor verkeerd rapporteert, pas de kleine potentiometer op de module aan tot de tweede LED brandt terwijl de grond vochtig is.
De Flask-dashboard Draaien
Plaats web_plants.py in dezelfde map als water.py en maak een subdirectory templates met main.html. Start dan de server:
$ sudo python3 web_plants.py
Surf naar het IP-adres van de Pi in een browser; je ziet een dashboard met real-time vochtstatus en een handmatige "Water Nu" knop. Deze pagina wordt aangedreven door Flask en communiceert met de GPIO-laag via de helperscripts.
Automatische Opstart met Cron
Om ervoor te zorgen dat de webserver automatisch start na herstart, bewerk de root-crontab:
$ sudo crontab -e
Voeg de onderstaande regel toe, vervang /home/pi/project door je daadwerkelijke pad:
@reboot cd /home/pi/project && sudo python3 web_plants.py
Herstart de Pi en bevestig dat het dashboard automatisch laadt.
Volgende Stappen
Met het systeem operationeel, kun je het verbeteren door toe te voegen:
- Meerdere plantmodules en een enkel dashboard.
- Logging van vochtigheidsniveaus naar CSV of database.
- E-mail of push-notificaties wanneer wateren plaatsvindt.
Voor dieper leren, raadpleeg Raspberry Pi GPIO-tutorials en Flask-GPIO integratiegidsen.
Productieproces
- Hoe Temperatuur Te Lezen Met Een DS18B20 Op Raspberry Pi 2
- Raspberry Pi-gestuurd Aquaponica Systeem: Bouwgids & Code
- Temperatuurmeting op Raspberry Pi met Maxim 1-Wire sensoren en DS2482 I2C-brug
- Home Energy Centre: Zonnepanelen, thermische panelen en kamertemperaturen monitoren met Raspberry Pi en Moteino
- Accurate temperatuurbewaking in een serverkast met Raspberry Pi
- Hoe een DS1820 One-Wire temperatuursensor aan te sluiten op een Raspberry Pi via GPIO
- HC-SR04 ultrasoon-sensor aansluiten op Raspberry Pi 3 – Complete gids
- Lijnvolgsensor met Raspberry Pi – Simpele KY-033 deur/lijndetector
- Bliksemdetectie met Raspberry Pi en AS3935: Een Praktische Handleiding
- Analoge Sensoren Meten op Raspberry Pi Zonder Native ADC
- Een Headless Raspberry Pi 2 Wateralarm Bouwen met Adafruit T-Cobbler Plus