Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Arrosage automatisé des plantes Raspberry Pi avec site Web

Configurez votre Pi pour prendre automatiquement soin d'une plante d'intérieur en lisant un capteur d'humidité et en arrosant si nécessaire.

Histoire

Ce message commence par deux faits :

Après avoir lu à quel point les choses peuvent bien pousser à l'intérieur, j'ai commencé à penser que l'automatisation était peut-être ma voie vers des plantes saines. J'ai donc décidé de construire le strict minimum - obtenir une usine, une pompe et un capteur d'eau. Lorsque le capteur d'eau indique « pas d'eau ici », utilisez la pompe pour y mettre de l'eau.

J'ai également décidé de tout faire passer par un Raspberry Pi comme excuse pour interagir avec le RPi GPIO.

Voici comment j'ai fait !

Matériaux :

Câblage :

La première chose que j'ai faite a été de faire mon alimentation 5V à partir d'un câble USB. À l'aide d'un vieux câble iphone, j'ai coupé le côté de l'iphone et repêché un fil rouge et noir. J'y ai soudé des fils plus robustes et je l'ai branché sur un adaptateur mural. En vérifiant avec un voltmètre, cela m'a donné une sortie de 5 V.

Maintenant, place au GPIO.

Câblage RPi :

Suite à cette disposition GPIO :

Capteur d'eau - branchez le fil positif du capteur d'eau à la broche 2 et le fil négatif à la broche 6. Branchez le fil de signal (jaune) à la broche 8.

Relais - Branchez le fil positif de la broche 7 à IN1 sur la carte relais. Connectez également la broche 2 à VCC et la broche 5 à GND sur la carte relais.

Pompe - Connectez votre pompe à une source d'alimentation, faites passer le fil de terre noir entre les emplacements B et C du module relais 1 (lorsque le RPi envoie un signal FAIBLE de 0v à la broche 1, cela fermera le circuit d'allumage de la pompe).

Ce diagramme devrait capturer le bon GPIO tant que vous utilisez Raspberry Pi 3. Une autre source d'alimentation pour le RPi n'est pas illustrée.

Configuration du matériel :

Une fois le câblage terminé, fixez le tuyau flexible à la pompe (j'ai utilisé du ruban isolant) et déposez-le dans un pot d'eau. Attachez l'autre extrémité du tuyau à votre plante.

Branchez maintenant toutes les sources d'alimentation (et assurez-vous que votre Raspberry Pi exécute une version d'un système d'exploitation, comme celui-ci ici).

Logiciel

Remarque :Si vous obtenez le câblage exactement comme décrit ci-dessus, mon code dans la section suivante fonctionnera sans aucune modification. Il y a deux parties à cette configuration. Un fichier contrôle toute la GPIO et la logique du circuit, et l'autre exécute un serveur Web local.

Tous les fichiers :

Script GPIO

Commençons par le code pour contrôler le GPIO. Cela nécessite la bibliothèque python RPi.GPIO qui peut être installée sur votre Raspberry Pi comme suit :

$> python3.4 -m pip install RPi.GPIO

Avec cela installé, vous devriez pouvoir utiliser le script water.py trouvé ici.Vous pouvez tester cela fonctionne correctement en exécutant une session python interactive comme suit :

$> python3.4>>> importer de l'eau>>> water.get_status()>>> water.pump_on() Cela devrait imprimer une déclaration indiquant si votre capteur est humide ou sec (get_status()), et également activer le pompe pendant 1s. Si cela fonctionne comme prévu, vous êtes en forme.

À ce stade, vous pouvez également calibrer votre capteur d'eau. Si l'état de votre plante est incorrect, essayez de tourner la petite vis (potentiomètre) sur le capteur alors qu'il est dans un sol humide jusqu'à ce que le 2ème voyant s'allume.

Serveur Web Flask

Le prochain aspect de ce projet est de configurer le serveur Web. Ce code se trouve ici dans un fichier appelé web_plants.py. Ce script python exécute un serveur Web permettant diverses actions à partir du script décrit ci-dessus.

Vous devrez conserver web_plants.py dans le même répertoire que water.py et auto_water.py décrits ci-dessus. Vous aurez également besoin d'un sous-répertoire appelé "templates" contenant le fichier html appelé ici main.html.

Vous devrez installer flask et psutil comme suit :

$> python3.4 -m pip install flask $> python3.4 -m pip install psutil

Assurez-vous de placer le fichier web_plants.py dans le même répertoire que le script water.py ci-dessus. Vous devrez également créer un sous-répertoire appelé templates et placer main.html dans le répertoire templates. Exécutez maintenant la commande suivante pour démarrer votre serveur Web :

$> sudo python3.4 web_plants.py Maintenant, si vous accédez à l'adresse IP de votre RPi, vous devriez voir un tableau de bord Web comme celui-ci :

Essayez de cliquer sur les boutons pour vous assurer que tout fonctionne comme prévu ! Si c'est le cas, vous partez pour les courses. voici un autre excellent tutoriel que j'ai suivi sur flask + GPIO

Exécuter le site Web automatiquement

Enfin, vous souhaitez probablement que le site Web démarre automatiquement lorsque le RPi est allumé. Cela peut être fait à l'aide d'un outil appelé cronjob, qui enregistre votre site Web en tant que commande de démarrage.

Pour ce faire, tapez :

$> sudo crontab -e

Cela fera apparaître un éditeur de texte. Ajoutez une seule ligne indiquant (et assurez-vous de laisser une ligne vide ci-dessous) :

@reboot cd  ; sudo python3.4 web_plants.py

Maintenant, lorsque vous redémarrez votre pi, il devrait démarrer automatiquement le serveur.

Lire plus de détails :Arrosage automatisé des plantes Raspberry Pi avec site Web


Processus de fabrication

  1. Lire la température avec DS18B20 | Raspberry Pi 2
  2. Aquaponie contrôlée Raspberry Pi
  3. Mesure de la température avec RASPBERRY PI
  4. Surveillance de la température ambiante avec Moteino's et Raspberry Pi
  5. Contrôle de la température avec Raspberry Pi
  6. Capteur de température 1 fil DS1820 au Raspberry Pi (GPIO directement)
  7. Capteur à ultrasons (HC-SR04) + Raspberry Pi
  8. Capteur de suivi de ligne avec RPi
  9. Détection de foudre avec un Raspberry Pi