Construire un système de jardinage automatisé avec le Raspberry Pi Pico W
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.
- Moniteur de plantes par Monk Makes
- 4 fils de raccordement femelle-mâle
- Framboise Pi Pico W
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 ce qu’est 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.
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.
Vous aurez besoin de pmon.py et test.py pour la partie de détection du sol et les fichiers python microdot.py , mm_wlan.py et pico_w_server.py seront utilisés pour compléter le serveur Web simple ultérieurement.
C’est maintenant le moment idéal pour faire une pause et vous rafraîchir avec les 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 que les fonctions d’ humidité , de température et d’ humidité sont é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 fichier test.py obtenu à partir de notre référentiel MUO GitHub.
Vous remarquerez que les modules time, pmon (de PlantMonitor ) et machine sont nécessaires pour surveiller correctement la santé de votre plante.
Lorsque le module PlantMonitor est importé, tout ce qui est nécessaire pour surveiller les conditions du sol est une simple boucle while. De plus, la commande d’impression affichera les relevés d’humidité, de température et d’humidité du sol après l’exécution de test.py dans 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) pour déclencher votre pompe à eau, via un relais, pour allumer et distribuer à 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.
Serveur Web simplifié
Vous aurez besoin de trois fichiers python, provenant de notre référentiel MUO GitHub, pour 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
Le fichier microdot gère les fonctions principales 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.
Le fichier 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.
Le fichier 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 exécutez votre fichier test.py , les fichiers python du serveur requis ( mm_wlan et pico_w_server ) sont importés pour vous. Après avoir exécuté le fichier test.py , 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 :
Afin de réduire la dépendance de votre PC connecté, remplacez le fichier test.py par main.py et enregistrez-le sur votre Raspberry Pi Pico W. Vous pouvez également envisager de connecter un écran LCD à votre Pico afin de programmer l’affichage en sortie. 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 ».
Laisser un commentaire