ESP32 en agronome : Automatiser une micro-ferme de rebord de fenêtre en gérant les pièges cachés de la puce
L'ESP32, au prix modique de 500 roubles, est devenu l'élément central du système de surveillance et de contrôle d'une micro-serre de rebord de fenêtre. La tâche principale — remplacer les suppositions humaines par des données objectives des capteurs pour assurer des conditions optimales de croissance pour les fraises, le basilic, la laitue et les poivrons. Les expériences initiales ont montré : sans mesures, il est facile de trop arroser, de lésiner sur la lumière ou de rater le stress thermique nocturne. La solution — collecte continue de données sur l'humidité du sol, les niveaux de lumière, la température et l'humidité de l'air.
Architecture du système : Capteurs, Microcontrôleur, Cloud
Le système est construit autour de l'ESP32 DevKit V1. Le choix a été motivé par trois facteurs : faible coût, support Wi-Fi intégré et disponibilité d'entrées analogiques. Quatre capteurs principaux sont connectés :
- FC-28 — mesure la résistance du sol, indiquant indirectement les niveaux d'humidité.
- BH1750 — capteur de lumière numérique qui fournit des valeurs en lux.
- DHT22 — suit la température de l'air et l'humidité relative.
- Photoresistance — capteur analogique pour une surveillance de secours de l'intensité lumineuse.
Les données sont lues toutes les 5 secondes et affichées dans le Serial Monitor pour le débogage initial. Les mesures initiales ont révélé des problèmes critiques : chutes de température nocturnes à 18°C pendant la ventilation, éclairage insuffisant (seulement 3000–4500 lux au lieu des 8000+ requis) et arrosage inégal. Après ajustements — déplacer les pots plus près de la fenêtre, ajouter une seconde lampe, modifier l'horaire d'arrosage — le rendement a subjectivement augmenté de 40 %.
Intégration de stockage dans le Cloud et visualisation
La surveillance locale via Serial Monitor devient rapidement inconfortable. Pour l'analyse à long terme, les données sont envoyées à un serveur personnel via des requêtes HTTP GET. Exemple de requête :
/sensorData.php?login=eug&sensor_id=1&val=1842&json=1
Côté serveur, un script PHP enregistre les valeurs dans une base de données. Cela permet des graphiques de séries temporelles : dynamique de l'humidité du sol après arrosage, fluctuations quotidiennes de température et stabilité de la sortie lumineuse des lampes de croissance. La visualisation transforme les chiffres bruts en tendances claires — par exemple, l'humidité du sol passe de 2100 mV à 800 mV trois jours après l'arrosage, signalant le besoin d'un nouveau cycle.
Piège dissimulé : Conflit ADC2 et Wi-Fi
Après activation du Wi-Fi, le système a soudainement cessé de transmettre les données des capteurs analogiques. Les valeurs ADC sont tombées à zéro, même si le câblage et le code étaient inchangés. La cause — utilisation de GPIO2, qui appartient à ADC2. Dans l'architecture ESP32, le module radio (Wi-Fi/Bluetooth) utilise ADC2 pour la calibration interne et le bloque pour les applications utilisateur. La solution — passer aux broches ADC1, qui fonctionnent indépendamment de l'interface sans fil.
Broches sûres pour capteurs analogiques avec Wi-Fi actif :
- GPIO32, GPIO33, GPIO34, GPIO35, GPIO36 (VP), GPIO39 (VN)
Broches dangereuses (ADC2) :
- GPIO0, GPIO2, GPIO4, GPIO12, GPIO13, GPIO14, GPIO15, GPIO25, GPIO26, GPIO27
La correction a pris une minute : changer const int analogPin = 2; en const int analogPin = 34; et rebrancher la connexion. Le système a fonctionné immédiatement.
Conseils pratiques pour un fonctionnement fiable
Pour que le système tourne de manière stable pendant des mois, suivez ces règles :
- Calibration des capteurs. Pour le FC-28, mesurez la tension de sortie dans deux extrêmes : sol complètement sec (~800 mV) et gorgé d'eau (~2200 mV). Normal autour de 1500 mV.
- Protection contre l'humidité. L'ESP32 est sensible à la condensation. Scellez toutes les connexions dans une boîte étanche ou encapsulez-les dans de la colle chaude.
- Alimentation externe. Un port USB d'ordinateur portable supporte souvent mal la pointe de consommation du module Wi-Fi et de la pompe. Utilisez une alimentation 5V/2A.
- Stockage local des données. Ne perdez pas de données pendant les pannes de serveur. Implémentez un tampon via SPIFFS ou LittleFS, puis envoyez par lots.
- Notifications. Mettez en place un bot Telegram ou des alertes email pour les paramètres hors limites (ex. humidité du sol < 1000 mV).
Philosophie et résultats : La technologie au service, pas maîtresse
En trois mois de fonctionnement, les premières tomates cerises ont été récoltées, la laitue est coupée régulièrement, le basilic pousse « comme du chiendent » et les poivrons se préparent à fleurir. La leçon principale — la technologie ne remplace pas la compréhension de la nature ; elle l'améliore. Les données réduisent les suppositions : plus besoin de se demander quand arroser ou allumer les lumières. Cela dit, même avec des lectures parfaites des capteurs, les plantes peuvent se comporter de manière imprévisible — un rappel que la biologie est plus complexe que n'importe quel algorithme.
Points importants
- L'ESP32 n'est pas juste un remplaçant d'Arduino — c'est un nœud IoT complet avec Wi-Fi et Bluetooth.
- Les broches ADC2 (GPIO0, 2, 4, 12–15, 25–27) sont inutilisables avec Wi-Fi actif.
- La calibration des capteurs est obligatoire — les valeurs d'usine ne tiennent pas compte de votre sol.
- Le stockage local des données est critique pour la résilience.
- Les notifications via Telegram ou email rendent la gestion plus aisée.
Budget total du projet — environ 900 roubles. Les composants sont disponibles sur AliExpress et dans les boutiques d'électronique locales. Le système est évolutif : ajoutez le contrôle de pompe via relais, l'intégration Home Assistant ou comparez les données avec d'autres fermes intelligentes pour trouver les réglages optimaux.
— Editorial Team
Aucun commentaire pour le moment.