Smarter Pflanzenwächter mir ESP32
Gehörst du zu den Menschen, deren Pflanzen vorbildlich gedeihen, oder gleicht deine Wohnung eher einer Reha-Station für vertrocknete Sukkulenten?
Egal, welcher Typ du bist – heute bauen wir einen Lebensretter. Und das Beste: Wir nutzen dafür die Geheimwaffe unter den Mikrocontrollern, den ESP32. Dank seines integrierten WLANs lassen wir deine Pflanze nämlich einfach eine Nachricht an dein Smartphone schicken, wenn sie Durst hat!
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 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 | 92160 (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 einrichten
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:
1. Serial Monitor öffnen (Werkzeuge → Serial Monitor, 115200 Baud)2. 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
3. Sensorspitze in ein Glas Wasser tauchen (nur die Metallfläche, nicht die Platine!) → Wert notieren als WATER_VALUE
4. 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 |