Table des matières:
- Étape 1: Fournitures
- Étape 2: Schéma de frittage
- Étape 3: préparer le Raspberry Pi
- Étape 4: Modèle de base de données - MySQL
- Étape 5: Frontend: Configuration du serveur Web
- Étape 6: Back-end
- Étape 7: Placer la bande LED
- Étape 8: Placer les tubes
- Étape 9: Placement de l'écran LCD
- Étape 10: Placement des capteurs et connexion de la bande LED
- Étape 11: Câblage du Pi
- Étape 12: Faire un récipient pour l'eau
- Étape 13: Résultat final
Vidéo: Pot de fleurs automatisé - Petit jardin : 13 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Je suis étudiant en technologie multimédia et communication à Howest Kortrijk. Pour notre mission finale, nous devions développer un projet IoT de notre choix.
En cherchant des idées, j'ai décidé de faire quelque chose d'utile pour ma mère qui aime faire pousser des plantes et j'ai commencé à travailler sur un pot de fleurs automatisé.
Les principales tâches de ce pot de fleurs automatisé Little Garden sont les suivantes:
-
Mesurer le
- Température
- Intensité lumineuse
- Humidité
- Humidité du sol
Enregistrer les mesures dans une base de données
Améliorer les conditions de croissance des plantes si une certaine valeur est trop faible
Laissez l'appareil être surveillé et géré via un site Web
Toutes les étapes ne doivent pas être suivies à la trace. Une grande partie de ce qui se passe peut être votre préférence personnelle ou être améliorée. Cette construction a été conçue de manière à ce que les pièces puissent être récupérées par la suite, vous voudrez donc peut-être aborder votre itération différemment pour la rendre plus permanente
Étape 1: Fournitures
La plupart des fournitures pour ce projet ne sont pas très difficiles à acquérir, même si dans mon cas j'ai travaillé avec beaucoup de matériaux recyclés. Je devais aussi m'assurer de pouvoir récupérer certains matériaux par la suite.
Composants de base:
- Raspberry Pi 4 modèle B
- Alimentation Raspberry Pi
- Cordonnier Raspberry Pi
- Carte micro SD de 16 Go
- Alimentation de la planche à pain avec 3,3 V et 5 V
- Planche à pain
- Alimentation 12V
Capteurs:
- DHT11: Capteur d'humidité et de température
- BH1750: Capteur d'intensité lumineuse
- Capteur d'humidité du sol
- MCP3008
Composants de l'actionneur:
- Pompe à eau 220V
- Bande LED 12V
- Module relais Velleman
- ASTUCE 50: transistor NPN
- Écran LCD 16X2
- PCF8574a
Résistances:
- 3 résistances de 330 Ohm
- 1 résistance de 5k Ohm
- 2 résistances de 10k Ohm
- 1 résistance de 1k Ohm
- 1 résistance de potentiel 10k
Matériaux:
- Serre/pot à plantes préfabriqués
- Boîte de dérivation
- Bouteille d'eau en plastique
- Pivote
- Fils cavaliers + fil ordinaire
- Broche
- Étain à souder + gaine thermorétractable
- Ruban adhésif double face
- Peindre
Outils:
- Pistolet à colle
- Percer
- Lame de scie
- Fer à souder
- Cutter
- Pinceau
L'avantage de ce projet est qu'il peut être étendu ou simplifié, en ajoutant/supprimant des composants et en modifiant légèrement le code. Par exemple, en remplaçant la pompe 220V par une pompe 12V, vous pouvez retirer un adaptateur secteur de l'appareil.
Étape 2: Schéma de frittage
La maquette et les schémas électriques de l'appareil sont indiqués ci-dessus. Ici, vous pouvez voir comment tous les composants sont connectés entre eux.
Une explication générale du fonctionnement des composants:
- Le DHT11 mesure l'humidité de l'air en % et la température en °C. La communication avec elle est gérée par une bu I2C.
- Le BH1750 mesure l'intensité lumineuse en lux. La communication est gérée par un bus I2C
- Le capteur d'humidité du sol crée un signal numérique qui est converti par le MCP3008 en un signal numérique lisible pour le Raspberry Pi
- Le module LCD 16x2 affiche les adresses IP du Pi, l'une après l'autre. Il est connecté à un PCF8574a qui reçoit un signal du Raspberry Pi qui le convertira en un certain nombre de signaux pour les broches binaires de l'affichage. Les broches E et RS de l'écran LCD sont connectées directement au Pi. La résistance de potentio détermine la luminosité de l'écran.
- La pompe à eau est connectée à un relais qui se trouve entre elle et son alimentation/prise 220V. Le Raspberry Pi peut envoyer un signal au relais pour fermer le circuit électrique et allumer la pompe.
- La bande LED est connectée à l'alimentation 12V et au TIP 50 (transistor NPN) qui bascule le courant électrique. La résistance de 1k Ohm est utilisée pour limiter la puissance tirée du Raspberry Pi, sinon elle serait frite très croustillante.
Étape 3: préparer le Raspberry Pi
Si vous n'en avez pas encore, vous devrez mettre l'une des images du système d'exploitation Raspberry Pi sur la carte SD. Je ne recommande pas d'utiliser Lite, car cela m'a causé des problèmes au début. Ensuite, vous devrez vous assurer que votre Pi est à jour en utilisant les commandes suivantes pendant que le Pi est connecté à Internet:
- sudo apt-get mise à jour
- sudo apt-get mise à niveau
Après quoi, vous pouvez activer ou installer les packages pour que le projet fonctionne, soit via raspi-config, soit via des commandes.
- SPI
- I2C
- MySQL: prochaine étape
- SocketIO: pip install flask-socketio
Après l'installation, vous pouvez ajouter les fichiers nécessaires qui sont écrits en html, CSS, Javascript et Python. Tout mon code se trouve sur mon dépôt github.
Étape 4: Modèle de base de données - MySQL
Ci-dessus, vous pouvez voir le diagramme ERD qui est hébergé via MariaDB. Je recommande de suivre ce guide d'installation de MariaDB, non seulement pour installer MariaDB, mais aussi pour vous assurer que votre Pi est protégé.
Pour les personnes qui voudraient comprendre, la base de données fonctionne comme suit:
Les mesures et les bascules de l'actionneur sont stockées sous forme de lignes dans la table Metingen.
- metingId = ID de la ligne de mesure/basculement
- deviceId = ID de l'appareil responsable de cette ligne dans le tableau
-
waarde = valeur de la mesure du capteur ou de la bascule de l'actionneur
- capteur: valeur de la mesure dans les unités correspondantes
- actionneurs: 0 = OFF et 1 = ON
- commentaar = commentaires utilisés pour ajouter des informations supplémentaires, telles que des erreurs
- datum = la date et l'heure auxquelles la mesure/le basculement s'est produit
Les paramètres de l'appareil sont stockés dans Paramètres.
- settingId = ID de cette ligne et la valeur du paramètre
- deviceID = ID de l'appareil/capteur correspondant
- waarde = valeur du réglage
- type = type de réglage, est-il maximum ou minimum ?
Enfin, le tableau Devices contient des informations sur les capteurs et les actionneurs.
- deviceId = ID de l'appareil dans cette table
- naam = nom de l'appareil/composant
- merk = marque
- prijs = prix du composant
- beschrijving = résumé du composant
- eenheid = unité pour les valeurs mesurées
- typeDevice = spécifie si le composant est un capteur ou un actionneur
Étape 5: Frontend: Configuration du serveur Web
Le Pi vous demandera d'installer le serveur Web Apache afin d'exécuter le serveur Web pour cet appareil. Cela peut être fait avec la commande suivante:
sudo apt-get install apache2.
Une fois cela fait, vous pouvez naviguer jusqu'au dossier: /var/www/html. Ici, vous devrez placer tout le code du frontend. Ensuite, vous pouvez accéder au site Web en naviguant jusqu'à l'adresse IP.
Étape 6: Back-end
Pour exécuter le backend, vous devrez exécuter le fichier app.py, soit manuellement, soit en créant un service pour celui-ci sur le Pi afin qu'il démarre automatiquement.
Comme vous pouvez le remarquer, il y a pas mal de fichiers. J'ai séparé le code autant que possible pour avoir une vue d'ensemble et une organisation claires du code.
Une brève explication:
app.py: Le fichier principal où la base de données, le code matériel et le code backend sont joints
config.py: fichier de configuration pour les référentiels de bases de données
Référentiels: Pour accéder au référentiel de données
-
Assistant
- devices_id: classes pour aider à identifier les informations de périphérique dans la base de données
- lcd: pour exécuter le PCF et l'écran LCD
- Actionneurs: classes de fonctionnement des actionneurs
- Capteurs: cours pour faire fonctionner les capteurs
Étape 7: Placer la bande LED
J'ai coupé un morceau de la bande LED et l'ai collé sur le dessus de la boîte à effet de serre. La bande que j'ai utilisée peut être coupée à plusieurs endroits et reconnectée, vous pouvez donc placer plusieurs bandes et les reconnecter par la suite à l'aide de fils, ce qui permet d'éclairer plus d'espace.
Étape 8: Placer les tubes
Les tubes pouvaient être placés de plusieurs manières, mais dans mon cas, je les ai attachés sur le côté du fond, en les gardant aussi loin que possible des autres appareils électroniques et en laissant l'eau s'écouler simplement dans la saleté.
Étape 9: Placement de l'écran LCD
J'ai coupé un tout dans le couvercle de la boîte de jonction avec une lame de scie, créant une ouverture assez grande pour que l'écran puisse passer, mais assez petite pour que le PCB reste derrière. Ensuite, il a été attaché au couvercle à l'aide de biais.
L'écran LCD affiche les adresses IP du Raspberry Pi, ce qui permet de savoir quelle adresse vous pouvez utiliser pour surfer sur le site.
Étape 10: Placement des capteurs et connexion de la bande LED
En utilisant les schémas de frittage, j'ai soudé les connexions entre les fils et placé les résistances à l'intérieur des fils, en utilisant des tubes thermorétractables pour les isoler.
Des trous ont été découpés sur les côtés du couvercle et du fond de la serre pour fixer les pivots, à travers lesquels j'ai tiré les fils des capteurs et de la bande LED.
J'ai regroupé les fils par fonction. La tension des fils et des tubes thermorétractables elle-même a maintenu les capteurs. Je n'ai eu qu'à utiliser de la colle sur les fils pour le DHT11 car cela s'est étendu plus loin.
Étape 11: Câblage du Pi
J'ai découpé des trous sur le côté de la boîte de jonction pour permettre aux fils de passer plus tard.
Après cela, j'ai placé la planche à pain (avec le cordonnier en T, PCF8574a, MCP3008, résistance réglable et TIP50), le relais et le Raspberry Pi au bas de la boîte de jonction, qui était recouverte de ruban adhésif double face. L'alimentation ne rentrait pas sur la maquette, j'ai donc dû la mettre sur le côté et utiliser des câbles de connexion pour la connecter à la maquette.
Enfin, j'ai tiré les fils de l'adaptateur, du capteur et de l'actionneur à travers les trous connectés les fils à la planche à pain, au Raspberry Pi et à d'autres composants. Le fil de la pompe a été coupé pour que je puisse placer les extrémités à l'intérieur du relais afin qu'il puisse être utilisé comme interrupteur.
Étape 12: Faire un récipient pour l'eau
J'ai fabriqué un réservoir d'eau à partir d'une bouteille d'eau en plastique de 1 litre en coupant le haut avec un cutter et en le peignant pour un meilleur look. La pompe à eau a ensuite été placée à l'intérieur. En raison de la règle des vases communicants, l'eau pourrait potentiellement s'écouler toute seule dans les tuyaux, mais maintenir le tube en place résout le problème.
Étape 13: Résultat final
Le moment que vous attendiez. Vous pouvez maintenant placer la terre et les graines à l'intérieur de la boîte de serre et laisser l'appareil prendre le relais. Vous pouvez surveiller l'état de l'appareil à partir du site Web et définir les valeurs optimales pour les conditions d'éclairage et de sol.
Je recommande d'arroser le sol d'abord manuellement, car certaines saletés peuvent être assez sèches au début. Certaines pompes semblent également arroser assez lentement, mais vous devez être très prudent car elles se rempliront plus rapidement que prévu. Une saturation supérieure à 80% peut rendre le sol très détrempé. Et assurez-vous que le capteur d'humidité du sol est suffisamment profond.
Conseillé:
Système de jardin automatisé construit sur Raspberry Pi pour l'extérieur ou l'intérieur - MudPi : 16 étapes (avec photos)
Système de jardinage automatisé construit sur Raspberry Pi pour l'extérieur ou l'intérieur - MudPi : Vous aimez le jardinage mais vous ne trouvez pas le temps de l'entretenir ? Peut-être avez-vous des plantes d'intérieur qui ont l'air un peu assoiffées ou cherchez-vous un moyen d'automatiser votre culture hydroponique ? Dans ce projet, nous allons résoudre ces problèmes et apprendre les bases de
Pot de fleurs connecté pour Micro:bit : 4 étapes
Pot de fleurs connecté pour Micro:bit : Ce pot de fleurs est fabriqué avec une impression 3D et contient une carte microbit. Ce pot contient une carte micro:bit logée sous le conteneur de terre. Celui-ci reçoit les informations du capteur d'humidité du sol (conductivité). Transcription de l'humidité du sol va
Lumière solaire colorée pour pot de jardin : 9 étapes (avec photos)
Lampe de jardin solaire colorée : le moyen le plus simple de fabriquer une lampe de jardin solaire est de démonter l'une de ces lampes de jardin solaires bon marché et de la fixer dans un bocal en verre. En tant qu'ingénieur, je voulais quelque chose de plus sophistiqué. Ces lumières blanches sont ennuyeuses alors j'ai décidé de créer mon propre design ba
FEDORA 1.0, un pot de fleurs intelligent : 8 étapes (avec photos)
FEDORA 1.0, un pot de fleur intelligent : FEDORA ou Flower Environment Decorating Organic Result Analyzer est un pot de fleur intelligent pour le jardinage d'intérieur. FEDORA n'est pas seulement un pot de fleurs, il peut servir de réveil, de lecteur de musique sans fil et de petit ami robot. La caractéristique principale
POT DE FLEURS LUMINEUX À L'AIDE DE LED !! : 5 étapes (avec photos)
POT DE FLEUR LUMINEUX À L'AIDE DE LED !! : AVEZ-VOUS UN JOLI POT DE FLEUR EN VERRE QUI SE TROUVE DANS UN COIN DE VOTRE MAISON …….. ALORS IL EST TEMPS DE LE PIMPER EN LE BRILLANT À L'AIDE DE LED