Surveillant de plantes intelligent avec ESP32
Faites-vous partie des personnes dont les plantes poussent de manière exemplaire, ou votre logement ressemble-t-il plutôt à un centre de réhabilitation pour succulentes desséchées ?
Quoi qu’il en soit, aujourd’hui, nous construisons un sauveur de vies. Et le meilleur dans tout ça : nous utilisons pour cela l’arme secrète parmi les microcontrôleurs, le ESP32. Grâce à son Wi-Fi intégré, nous allons faire en sorte que votre plante envoie simplement un message à votre smartphone lorsqu’elle a soif !
Composants nécessaires
- Carte de développement ESP32 (par ex. NodeMCU ESP32)
- Capteur capacitif d'humidité du sol
- Câbles jumper (femelle-femelle ou mâle-femelle, selon votre ESP32)
- Une plante ayant besoin d'eau pour les tests.
- ESP32.ino
Étape 1 : câblage
Ce projet est parfait pour les débutants, car la connexion matérielle est extrêmement simple. Le capteur n'a que trois broches :
- VCC (alimentation) : Connectez-le à 3V3 sur l'ESP32
- GND (masse) : Connectez-le à GND sur l'ESP32
- AOUT (signal analogique) : Connectez-le à une broche analogique, par exemple GPIO 34
Étape 2 :
Configurer l'IDE Arduino
Le capteur mesure l'humidité et renvoie une valeur analogique.
- Ouvrir l'IDE Arduino
- Fichier -> Préférences -> URLs supplémentaires pour le gestionnaire de cartes : https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Outils -> Carte -> Gestionnaire de cartes -> rechercher esp32 -> installer esp32 by Espressif Systems
-> Remarque : Vous trouverez ici le guide complet pas à pas pour configurer l'IDE : https://www.roboter-bausatz.de/c/projekte/arduino-elektronik/anleitung-esp32-in-arduino-ide-einrichten/
Paramètres de la carte
Outils -> Carte -> ESP32 Arduino -> ESP32 Dev Module
| Paramètre | Valeur |
| Vitesse de téléchargement | 92160 (en cas de problème : 115200) |
| Fréquence Flash | 80MHz |
| Schéma de partition | Default |
Bibliothèques requises
Aucune (WiFi.h et WebServer.h sont déjà inclus dans le package ESP32)
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
Résolution des problèmes
| ESP32 n'apparaît pas dans le gestionnaire de cartes | Vérifier l'URL du gestionnaire de cartes, redémarrer l'IDE Arduino |
| Le téléchargement échoue / « Connecting... » reste bloqué | Maintenir la touche BOOT enfoncée lors de la connexion |
| Wrong boot mode detected (0x13) | L'ESP32 n'est pas en mode téléchargement : maintenir la touche BOOT enfoncée dès que « Connecting... » apparaît, jusqu'à ce que « Writing at... » commence. Si cela ne fonctionne pas : appuyer simultanément sur EN + BOOT, relâcher EN, continuer à maintenir BOOT. Sinon, réduire la vitesse de téléchargement à 115200 |
| No serial data received | Aucune réponse de l'ESP32 via USB. Ordre de test : (1) autre câble USB - beaucoup sont des câbles de charge uniquement sans ligne de données, (2) vérifier les pilotes USB (CP2102 ou CH340 selon la carte - vérifier les symboles d'avertissement dans le gestionnaire de périphériques), (3) réduire la vitesse de téléchargement à 115200, (4) utiliser manuellement les touches EN et BOOT comme indiqué ci-dessus, (5) essayer un autre port USB directement sur le PC (pas de hub) |
| L'affichage reste à 0 % ou 100 % | Vérifier le câble AOUT, recalibrer si nécessaire AIR_VALUE/WATER_VALUE |
| La valeur brute reste constamment à 4095 | Capteur mal connecté - vérifier le câblage VCC/GND/AOUT |
| Le téléphone ne trouve pas la page | Les deux appareils doivent être sur le même réseau WLAN (pas de réseau mobile) |
| Le WLAN ne se connecte pas | Vérifier le SSID/mot de passe dans le sketch, l'ESP32 ne prend en charge que le WLAN 2,4 GHz |
| Le moniteur série affiche uniquement des points en continu... | Après 20 secondes, le sketch s'interrompt automatiquement et affiche un code d'état (1=SSID introuvable, 4/6=mot de passe incorrect, 7=non connecté). Vérifier précisément le SSID/mot de passe dans le sketch (respecter la casse !) et s'assurer qu'il s'agit d'un réseau 2,4 GHz - l'ESP32 ne prend pas en charge le 5 GHz |