Contrôleur d'irrigation intelligent avec Windows 10 IoT, Raspberry Pi et capteurs d'humidité XBee
Contexte
Les récentes sécheresses dans de grandes parties des États-Unis ont accru le besoin d'une utilisation efficace de l'eau. Les propriétaires peuvent réduire la consommation d'eau d'irrigation en automatisant le processus, pourtant les contrôleurs résidentiels conventionnels sont souvent cachés dans les garages, comportent des cadrans opaques et manquent d'intelligence pour correspondre aux besoins réels en humidité des plantes. Ce projet comble ce fossé en donnant au contrôleur un retour direct et en temps réel des capteurs d'humidité du sol et en offrant un contrôle à distance via le cloud.
Étape 1 : Détection
Le premier défi est de transmettre les données d'humidité du sol depuis des capteurs enterrés vers le Pi. Les modules XBee Pro – Série 1, de la gamme XBee de Digi International, répondent à toutes les exigences clés :
- Protocole sans fil standard 802.15.4 pour liaisons point-à-point directes.
- ADC 10 bits 6 canaux intégrés, idéaux pour connecter sondes d'humidité et futurs capteurs de température ou lumière.
- Cycles veille-réveil économes en énergie prolongeant la durée de vie de la batterie à environ un an, avec option d'ajout de cellules solaires plus tard.
Chaque nœud capteur est étanche, alimenté par batterie, et configuré avec le logiciel X-CTU de Digi via un SparkFun XBee Explorer USB. La capacité de la batterie et la fréquence de rapport ont été calculées à partir du budget énergétique du XBee pour atteindre la longévité souhaitée.
Étape 2 : Programmation du Raspberry Pi
Le Pi 2 n'ayant pas de port série natif, le SparkFun XBee Explorer USB (puce FTDI) fait le pont entre le Pi et le réseau XBee. Bien que les pilotes FTDI ne soient pas inclus dans Windows 10 IoT Core, les conseils de la communauté (ex: dépôt GitHub de Jark) fournissent une solution fiable. Une fois connecté, le Pi reçoit les données des capteurs sous forme de trames API XBee. Plutôt que de s'appuyer sur des bibliothèques commerciales, un parseur léger et personnalisé a été écrit en C# pour interpréter ces trames et extraire les lectures ADC.
Après analyse, le Pi transmet les relevés à un service cloud. Azure est choisi pour son écosystème robuste — SQL, Redis, Service Bus — et ses généreux niveaux gratuits adaptés aux projets amateurs.
Étape 3 : Service cloud pour journaux capteurs & contrôle irrigation
Le composant cloud exécute ServiceStack sur une Azure Web App. Le framework API de ServiceStack, associé à sa fonctionnalité ServerEvents, crée un canal bidirectionnel à faible latence entre le Pi et le serveur — plus simple que SignalR mais suffisant pour cet usage.
- Les Server-Sent Events ouvrent un lien continu pour les mises à jour en temps réel.
- Le Pi diffuse les nouvelles données des capteurs vers Azure à leur arrivée.
- Basé sur les derniers niveaux d'humidité — et optionnellement prévisions météo ou arrêtés locaux d'arrosage — le serveur instruit le contrôleur d'irrigation d'ouvrir ou fermer les vannes d'arrosage.
Cette architecture prend en charge une logique complexe telle que l'arrosage jours pairs/impairs, ajustements météo, et gestion centralisée de multiples sites. Le compromis est qu'une connexion Internet active est requise pour le fonctionnement.
Étape 4 : L'avenir
Bien que cette preuve de concept démontre les fonctionnalités de base, plusieurs améliorations peuvent l'élever à un système prêt pour la production :
- Interface web robuste avec authentification utilisateur.
- Intégration capteur température pour contrôle irrigation plus fin.
- Communication chiffrée et contrôle d'accès basé sur les rôles.
- Planification d'irrigation personnalisée, avec mise en cache hors ligne pendant pannes réseau.
- Contrôles physiques (affichage LCD, boutons poussoirs) pour opération locale.
Pour ceux intéressés à construire sur cette base, le code source et la documentation sont disponibles dans le dépôt du projet original.
Processus de fabrication
- Raspberry Pi et HDC2010 : guide complet de configuration du capteur I2C température et humidité
- Connecter plusieurs capteurs DS18B20 1-Wire à un Raspberry Pi pour une surveillance température précise
- Capteur de suivi de ligne KY‑033 avec Raspberry Pi : Détecteur de porte/lignes simple
- Créer une API robuste de température et capteurs sur Raspberry Pi avec le module GY‑91
- Construire un capteur d'humidité du sol Raspberry Pi low-cost pour irrigation intelligente
- Réaliser votre premier projet IoT avec Raspberry Pi, DHT11 et ThingSpeak
- Surveillance Précise de Température et Humidité avec SHT15 sur Windows 10 IoT Core
- Étendre GoPiGo v2 sur Windows 10 IoT Core pour Raspberry Pi 3
- Les capteurs IoT révolutionnent la surveillance de la pollution atmosphérique et la santé publique