Table des matières:

IoT APIS V2 - Système d'irrigation de plantes automatisé autonome compatible IoT : 17 étapes (avec photos)
IoT APIS V2 - Système d'irrigation de plantes automatisé autonome compatible IoT : 17 étapes (avec photos)

Vidéo: IoT APIS V2 - Système d'irrigation de plantes automatisé autonome compatible IoT : 17 étapes (avec photos)

Vidéo: IoT APIS V2 - Système d'irrigation de plantes automatisé autonome compatible IoT : 17 étapes (avec photos)
Vidéo: Système d'irrigation automatique connecté pour plantes d'intérieur BWC-20.app [PEARLTV.FR] 2024, Juillet
Anonim
IoT APIS V2 - Système d'irrigation de plantes automatisé autonome compatible IoT
IoT APIS V2 - Système d'irrigation de plantes automatisé autonome compatible IoT
IoT APIS V2 - Système d'irrigation de plantes automatisé autonome compatible IoT
IoT APIS V2 - Système d'irrigation de plantes automatisé autonome compatible IoT

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:

  1. Possibilité de surveiller l'usine à distance. C'est ainsi que ce projet est devenu compatible avec l'IoT.
  2. 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.
  3. 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.
  4. 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…
  5. 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

Matériel
Matériel
Matériel
Matériel

Vous aurez besoin des composants suivants pour créer IoT APIS v2:

  1. Carte de développement WIFI NodeMcu Lua ESP8266 ESP-12E - sur banggood.com
  2. SODIAL(R) Module de mesure de distance avec capteur à ultrasons à 3 broches, double transducteur, trois broches à bord - sur amazon.com
  3. DC 3V-6V 5V Petite pompe à eau submersible Pompe de réservoir de poissons d'aquarium - sur ebay.com
  4. LED tricolore - sur amazon.com
  5. Tableau Vero - sur amazon.com
  6. Transistor PN2222 - sur amazon.com
  7. Vis, boulons et écrous en plastique
  8. Matériel et fournitures de soudure
  9. Fils, résistances, embases et autres composants électroniques divers
  10. Pot Tropicana JO 2,78 QT vide
  11. 2 clous galvanisés

Étape 2: Conception globale

Conception générale
Conception générale
Conception générale
Conception générale

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

Pompe à eau immergée
Pompe à eau immergée
Pompe à eau immergée
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

Module de commande monté sur le dessus du bocal à jus
Module de commande monté sur le dessus du bocal à jus
Module de commande monté sur le dessus du bocal à jus
Module de commande monté sur le dessus du bocal à jus
Module de commande monté sur le dessus du bocal à jus
Module de commande monté sur le dessus du bocal à jus

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

Module de contrôle - Schémas
Module de contrôle - Schémas
Module de contrôle - Schémas
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

Capteur de fuite d'eau du bac
Capteur de fuite d'eau du bac
Capteur de fuite d'eau du bac
Capteur de fuite d'eau du bac
Capteur de fuite d'eau du bac
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

Image
Image
Sonde d'humidité du sol et enceinte d'arrosage
Sonde d'humidité du sol et enceinte d'arrosage
Sonde d'humidité du sol et enceinte d'arrosage
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

Tubes et câblage
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

Croquis NodeMCU
Croquis NodeMCU

L'esquisse NodeMCU implémente plusieurs fonctionnalités d'IoT APIS v2:

  1. Se connecte au réseau WiFi existant -OU- fonctionne comme un point d'accès WiFi (selon la configuration)
  2. Interroge les serveurs NTP pour obtenir l'heure locale
  3. 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
  4. 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
  5. Met en œuvre des modes de fonctionnement en ligne et d'économie d'énergie
  6. Enregistre les informations sur chacun des arrosages localement dans la mémoire flash interne

Étape 10: Croquis NodeMCU - Wi-Fi

Croquis NodeMCU - Wi-Fi
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:

  1. En mode en ligne, IoT APIS maintient la connexion WiFi en permanence, vous pouvez donc vérifier l'état de votre installation à tout moment
  2. 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

Croquis NodeMCU - NTP
Croquis 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

NodeMCU Sketch - Serveur Web local
NodeMCU Sketch - Serveur Web local
NodeMCU Sketch - Serveur Web local
NodeMCU Sketch - Serveur Web local
NodeMCU Sketch - Serveur Web local
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

NodeMCU Sketch - Journal d'arrosage local et accès au système de fichiers interne
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

Image
Image
NodeMCU Sketch - Humidité du sol, fuite d'eau du bac inférieur, niveau d'eau, LED 3 couleurs
NodeMCU Sketch - Humidité du sol, fuite d'eau du bac inférieur, niveau d'eau, LED 3 couleurs
NodeMCU Sketch - Humidité du sol, fuite d'eau du bac inférieur, niveau d'eau, LED 3 couleurs
NodeMCU Sketch - 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:

  1. VERT clignotant modérément - connexion au réseau WiFi
  2. VERT clignotant rapidement - interrogation du serveur NTP
  3. Bref solide VERT - connecté au WiFi et obtenu l'heure actuelle de NTP avec succès
  4. Bref BLANC solide - initialisation du réseau terminée
  5. BLANC clignotant rapidement - lancement du mode point d'accès
  6. BLEU clignotant rapidement - arrosage
  7. BLEU clignotant modérément - saturation
  8. AMBRE brièvement solide suivi d'un ROUGE brièvement solide - impossible d'obtenir le temps de NTP
  9. 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

Énergie solaire, banque d'alimentation et fonctionnement autonome
Énergie solaire, banque d'alimentation et fonctionnement autonome
Énergie solaire, banque d'alimentation et fonctionnement autonome
Énergie solaire, banque d'alimentation et fonctionnement autonome
Énergie solaire, banque d'alimentation et fonctionnement autonome
É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.

  1. Le panneau solaire est disponible sur amazon.com
  2. 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

Intégration IoT - Blynk
Intégration IoT - Blynk
Intégration IoT - Blynk
Intégration IoT - Blynk
Intégration IoT - Blynk
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

Croquis et fichiers
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:

  1. TaskScheduler - bibliothèque multitâche coopérative pour Arduino et esp8266
  2. AvgFilter - implémentation entière du filtre Moyenne pour le lissage des données du capteur
  3. RTCLib - implémentation de l'Horloge Temps Réel hardware et software (modifié par mes soins)
  4. Time - Modifications pour la bibliothèque Time
  5. 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)

Concours de jardinage intérieur 2016
Concours de jardinage intérieur 2016
Concours de jardinage intérieur 2016
Concours de jardinage intérieur 2016

Finaliste du concours de jardinage intérieur 2016

Conseillé: