Bewässerungssystem und Wetterstation

Beschreibung

Das Bewässerungssystem inklusive Wetterstation dient der automatischen Bewässerung von Pflanzen auf dem Balkon oder im Garten. Der Bewässerungsbedarf wird über einen Bodenfeuchtigkeitssensor ermittelt. Der Bewässerungszeitpunkt lässt sich zudem zeitlich steuern. Sowohl in welchem Monat als auch zu welchen Tageszeiten eine Bewässerung stattfinden soll. Die Bewässerungsdauer ist ebenfalls einstellbar. Das Wasser wird aus aus einem Tank per Pumpe entnommen. Eine Prüfung des Füllstands durch einen Schwimmerschalter ist daher auch vorhanden. Zusätzlich wird die aktuelle Temperatur (Luft, Boden u. Wasser), die Luftfeuchtigkeit und der Luftdruck ermittelt. Zur Vermeidung von Frostschäden an der Pumpe wird bei Bedarf durch eine Aquarien-Heizung die Wassertemperatur über dem Gefrierpunkt gehalten. Die System basiert auf einem ESP32 und wird in das WLAN eingebunden. Über ein Webinterface erfolgte die Steuerung und Konfiguration. Ebenso ist eine MQTT-Schnittstelle implementiert. Updates lassen sich bequem per OTA einspielen.

Schaltplan

Schaltplan

Hardware Aufbau

Alle Komponenten der Steuerung (ESP 32, ADC, Relais Modul) sind in einem IP66 Gehäuse (T100 von OBO Bettermann) untergebracht. Das separate Netzteil stellt 12V DC für die Pumpe zur Verfügung. Mittels eines DC-DC-Konverters wird das ESP32 NodeMCU Modul mit 5V versorgt. Die weitere Versorgung mit 5V bzw. 3.3V erfolgt vom ESP-Modul aus.

Blick ins Gehäuse


Der SMT50 misst sowohl die Bodenfeuchtigkeit als auch die Bodentemperatur. Das Analoge Signal wird durch den ADS1115 in eine digitale Informationen umgewandelt und über den I2C-Bus vom ESP ausgelesen. Zusätzliche Daten zur Lufttemperatur, zur Luftfeuchtigkeit und zum Luftdruck liefert der BME280. Er befindet sich in einem separaten Gehäuse von TFA Dostmann (98.1114.02). Zur Anbindung über den I2C-Bus empfiehlt sich bei längerer Distanz eine geschirmte Leitung.

Gehäuse für BME280

Die Wassertemperatur wird durch einen DS18B20 ermittelt. Es ist darauf zu achten, dass der Sensor wirklich wasserdicht ist und die Leitung über einen Silikonmantel verfügt. Sinkt der Wasserstand, so dass die Pumpe Gefahr läuft, trocken zu laufen, wird dies durch einen Schwimmerschalter signalisiert.
Über ein 2-Relais-Modul wird zum einen die Pumpe und zum anderen die Heizung geschaltet.

Webinterface

Das Webinterface bietet drei Ansichten. Die Hauptansicht listet alle relevanten Informationen und ermöglicht die Steuerung von Pumpe und Heizung. Über zwei Buttons gelangt man zur Konfiguration bzw. zum OTA-Update.

Webinterface

Software

Die Software basiert auf Arduino. Zur Integration der Sensoren werden die entsprechenden Libraries benötigt. Die Konfiguration der Zugangsdaten zum WLAN erfolgt im Quellcode. Ebenso lassen sich weitere Parameter zur Steuerung und zum MQTT-Client an die eigenen Bedürfnisse anpassen.

Die Bewässerung erfolgt sobald der Schwellwert des Bodenfeuchtigkeitssensor unterschritten wird, die Bewässerungsperiode sowie die Bewässerungszeit eingehalten, der Wasserstand im Tank ausreichend ist und die letzte Bewässerung mehr als 30 Minuten (konfigurierbar) her ist.

Alle Konfigurationsparameter werden im Flash-Speicher es ESP gesichert und stehen nach einem Neustart unverändert zur Verfügung. Bricht die WLAN-Verbindung ab, wird sie automatisch wieder aufgebaut. Gleiches gilt für die Verbindung zum MQTT-Server, sofern diese aktiviert ist.
Die lokale Steuerung funktioniert unabhängig von einer Netzwerkverbindung. Möchte man diese nicht verwenden und das System über MQTT ansteuern, lässt sie sich in der Konfiguration deaktivieren.

MQTT

Die nachfolgende Tabelle erläutert die Steuerung über MQTT:

TopicValueBedeutung
tele/<main_topic>/STATE{„air-temperature“:6.65,
„soil-temperature“:6.49,
„water-temperature“:7.56,
„humidity“:66.81,
„pressure“:1011.95,
„altitude“:10.80,
„moisture“:14.53,
„level“:0,
„last-irrigation“:“01.09.2020 07:32″,
„pump“:“OFF“,
„heating“:“OFF“,
„signal“:-76}
Übertragung aller Status-Informationen im JSON-Format
stat/<main_topic>/PUMPOFF/ONStatus Pumpe
cmnd/<main_topic>/PUMPOFF/ONSteuerung Pump
stat/<main_topic>/HEATINGOFF/ONStatus Heizung
cmnd/<main_topic>/HEATINGOFF/ONSteuerung Heizung
stat/<main_topic>/LEVEL0/1Status Füllstand Tank
tele/<main_topic>/LWTOFF/ONStatus Verbindung MQTT

Download

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert