Erstellen eines automatisierten Bewässerungssystems für den Garten mit ESP32 und MQTT
10.12.2024 - Engine: Gemini

Erstellen eines Bewässerungssystems für den Garten mit ESP32 und MQTT
Benötigte Komponenten
- ESP32-Mikrocontroller
- Feuchtigkeitssensor
- Relaiskarte
- Ventile
- Wasserpumpe
- MQTT-Server
Schritte
1. Verbinden der Komponenten
- Verbinden Sie den Feuchtigkeitssensor mit einer analogen Eingangs-Pin am ESP32.
- Verbinden Sie die Relaiskarte mit einem digitalen Ausgangs-Pin am ESP32.
- Verbinden Sie die Ventile mit der Relaiskarte.
- Verbinden Sie die Wasserpumpe mit den Ventilen.
2. Installieren von Software
- Installieren Sie die Arduino IDE.
- Laden Sie die ESP32-Board-Definition in die Arduino IDE herunter.
- Installieren Sie die folgenden Bibliotheken:
- PubSubClient (für MQTT-Kommunikation)
- Adafruit Unified Sensor (für Feuchtigkeitssensor)
3. Schreiben des Codes
- Erstellen Sie ein neues Arduino-Projekt.
- Schreiben Sie den folgenden Code:
#include <PubSubClient.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_DHT.h>
const char* ssid = "IHR_WLAN_SSID";
const char* password = "IHR_WLAN_PASSWORT";
const char* mqttServer = "IHR_MQTT_SERVER";
const int mqttPort = 1883;
const char* topic = "/garten/bewaesserung";
DHT dht(FEUCHTIGKEITSSENSOR_PIN, DHT11);
// MQTT-Client einrichten
WiFiClient espClient;
PubSubClient client(espClient);
void setup() {
Serial.begin(9600);
dht.begin();
// Verbindung zum WLAN herstellen
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
// Verbindung zum MQTT-Server herstellen
client.setServer(mqttServer, mqttPort);
client.connect("garten_bewaesserung");
// MQTT-Nachricht veröffentlichen
client.publish(topic, "online");
}
void loop() {
// Feuchtigkeitssensor auslesen
float feuchtigkeit = dht.getHumidity();
// Bewässerung prüfen
if (feuchtigkeit < 30) {
// Ventile öffnen
digitalWrite(RELAIS_PIN, HIGH);
} else {
// Ventile schließen
digitalWrite(RELAIS_PIN, LOW);
}
// Daten an MQTT-Server senden
client.publish(topic, String(feuchtigkeit).c_str());
delay(5000);
}
4. Hochladen des Codes und Konfigurieren des MQTT-Servers
- Laden Sie den Code auf das ESP32-Board hoch.
- Konfigurieren Sie den MQTT-Server so, dass er den Topic
/garten/bewaesserung
abonniert.
5. Testen des Systems
- Starten Sie das System und warten Sie, bis sich das ESP32 mit dem WLAN verbindet und eine Verbindung zum MQTT-Server herstellt.
- Überprüfen Sie den MQTT-Server auf Nachrichten zum Feuchtigkeitswert und zum Bewässerungsstatus.
Hinweis
- Stellen Sie sicher, dass der Feuchtigkeitssensor für die Verwendung im Freien geeignet ist.
- Verwenden Sie ein Relais mit einer ausreichend hohen Schaltlast für die Ventile.
- Die Einstellungen für Feuchtigkeit und Bewässerungsintervalle können je nach Pflanzenart und Umgebung angepasst werden.