Construire un système de jardinage automatisé avec le Raspberry Pi Pico W

Construire un système de jardinage automatisé avec le Raspberry Pi Pico W
Des lecteurs comme vous aident à soutenir MUO. Lorsque vous effectuez un achat en utilisant des liens sur notre site, nous pouvons gagner une commission d'affiliation. Lire la suite.

Avec un pouce vert et un peu de patience, le jardinage est un passe-temps agréable, que vous ayez quelques plantes exotiques à l'intérieur ou que vous ayez un jardin extérieur à part entière avec des pommes de terre et des vivaces.





Cela dit, il y a aussi des moments où votre patience peut s'épuiser lorsque les plantes commencent à mourir pour ce qui semble n'être aucune bonne raison.





Le Raspberry Pi Pico W peut aider à fournir une solution pour garantir que les plantes prospéreront sans lever le petit doigt (enfin, presque).





Voyons comment un moniteur de plante, du code et un petit microcontrôleur suivront la santé de votre plante de n'importe où dans votre maison.

Matériel requis

Étonnamment, il n'y a pas beaucoup de matériel requis. Une grande partie de la magie est contenue dans le Plant Monitor. Vous n'avez vraiment besoin que de quelques éléments pour commencer.



Bien que ce moniteur d'usine prenne en charge l'utilisation de pinces crocodiles, ce projet utilise les connecteurs à broches fixés à l'arrière du dispositif de surveillance de l'usine.

Configuration de l'assistant de jardinage

Ce projet implique de connecter le moniteur de l'usine à votre Raspberry Pi Pico W, ainsi que de créer et de manipuler du code pour que tout fonctionne. Un serveur Web sera nécessaire pour servir une page Web simple accessible au sein de votre connexion Internet à domicile.





Il existe différentes versions de modèle du Raspberry Pi Pico. Pour ce projet, vous devrez utiliser un Raspberry Pi Pico W. Pour en savoir plus sur les capacités du Pico W, consultez notre guide sur qu'est-ce que le Pico W et ce qu'il peut faire .

Tout d'abord, assurons-nous que le moniteur de l'usine est connecté et fonctionne correctement. Plus loin dans l'article, vous aborderez la configuration d'un serveur Web simple utilisé pour surveiller votre usine avec n'importe quel appareil compatible avec un navigateur connecté à votre réseau domestique.





Préparation du Plant Monitor

Avec de nombreux capteurs disponibles à l'achat sur divers sites Internet, vous apprendrez que certains capteurs de sol s'usent facilement dans le sol et que d'autres résistent assez bien aux éléments. Le Monk Makes Plant Monitor est une bonne option car il n'est pas sujet à la corrosion dans le sol. Non seulement ce moniteur mesure l'humidité du sol, mais il mesure également l'humidité et la température.

  moniteur de plante dans le sol qui est connecté à un microcontrôleur

Seules quatre broches devront être connectées du moniteur de l'usine à votre Raspberry Pi Pico W :

  • GND va à GND
  • 3V se connecte à 3V3 Out
  • RX_IN trouvera son chemin vers GP0
  • TX_OUT rencontrera GP1

