Der smarte Pflanzenwächter
Wie du deinen grünen Daumen mit einem ESP32 Board, einem Feuchtigkeitssensor und ein paar Zeilen Code digitalisierst.
Egal, welcher Typ du bist – heute bauen wir einen Lebensretter. Und das Beste: Wir nutzen dafür die Geheimwaffe unter den Mikrocontrollern, den ESP32. Während ein normaler Arduino bei diesem Projekt an seine Grenzen stößt, schlägt hier die Stunde des ESP32. Dank seines integrierten WLANs lassen wir deine Pflanze nämlich einfach eine Nachricht an dein Smartphone schicken, wenn sie Durst hat!
Hier ist dein Fahrplan für den Smart-Garden-Pflanzenwächter.
Benötigte Komponenten
- ESP32 Development Board (z. B. NodeMCU ESP32)
- Kapazitiver Bodenfeuchtigkeitssensor
- Jumperkabel (Buchse-auf-Buchse oder Stecker-auf-Buchse, je nach deinem ESP32)
- Eine bedürftige Pflanze zum Testen.
Schritt 1 -Verkabelung
Das Projekt ist perfekt für Einsteiger, weil die Hardware-Verbindung extrem simpel ist.
Der Sensor hat nur drei Pins:
- VCC (Strom) ➡️ Verbinde ihn mit 3V3 am ESP32
- GND (Masse) ➡️ Verbinde ihn mit GND am ESP32
- AOUT (Analoges Signal) ➡️ Verbinde ihn mit einem analogen Pin, z. B. GPIO 34
Schritt 2 - Arduino IDE einrichten
Der Sensor misst die Feuchtigkeit und gibt uns einen analogen Wert zurück.
- Arduino IDE öffnen
- Datei -> Voreinstellungen -> Zusätzliche Boardverwalter-URLs: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Werkzeuge -> Board -> Boardverwalter ->esp32 suchen -> esp32 by Expressif Systems installieren
Board Einstellungen
Werkzeuge -> Board -> ESP32 Arduino -> ESP32 Dev Module
Einstellung | Wert |
Upload Speed | 921600 (bei Problemen: 115200) |
Flash Frequency | 80MHz |
Partition Scheme | Default |
Benötigte Libraries
Keine (WiFi.h und WebServer.h sind im ESP32-Boardpaket bereits enthalten)
Schritt 3 - WLAN-Zugangsdaten eintragen
Jetzt kommt das WLAN des ESP32 ins Spiel. Sobald der gemessene Wert dein "Wüstentrocken"-Limit unterschreitet, soll eine Aktion ausgelöst werden.
im Sketch bodenfeuchtigkeit_esp32.ino ganz oben anpassen:
- const char* ssid = "DeinWLANName"
- const char* password= "Dein WLANPasswort"
Schritt 4 - Sketch hochladen
- ESP32 per USB anschließen
- Werkzeuge → Port → COMx auswählen (Gerätemanager → Anschlüsse (COM & LPT))
- Sketch öffnen: bodenfeuchtigkeit_esp32.ino
- Hochladen (Pfeil-Symbol) klicken
Manche Boards brauchen beim Start des Uploads einen Druck auf die BOOT-Taste, bis „Connecting..." im Ausgabefenster erscheint
Schritt 5- Kalibrierung
Die Rohwerte des Sensors unterscheiden sich leicht von Exemplar zu Exemplar -deshalb kurz kalibrieren:
- Serial Monitor öffnen (Werkzeuge → Serial Monitor, 115200 Baud)
- Sensor an der Luft halten (trocken, nicht in der Erde) → im Browser http:///data aufrufen oder Serial-Ausgabe prüfen → Wert notieren als AIR_VALUE
- Sensorspitze in ein Glas Wasser tauchen (nur die Metallfläche, nicht die Platine!) → Wert notieren als WATER_VALUE
- Beide Werte im Sketch eintragen:
int AIR_VALUE = 3200; // dein gemessener Trockenwert
int WATER_VALUE = 1300; // dein gemessener Nasswert
5. Sketch erneut hochladen
Ohne Kalibrierung funktioniert die Anzeige mit den Standardwerten meist grob -für genaue Prozentwerte lohnt sich der kurze Test aber.
Schritt 6- Bedienung
- Nach dem Start öffnet sich im Serial Monitor die IP-Adresse des ESP32: Verbunden! Im Browser öffnen: http://192.168.1.42
- Smartphone mit dem gleichen WLAN verbinden wie den ESP32
- Im Handy-Browser die angezeigte Adresse öffnen (z. B. 192.168.1.42)
- Die Seite zeigt den aktuellen Feuchtigkeitswert als Prozentanzeige und Balken, aktualisiert automatisch alle 2 Sekunden
Fehlerbehebung
ESP32 taucht nicht im Boardmanager auf
Boardverwalter-URL prüfen, Arduino IDE neu starten
Upload schlägt fehl / „Connecting..." hängt
BOOT-Taste beim Verbinden gedrückt halten
Wrong boot mode detected (0x13)
ESP32 ist nicht im Download-Modus: BOOT-Taste gedrückt halten, sobald „Connecting..." erscheint, bis „Writing at..." startet. Hilft das nicht: EN + BOOT gleichzeitig drücken, EN loslassen, BOOT weiter halten. Alternativ Upload Speed auf 115200 senken
No serial data received
Keine Antwort vom ESP32 über USB. Reihenfolge zum Testen: (1) anderes USB-Kabel -viele sind reine Ladekabel ohne Datenleitung, (2) USB-Treiber prüfen (CP2102 oder CH340, je nach Board -Gerätemanager auf Warnsymbole prüfen), (3) Upload Speed auf 115200 senken, (4) EN- und BOOT-Taste manuell wie oben nutzen, (5) anderen USB-Port direkt am PC (kein Hub) probieren
Anzeige immer bei 0 % oder 100 %
AOUT-Kabel prüfen, ggf. AIR_VALUE/WATER_VALUE neu kalibrieren
Rohwert bleibt konstant bei 4095
Sensor nicht richtig verbunden -VCC/GND/AOUT-Verkabelung prüfen
Handy findet die Seite nicht
Beide Geräte müssen im gleichen WLAN sein (nicht Mobilfunknetz)
WLAN verbindet nicht
SSID/Passwort im Sketch prüfen, ESP32 unterstützt nur 2.4 GHz-WLAN
Serial Monitor zeigt nur endlos Punkte ...
Nach 20 Sekunden bricht der Sketch automatisch ab und zeigt einen Status-Code (1=SSID nicht gefunden, 4/6=Passwort falsch, 7=nicht verbunden). SSID/Passwort im Sketch genau prüfen (Groß-/Kleinschreibung!) und sicherstellen, dass es sich um ein 2.4-GHz-Netz handelt -5 GHz unterstützt der ESP32 nicht