Table des matières:
- Étape 1: Matériel
- Étape 2: Conception globale
- Étape 3: Pompe à eau immergée
- Étape 4: Module de commande monté sur le dessus du pot de JO
- Étape 5: Module de contrôle - Schémas
- Étape 6: Capteur de fuite d'eau du bac
- Étape 7: Sonde d'humidité du sol et enceinte d'arrosage
- Étape 8: Tubes et câblage
- Étape 9: Esquisse NodeMCU
- Étape 10: Croquis NodeMCU - Wi-Fi
- Étape 11: Esquisse NodeMCU - NTP
- Étape 12: NodeMCU Sketch - Serveur Web local
- Étape 13: NodeMCU Sketch - Journal d'arrosage local et accès au système de fichiers interne
- Étape 14: Croquis NodeMCU - Humidité du sol, fuite d'eau du bac inférieur, niveau d'eau, LED 3 couleurs
- Étape 15: Énergie solaire, banque d'alimentation et fonctionnement autonome
- Étape 16: Intégration IoT - Blynk
- Étape 17: Croquis et fichiers
Vidéo: IoT APIS V2 - Système d'irrigation de plantes automatisé autonome compatible IoT : 17 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Ce projet est une évolution de mon précédent instructable: APIS - Automated Plant Irrigation System
J'utilise APIS depuis presque un an maintenant et je voulais améliorer la conception précédente:
- Possibilité de surveiller l'usine à distance. C'est ainsi que ce projet est devenu compatible avec l'IoT.
- Sonde d'humidité du sol facile à remplacer. J'ai parcouru trois conceptions différentes de la sonde d'humidité, et quel que soit le matériau que j'ai utilisé, elle s'est érodée tôt ou tard. Le nouveau design était donc censé durer le plus longtemps possible et être remplacé rapidement et facilement.
- Niveau d'eau dans le seau. Je voulais pouvoir dire combien d'eau est encore disponible dans le seau et arrêter d'arroser lorsque le seau est vide.
- Meilleur look. Une boîte à projet grise était un bon début, mais je voulais créer quelque chose d'un peu mieux. Vous serez le juge si j'étais capable d'atteindre cet objectif…
- Autonomie. Je voulais que le nouveau système soit autonome en termes de puissance et/ou de disponibilité d'internet.
Le projet résultant n'est pas moins configurable que son prédécesseur et possède des fonctionnalités supplémentaires utiles.
Je voulais également utiliser mon imprimante 3D nouvellement acquise, donc certaines pièces devront être imprimées.
Étape 1: Matériel
Vous aurez besoin des composants suivants pour créer IoT APIS v2:
- Carte de développement WIFI NodeMcu Lua ESP8266 ESP-12E - sur banggood.com
- SODIAL(R) Module de mesure de distance avec capteur à ultrasons à 3 broches, double transducteur, trois broches à bord - sur amazon.com
- DC 3V-6V 5V Petite pompe à eau submersible Pompe de réservoir de poissons d'aquarium - sur ebay.com
- LED tricolore - sur amazon.com
- Tableau Vero - sur amazon.com
- Transistor PN2222 - sur amazon.com
- Vis, boulons et écrous en plastique
- Matériel et fournitures de soudure
- Fils, résistances, embases et autres composants électroniques divers
- Pot Tropicana JO 2,78 QT vide
- 2 clous galvanisés
Étape 2: Conception globale
La conception globale comprend les éléments suivants: 1. Sonde d'humidité du sol et enceinte d'arrosage des plantes (combinées - imprimées en 3D)2. Tubes et câblage3. Capteur de fuite d'eau du plateau (3d imprimé)4. Module de contrôle monté sur le dessus du pot de jus d'orange (placé et enfermé dans le boîtier imprimé en 3D)5. Pompe à eau immergée6. Croquis NodeMCU7. Configuration IoT8. Alimentation: USB via prise de courant -OU- panneau solaire (mode autonome)Parlons de chaque composant individuellement
Étape 3: Pompe à eau immergée
La pompe à eau immergée est située sous la poignée du bocal à jus (pour éviter toute interférence avec la mesure du niveau d'eau). La pompe est placée de telle manière qu'elle "plane" environ 2-3 mm au-dessus du fond du pot pour permettre à l'eau de s'écouler librement vers l'admission.
Étant donné que la pompe doit être complètement immergée pour un fonctionnement normal, le niveau d'eau minimal dans le bocal doit être d'environ 3 cm (environ 1 pouce).
Étape 4: Module de commande monté sur le dessus du pot de JO
J'ai choisi un grand pot d'OJ Tropicana standard pour être un réservoir d'eau. Ceux-ci sont largement disponibles et standard.
Le module de commande est placé sur le dessus du pot après le retrait du robinet d'origine.
La plate-forme sur laquelle se trouve le module de contrôle est imprimée en 3D. Le fichier STL est fourni dans les sections fichiers et croquis de cette instructable.
La pompe, le tube et le câblage sont acheminés à travers la poignée du pot Tropicana pour libérer de l'espace pour la mesure du niveau d'eau.
Le niveau d'eau est mesuré par le capteur de distance à ultrasons intégré à la plate-forme du module de commande. Le niveau d'eau est déterminé comme une différence est la mesure de la distance d'un bocal vide et d'un bocal rempli d'eau jusqu'à un certain niveau.
Le module de contrôle et le capteur US sont recouverts d'un "dôme" imprimé en 3D. Le fichier STL du dôme est fourni dans la section fichiers et croquis de cette instructable.
Étape 5: Module de contrôle - Schémas
Les schémas du module de contrôle (y compris la liste des composants) et les fichiers de conception de la planche à pain sont fournis dans la section fichiers et croquis de cette instructable.
REMARQUE: Travailler avec NodeMCU s'est avéré être une tâche difficile en termes de broches GPIO disponibles. Presque tous les GPIO remplissent un certain nombre de fonctions, ce qui les rend soit indisponibles, soit impossibles à utiliser en mode veille profonde (en raison de fonctions spéciales qu'ils jouent pendant le processus de démarrage). Au final, j'ai réussi à trouver un équilibre entre l'utilisation des GPIO et mes besoins, mais cela a pris quelques itérations frustrantes.
Par exemple, un certain nombre de GPIO restent « chauds » pendant le sommeil profond. La connexion de LED à celles-ci a vaincu l'objectif de réduction de la consommation d'énergie pendant le sommeil profond.
Étape 6: Capteur de fuite d'eau du bac
Si votre pot a un trou de trop-plein au fond, il y a un risque que l'eau déborde du bac inférieur et se répande sur le sol (étagère ou tout autre élément sur lequel se trouve votre plante).
J'ai remarqué que la mesure de l'humidité du sol est grandement affectée par la position de la sonde, la densité du sol, la distance par rapport à la sortie d'arrosage, etc. En d'autres termes, se fier uniquement à l'humidité du sol pourrait être dommageable pour votre maison si l'eau déborde du bac inférieur et déborde.
Le capteur de trop-plein est une entretoise entre le pot et le plateau inférieur, avec deux fils enroulés autour des barres. Lorsque l'eau remplit le plateau, les deux fils se connectent, signalant ainsi au microcontrôleur que de l'eau est présente dans le plateau inférieur.
Finalement, l'eau s'évapore et les fils se déconnectent.
Le plateau inférieur est imprimé en 3D. Le fichier STL est disponible dans la section fichiers et croquis de cette instructable.
Étape 7: Sonde d'humidité du sol et enceinte d'arrosage
J'ai conçu une enceinte imprimée en 3D hexagonale pour être une sonde d'humidité du sol et une enceinte d'arrosage combinées.
Un fichier d'impression 3D (STL) est disponible dans la section fichiers et croquis de cette instructable.
Le boîtier se compose de deux parties, qui doivent être collées ensemble. Un raccord cannelé modifié est collé sur le côté de l'enceinte pour fixer le tube.
Deux trous de 4,5 mm sont prévus pour placer les clous galvanisés, servant de sondes d'humidité du sol. La connectivité au microcontrôleur est réalisée via des entretoises métalliques sélectionnées spécifiquement pour s'adapter aux clous.
La conception 3D est réalisée à l'aide de www.tinkercad.com, un outil de conception 3D formidable et facile à utiliser, mais puissant.
REMARQUE: Vous voudrez peut-être demander pourquoi je n'ai pas simplement utilisé l'une des sondes de sol préfabriquées ? La réponse est: la feuille sur ceux-ci se dissout en quelques semaines. En fait, même avec un temps limité, les clous sont sous tension, ils s'érodent toujours et doivent être remplacés au moins une fois par an. La conception ci-dessus permet de remplacer les ongles en quelques secondes.
Étape 8: Tubes et câblage
L'eau est livrée au plan via un tube semi-transparent en caoutchouc latex super doux (avec un diamètre intérieur de 1/4" et un diamètre extérieur de 5/16").
La sortie de la pompe nécessite un tube plus gros et un adaptateur: raccord cannelé en polypropylène résistant aux produits chimiques, réducteur droit pour un diamètre de tube de 1/4" x 1/8".
Enfin, un raccord cannelé en polypropylène résistant aux produits chimiques, droit pour un diamètre de tube de 1/8 , sert de connecteur à l'enceinte d'arrosage.
Étape 9: Esquisse NodeMCU
L'esquisse NodeMCU implémente plusieurs fonctionnalités d'IoT APIS v2:
- Se connecte au réseau WiFi existant -OU- fonctionne comme un point d'accès WiFi (selon la configuration)
- Interroge les serveurs NTP pour obtenir l'heure locale
- Met en œuvre un serveur Web pour la surveillance de l'usine et l'ajustement des paramètres d'arrosage et de mise en réseau
- Mesure l'humidité du sol, les fuites d'eau du plateau inférieur, le niveau d'eau dans le bocal et fournit une indication visuelle via une LED 3 couleurs
- Met en œuvre des modes de fonctionnement en ligne et d'économie d'énergie
- Enregistre les informations sur chacun des arrosages localement dans la mémoire flash interne
Étape 10: Croquis NodeMCU - Wi-Fi
Par défaut, IoT APIS v2 créera un point d'accès WiFi local appelé "Plant_XXXXXX", où XXXXXX est le numéro de série de la puce ESP8266 à bord de NodeMCU.
Vous pouvez accéder au serveur Web intégré via l'URL: le serveur DNS interne https://plant.io connectera votre appareil à la page d'état APIS.
À partir de la page d'état, vous pouvez accéder à la page des paramètres d'arrosage et à la page des paramètres réseau, où vous pouvez connecter IoT APIS v2 à votre réseau WiFi et commencer à signaler l'état au cloud.
Les API IoT prennent en charge les modes de fonctionnement en ligne et d'économie d'énergie:
- En mode en ligne, IoT APIS maintient la connexion WiFi en permanence, vous pouvez donc vérifier l'état de votre installation à tout moment
- En mode d'économie d'énergie, IoT APIS vérifie périodiquement l'humidité du sol et le niveau d'eau, mettant l'appareil en mode "veille profonde", réduisant ainsi considérablement sa consommation d'énergie. Cependant, l'appareil n'est pas disponible en ligne en permanence et les paramètres ne peuvent être modifiés que pendant la mise sous tension de l'appareil (actuellement toutes les 30 minutes, aligné sur l'horloge en temps réel heure/demi-heure). L'appareil restera en ligne pendant 1 minute toutes les 30 minutes pour permettre les modifications de configuration, puis passera en mode veille prolongée. Si l'utilisateur se connecte à l'appareil, le temps de "up" est étendu à 3 minutes pour chaque connexion.
Lorsque l'appareil est connecté au réseau WiFi local, son adresse IP est signalée au serveur cloud IoT et visible sur l'appareil de surveillance mobile.
Étape 11: Esquisse NodeMCU - NTP
IoT APIS v2 utilise le protocole NTP pour obtenir l'heure locale à partir des serveurs de temps NIST. L'heure correcte est utilisée pour déterminer si l'appareil doit entrer en mode « nuit », c'est-à-dire éviter de faire fonctionner la pompe ou de faire clignoter la LED.
L'heure de nuit est configurable séparément pour les jours ouvrables et le matin du week-end.
Étape 12: NodeMCU Sketch - Serveur Web local
IoT APIS v2 implémente un serveur Web local pour les rapports d'état et les modifications de configuration. La page d'accueil fournit des informations sur l'humidité et le niveau d'eau actuels, la présence d'eau de débordement dans le bac inférieur et les statistiques du dernier cycle d'arrosage. Page de configuration du réseau (accessible via le bouton de configuration du réseau) permet de se connecter au réseau WiFi local et de basculer entre les modes En ligne et Économie d'énergie. (Les modifications apportées à la configuration du réseau entraîneront la réinitialisation de l'appareil) La page de configuration de l'arrosage (accessible via le bouton de configuration de l'eau) permet de modifier les paramètres d'arrosage (humidité du sol pour démarrer/arrêter l'arrosage, durée du cycle d'arrosage et pause de saturation entre les cycles, nombre de cycles, etc.) Les fichiers HTML du serveur Web se trouvent dans le dossier de données de l'esquisse IoT APIS Arduino IDE. Ils doivent être téléchargés dans la mémoire flash NodeMCU en tant que système de fichiers SPIFF à l'aide de l'outil "ESP8266 Sketch Data Upload" situé ici.
Étape 13: NodeMCU Sketch - Journal d'arrosage local et accès au système de fichiers interne
Si la connectivité réseau n'est pas disponible, le système IoT APIS v2 enregistre toutes les activités d'arrosage localement.
Pour accéder au journal, connectez-vous à l'appareil et accédez à la page « / modifier », puis téléchargez le fichier watering.log. Ce fichier contient l'historique de tous les arrosages depuis le début de l'enregistrement.
Un exemple d'un tel fichier journal (au format séparé par des tabulations) est joint à cette étape.
REMARQUE: la page de téléchargement n'est pas disponible lorsque IoT APIS v2 est en cours d'exécution en mode point d'accès (en raison de la dépendance vis-à-vis de la bibliothèque Java Script en ligne).
Étape 14: Croquis NodeMCU - Humidité du sol, fuite d'eau du bac inférieur, niveau d'eau, LED 3 couleurs
La mesure de l'humidité du sol est basée sur le même principe que l'APIS d'origine. Veuillez vous référer à cette instructable pour les détails.
Les fuites du bac à eau sont détectées en appliquant momentanément une tension aux fils situés sous le pot à l'aide de résistances PULLUP internes. Si l'état du PIN résultant est BAS, alors il y a de l'eau dans le plateau. L'état PIN de HAUT indique que le circuit est « cassé », donc il n'y a pas d'eau dans le bac inférieur.
Le niveau d'eau est déterminé en mesurant la distance entre le haut du bocal et la surface de l'eau et en le comparant à la distance jusqu'au fond d'un bocal vide. Veuillez noter l'utilisation du capteur à 3 broches ! Ceux-ci sont plus chers que les capteurs à quatre broches HC-SR04. Malheureusement, je n'ai plus de GPIO sur NodeMCU et j'ai dû couper tous les fils possibles pour que la conception fonctionne sur un seul NodeMCU sans circuits supplémentaires.
La LED 3 couleurs est utilisée pour indiquer visuellement l'état de l'APIS:
- VERT clignotant modérément - connexion au réseau WiFi
- VERT clignotant rapidement - interrogation du serveur NTP
- Bref solide VERT - connecté au WiFi et obtenu l'heure actuelle de NTP avec succès
- Bref BLANC solide - initialisation du réseau terminée
- BLANC clignotant rapidement - lancement du mode point d'accès
- BLEU clignotant rapidement - arrosage
- BLEU clignotant modérément - saturation
- AMBRE brièvement solide suivi d'un ROUGE brièvement solide - impossible d'obtenir le temps de NTP
- BLANC brièvement fixe lors de l'accès au serveur Web interne
La LED ne fonctionne pas en mode "nuit". Le mode nuit n'a pu être déterminé de manière fiable que si l'appareil a pu obtenir l'heure locale des serveurs NTP au moins une fois (l'horloge en temps réel locale sera utilisée jusqu'à ce que la prochaine connexion à NTP soit établie)
Un exemple de la fonction LED est disponible sur YouTube ici.
Étape 15: Énergie solaire, banque d'alimentation et fonctionnement autonome
L'une des idées derrière IoT APIS v2 était la capacité de fonctionner de manière autonome.
La conception actuelle utilise un panneau d'alimentation solaire et une banque d'alimentation provisoire de 3600 mAh pour y parvenir.
- Le panneau solaire est disponible sur amazon.com
- La banque d'alimentation est également disponible sur amazon.com
Le panneau solaire a également intégré une batterie de 2600 mAh, mais il n'a pas été en mesure de maintenir un fonctionnement APIS 24h / 24, même en mode d'économie d'énergie (je soupçonne que la batterie ne gère pas bien la charge et la décharge simultanées). Une combinaison de deux batteries semble fournir une puissance adéquate et permettre de recharger les deux batteries pendant la journée. Le panneau solaire charge la banque d'alimentation, tandis que la banque d'alimentation alimente le périphérique APIS.
Veuillez noter:
Ces composants sont facultatifs. Vous pouvez simplement alimenter l'appareil avec n'importe quel adaptateur USB fournissant un courant de 1A.
Étape 16: Intégration IoT - Blynk
L'un des objectifs de la nouvelle conception était la capacité de surveiller à distance l'humidité du sol, le niveau d'eau et d'autres paramètres.
J'ai choisi Blynk (www.blynk.io) comme plate-forme IoT en raison de sa facilité d'utilisation et de son design visuel attrayant.
Étant donné que mon croquis est basé sur la bibliothèque multitâche coopérative TaskScheduler, je ne voulais pas utiliser les bibliothèques de périphériques Blynk (elles ne sont pas activées pour TaskScheduler). Au lieu de cela, j'ai utilisé l'API RESTful HTTP Blynk (disponible ici).
La configuration de l'application est aussi intuitive que possible. Veuillez suivre les captures d'écran ci-jointes.
Étape 17: Croquis et fichiers
Le sketch IoT APIS v2 se trouve sur le github ici: Sketch
Quelques bibliothèques utilisées par le sketch se trouvent ici:
- TaskScheduler - bibliothèque multitâche coopérative pour Arduino et esp8266
- AvgFilter - implémentation entière du filtre Moyenne pour le lissage des données du capteur
- RTCLib - implémentation de l'Horloge Temps Réel hardware et software (modifié par mes soins)
- Time - Modifications pour la bibliothèque Time
- Fuseau horaire - bibliothèque prenant en charge les calculs de fuseau horaire
REMARQUE:
Les fiches techniques, la documentation des broches et les fichiers 3D se trouvent dans le sous-dossier « fichiers » de l'esquisse principale.
Les fichiers HTML pour le serveur Web intégré doivent être téléchargés sur la mémoire flash NODE MCU à l'aide de arduino-esp8266fs-plugin (qui crée un fichier de système de fichiers à partir du sous-dossier "data" du dossier de croquis principal et le télécharge dans la mémoire flash)
Finaliste du concours de jardinage intérieur 2016
Conseillé:
ESP8266 - Irrigation de jardin avec minuterie et télécommande via Internet / ESP8266 : 7 étapes (avec photos)
ESP8266 - Irrigation de jardin avec minuterie et télécommande via Internet / ESP8266 : ESP8266 - Irrigation télécommandée et avec synchronisation pour les jardins potagers, les jardins de fleurs et les pelouses. Il utilise le circuit ESP-8266 et une vanne hydraulique / électrique pour l'alimentation de l'irrigateur.Avantages : Faible coût (~ US$ 30,00) Commandes d'accès rapide ov
Moteur à eau automatisé avec indicateur de niveau : 6 étapes (avec photos)
Moteur à eau automatisé avec indicateur de niveau : Salut à tous, bienvenue dans un autre Instructable. Dans ce projet, nous allons apprendre à créer un contrôleur de niveau de réservoir d'eau entièrement automatique avec une fonction d'indicateur de niveau d'eau à l'aide d'Arduino Nano.Arduino est le cerveau de ce projet. Il faudra la contribution de
Distributeur automatique de plantes WiFi avec réservoir - Configuration de la culture intérieure/extérieure - Arrosez automatiquement les plantes avec surveillance à distance : 21 étapes
Distributeur automatique de plantes WiFi avec réservoir - Configuration de la culture intérieure/extérieure - Arrosez automatiquement les plantes avec surveillance à distance : dans ce didacticiel, nous montrerons comment configurer un système d'alimentation pour plantes intérieur/extérieur personnalisé qui arrose automatiquement les plantes et peut être surveillé à distance à l'aide de la plate-forme Adosia
Modèle de chemin de fer automatisé point à point avec voie de garage : 10 étapes (avec photos)
Chemin de fer modélisé point à point automatisé avec voie de garage : les microcontrôleurs Arduino ouvrent de grandes possibilités dans le modélisme ferroviaire, en particulier en ce qui concerne l'automatisation. Ce projet est un exemple d'une telle application. C'est la continuation d'un des projets précédents. Ce projet comprend un point
Bricolage - Irrigation de jardin automatisée - (Arduino / IOT): 9 étapes (avec photos)
Bricolage - Irrigation de jardin automatisée - (Arduino / IOT): Ce projet vous montrera comment construire un contrôleur d'irrigation pour un jardin domestique. Capable de mesurer les lectures d'humidité du sol et d'activer l'irrigation à partir d'un robinet de jardin si le sol devient trop sec. Le contrôleur comprend également une température et h