Une fois connecté à l'alimentation, votre Raspberry Pi Pico W pourra s'alimenter ainsi que le moniteur de l'usine. Vous remarquerez des voyants sur le matériel qui confirment que l'appareil est en état de marche. De plus, il y a une lumière LED qui brillera en vert, jaune ou rouge (selon le niveau d'humidité détecté dans votre sol).

Bien que Monk Makes Plant Monitor soit livré avec d'excellents modules Python, vous aurez toujours besoin de créer un code simple afin de surveiller la santé du sol de votre plante. Vous pouvez récupérer les fichiers python suivants à partir de notre Référentiel MUO GitHub .

Tu auras besoin pmon.py et test.py pour la partie détection de sol et les fichiers python micropoint.py , mm_wlan.py , et pico_w_server.py sera utilisé pour compléter le serveur Web simple plus tard.

C'est le moment idéal pour faire une pause et vous rafraîchir avec différences subtiles entre MicroPython et Python si vous ne l'avez pas déjà fait.

Le fichier python, pmon.py , crée une classe MicroPython pour le moniteur de l'usine. L'UART s'occupera de la transmission des données en duplex, puis un travail de conversion de l'analogique au numérique est également nécessaire. Vous remarquerez également le humidité , temp , et humidité les fonctions étant également définies dans ce fichier.

    def get_wetness(self): 
        return int(self.request_property("w"))

    def get_temp(self):
        return float(self.request_property("t"))

    def get_humidity(self):
        return float(self.request_property("h"))

    def led_off(self):
        self.uart.write("l")

    def led_on(self):
        self.uart.write("L")

Ensuite, vous aurez besoin du test.py fichier obtenu auprès de notre Référentiel MUO GitHub .

Vous remarquerez que les modules heure, pm (à partir de Moniteur d'usine ), et machine sont nécessaires pour bien surveiller la santé de votre plante.

Comme le Moniteur d'usine module est importé, tout ce qui est nécessaire pour surveiller les conditions du sol est une simple boucle while. Également imprimer La commande affichera les relevés d'humidité, de température et d'humidité du sol après l'exécution test.py à Thonny.

 time.sleep(2) # PlantMonitor startup time 
pm = PlantMonitor()

while True:
    w = pm.get_wetness()
    t = pm.get_temp()
    h = pm.get_humidity()
    print("Wetness: {0} Temp: {1} Humidity: {2}".format(w, t, h))
    time.sleep(1)

Vous n'avez pas envie d'arroser votre plante lorsque le sol est trop sec ? Attribuez votre relais de pompe à une broche sur le Raspberry Pi Pico et utilisez une instruction if pour surveiller une valeur d'humidité (sur 100) afin de déclencher votre pompe à eau, via un relais, pour qu'elle s'allume et distribue à nouveau de l'eau.

 relay1 = Pin(15, Pin.OUT) #relay is wired up to GP15 and GND 

if w = 24 # watch for a wetness value of 24/100

relay1.value(1) # turn on the relay
    relay1(0) # turn off the relay

Vous voudrez faire quelques tests afin de trouver cet équilibre parfait pour vous assurer que votre plante est satisfaite de la quantité d'eau qu'elle reçoit. Vous pouvez également ajouter une autre instruction if pour allumer une lampe chauffante, via un relais, si votre plante est trop froide.

comment coupler manette à xbox one

Serveur Web simplifié

Vous aurez besoin de trois fichiers python, de notre Référentiel MUO GitHub , afin que votre Raspberry Pi Pico W diffuse les statistiques du sol sur vos connexions internet domestiques :

  • micropoint.py
  • mm_wlan.py
  • pico_w_server.py

Les micropoint gère les fonctions back-end pour créer ce serveur Web simple basé sur HTTP et affiche la sortie du code python sous la forme d'une page Web basée sur html qui peut être appelée à l'aide de l'adresse IP du Raspberry Pi Pico W.

Les mm_wlan.py offre un moyen simple de se connecter à un réseau sans fil. Vous recevrez soit une adresse IP de votre Raspberry Pi Pico et un message connecté. Si la connexion n'a pas réussi, vous recevrez un message d'échec de connexion à la place.

Les pico_w_server.py est l'endroit où vous entrez le SSID (rappelez-vous que le Raspberry Pi Pico W se connecte uniquement aux SSID 2,4 GHz) et votre mot de passe Wi-Fi. Dans la section HTML, vous pouvez personnaliser ce que votre serveur Web affichera sur un navigateur Web. Vous pouvez également supprimer les commentaires de la section d'actualisation et modifier l'intervalle si vous ne souhaitez pas que la page Web soit actualisée toutes les secondes environ.

Tout en bas de ce fichier, vous pouvez également personnaliser le port. Ceci est pratique si vous souhaitez exposer ces informations sur Internet en dehors de votre domicile.

Lorsque vous lancez votre test.py fichier, les fichiers python du serveur requis ( mm_wlan et pico_w_server ) sont importés pour vous. Après avoir exécuté le test.py fichier, saisissez l'adresse IP si votre Pi (trouvé dans la sortie Thonny) et ajoutez le port que vous avez utilisé (la valeur par défaut est 80) à partir de n'importe quel navigateur Web connecté au même SSID 2,4 GHz à la maison. Vous devriez voir quelque chose comme ceci :

  page html simple affichant des statistiques sur les sols

Afin de réduire la dépendance de votre PC connecté, changez le test.py fichier à main.py et économisez sur votre Raspberry Pi Pico W. Vous pouvez également envisager de connecter un écran LCD à votre Pico afin de programmer l'affichage pour qu'il affiche l'adresse IP (lorsque vous supprimez la dépendance de votre PC connecté).

Ramenez ce pouce vert

Avec un capteur de sol sophistiqué et un simple serveur Web, vous pouvez désormais surveiller la santé de votre plante à partir d'un navigateur Web n'importe où dans votre maison.

N'hésitez pas à modifier le code comme bon vous semble. Si vous êtes partant, envisagez de créer une application de détection de sol qui ajoute un peu de finition au serveur Web simple que vous venez de configurer.

Pour que ce projet soit complet, ajoutez une pompe et un relais, ainsi qu'une lampe chauffante, et vous aurez vous-même un jardin entièrement automatisé. Désormais, vous pourrez conserver pour toujours votre statut de 'pouce vert'.

Catégorie DIY