Table des matières:
- Étape 1: Comprendre l'architecture:
- Étape 2: Liste des pièces
- Étape 3: Câblage et mise en place des éléments
- Étape 4: Configurer Blynk
- Étape 5: Configurer le récipient alimentaire, la pompe à eau et la caméra en direct
- Étape 6: Comment utiliser le panneau de configuration
- Étape 7: Défis, limites et plans futurs
Vidéo: IDC2018IOT Connected Pet Food, Water and Monitor System : 7 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
introduction
Que vous soyez un étudiant sous pression, un travailleur acharné ou simplement loin de chez vous plus de quelques heures par jour. En tant que propriétaires d'animaux bienveillants, nous voulons nous assurer que nos bien-aimés restent en bonne santé, nourris et bien sûr NE PAS s'allonger sur le canapé (enfoiré !). Il est temps d'arrêter de demander des faveurs, ou même de payer pour de tels services.
Avec ce projet sympa, nous visons à vous offrir la possibilité de le faire vous-même (j'ai entendu dire que c'est une chose maintenant). Nous allons créer une solution pour mieux surveiller nos animaux de compagnie et même prendre des mesures au bureau, à l'école ou simplement en train de passer du temps avec nos amis ou nos proches.
Ce système vous permettra de nourrir votre animal à distance tout en contrôlant la quantité de nourriture que vous versez du récipient, remplissez le bol d'eau chaque fois qu'il se vide. De plus, nous pouvons désormais surveiller les niveaux d'eau du bol en temps réel, mesurer le contenu des contenants de nourriture et surtout regarder l'animal en direct à l'aide d'un simple module de caméra.
À propos de nous
Tomer Maimon, Gilad Ram et Alon Shprung. Trois étudiants passionnés en informatique de l'IDC Herzeliya. Il s'agit de notre premier projet Instructables dans le cadre d'un atelier IoT - nous espérons que vous le trouverez intéressant et amusant à construire !
Étape 1: Comprendre l'architecture:
On peut diviser ce système en deux parties principales:
-
Canaux de données entrants:
- Capteur d'eau - échantillonnant les niveaux d'eau à l'intérieur du bol pour animaux de compagnie, les données sont transmises de l'unité Node-MCU au serveur Blynk et sont enfin présentées via le tableau de bord pour animaux de compagnie.
- Capteur sonar - échantillonnant le contenu du récipient alimentaire, les données sont transmises de l'unité Arduino (avec extension de blindage Ethernet) au serveur Blynk et sont enfin présentées via le tableau de bord Pet.
- Module de caméra Pi - échantillonne constamment les images de la zone de l'animal, le Pi héberge son propre serveur qui fournit le flux en direct au tableau de bord de l'animal.
-
Flux de commandes:
- Bouton d'alimentation (tableau de bord) - mise à jour d'une valeur de broche virtuelle via Blynk, la fonction correspondante est déclenchée sur la carte Arduino, le servo se déplace alors afin de permettre aux aliments de passer à travers le couvercle.
- Donner de l'eau (tableau de bord) - met à jour activement une valeur de broche virtuelle via Blynk, la fonction correspondante est déclenchée sur la carte Node-MCU, le relais est activé, la pompe à eau commencera à faire couler de l'eau dans le bol de l'animal.
- Pet Live Feed (Dashboard) - intégré au tableau de bord et présentant des données en direct via le serveur de flacons qui s'exécute sur l'appareil Pi.
Étape 2: Liste des pièces
Pour commencer à travailler sur ce système, vous aurez besoin des pièces suivantes (ou similaires):
-
Physique:
- Conteneur alimentaire: Nous avons utilisé un tuyau industriel double face de 45 cm, que nous avons acheté dans un grand magasin. Il est important d'avoir 2 sorties. Une pour la mesure du contenu et une seconde sortie pour le mécanisme d'ouverture/fermeture.
- Duct Tape: pour garder les choses ensemble;)
- Cavaliers: Plus on est de fous, toujours bon d'en avoir en plus si quelque chose ne va pas.
- Câble Ethernet: Pour connecter notre Arduino (avec blindage Ethernet) à Internet.
- Pot de jardinage: utilisé comme récipient pour l'eau et la pompe à eau.
- Tube d'eau court: connecté à la pompe et verse de l'eau dans le bol de l'animal.
-
Capteurs:
- Capteur de niveau d'eau WINGONEER: mesurez les niveaux d'eau dans le bol de l'animal.
- Capteur sonar - Mesurez la distance entre le niveau des aliments et le couvercle supérieur à l'intérieur du récipient.
- Relais TONGLING: Permet d'allumer/éteindre la pompe à eau qui fait couler l'eau.
- Module de caméra Pi: connecté à un appareil Raspberry Pi et diffuse des images de la zone de l'animal.
- Servo générique: verrouille et déverrouille le conteneur de nourriture.
-
Appareils/cartes électroniques:
- Arduino Uno: contrôle la mise en œuvre de l'unité de conteneur alimentaire.
- Arduino Ethernet Shield: Fournit une connexion Internet à notre carte.
- NodeMCU (ESP-8266): contrôle l'unité d'eau, à la fois pour mesurer et verser de l'eau. Cette carte a la capacité de se connecter via WiFi.
- Raspberry Pi 3 - héberge le serveur de caméra et fournit un flux en direct au tableau de bord pour animaux de compagnie.
- Pompe à eau submersible VicTsing 80 GPH: Fait couler l'eau de la boîte de jardinage vers le bol, avec le tube d'eau.
Étape 3: Câblage et mise en place des éléments
Câblage
Avant de commencer, il est recommandé de placer l'Arduino / Node-MCU sur une maquette pour faciliter l'assemblage de tous les fils et leur placement sur n'importe quel emplacement physique. De plus, il est recommandé d'utiliser des fils longs pour éviter les erreurs dues au détachement du câble. Nous vous avons fourni un schéma de câblage pour le Node-MCU (Water Unit) et l'Arduino (Food Unit).
-
Unité alimentaire (Arduino):
-
Capteur sonar:
- GND (noir) = GND
- VCC (rouge) = 5V
- Trig (violet) = 3
- Écho (Bleu) = 4
-
Servo:
- GND (noir) = GND
- VCC (rouge) = 5V
- Signal (Jaune) = 9
-
-
Unité d'eau (nœud):
-
Capteur de niveau d'eau:
- S (Bleu) = A0
- + (Rouge) = 3v3
- - (Noir) = GND
-
Relais (câblé électriquement à la pompe à eau):
- IN (Jaune) = D1
- VCC (Rouge) = Vin
- GND (noir) = GND
-
-
Unité de caméra (Pi):
-
Capteur de caméra:
- Connectez-vous au port de caméra unique du Pi (câble de flux)
- Si vous cherchez à en savoir plus sur Pi avec module caméra - Lien
-
Assembler des pièces ensemble
Dans cette partie, vous êtes invités à personnaliser et modifier ce projet afin de le "faire vôtre". Mais nous vous fournirons des images et une description pour reconstituer notre version du produit.
-
Unité alimentaire (Arduino): Le conteneur est assez simple, nous allons nous concentrer sur la fabrication des deux couvercles.
- Couvercle supérieur: Découpez 2 trous dans le couvercle pour que le capteur sonar puisse s'y insérer (voir l'image ci-jointe).
- Couvercle inférieur + mécanisme: commencez par prendre l'un des accessoires en plastique (fournis avec le servo-capteur) et construisez une forme de « marteau de masse » en utilisant du ruban adhésif/des bâtons en bois (nous n'avons utilisé que du ruban adhésif). Ensuite, attachez-y le servo. Maintenant, nous avons besoin de 2 trous sur le couvercle lui-même. Le premier devrait permettre au servo de s'insérer dans le mécanisme que nous avons construit et placé sur le "côté intérieur" du couvercle. Découpez un autre trou en fonction du côté de la "tête de marteau" que vous avez fabriquée. De cette façon, chaque fois que le servo s'ouvre, la queue du marteau va balayer les aliments vers la sortie et empêcher les gros morceaux de se coincer.
- Unité d'eau (Node-MCU): Connectez simplement le tube d'eau à la pompe à eau, placez-le maintenant dans le pot de jardin (assurez-vous de NE PAS placer la mauvaise pièce avec le relais et les fils électriques à l'intérieur de l'eau).
- Unité de caméra: Tout ce que vous avez à faire est de placer le Pi avec module de caméra à l'emplacement de votre choix.
Étape 4: Configurer Blynk
Toutes les fonctionnalités à distance de ce projet sont basées sur Blynk. Ce service nous fournit essentiellement un serveur Web gratuit et une API RESTful pour communiquer avec nos périphériques Arduino/Node-MCU sur Internet à l'aide du protocole HTTP. Blynk nous permet de définir des broches virtuelles, qui serviront d'adresse pour exécuter des fonctions spécifiques liées au versement d'eau, à l'alimentation et à l'échantillonnage des différents capteurs (nous avons fait cette partie pour vous, il vous suffit d'obtenir votre propre jeton d'application, qui sera expliqué par la suite).
Comment obtenir mon jeton d'authentification Blynk
- Téléchargez l'application Blynk via AppStore / PlayStore pour votre appareil mobile.
- Inscrivez-vous à ce service (il est gratuit).
- Commencez un nouveau projet, assurez-vous de sélectionner le bon appareil (dans notre cas ESP8266).
- Après la création, un email avec AUTHENTICATION TOKEN sera envoyé - Enregistrez le token pour les prochaines étapes.
Remarque: Blynk peut être entièrement utilisé via l'application, mais nous avons décidé de mettre en œuvre notre propre tableau de bord personnalisé.
Enfin, afin de passer à l'étape suivante, vous devez télécharger et installer la bibliothèque Blynk - Lien (passez à la partie 3)
Étape 5: Configurer le récipient alimentaire, la pompe à eau et la caméra en direct
À ce stade, nous avons fini d'assembler toutes les pièces et avons obtenu notre blynkAuthAppToken (voir étape 3).
Nous vous avons fourni tout le code dont vous avez besoin pour exécuter ce projet, tout ce que vous avez à faire est de changer quelques variables dans le code, ce qui en fera "votre propre" système privé.
Tout d'abord, commencez par télécharger l'IDE Arduino (si vous ne l'avez pas encore fait) - Lien
Conteneur de nourriture Arduino
- Configurez l'IDE sur la carte Arduino: Outils -> Carte -> Arduino/Genuino Uno
-
Assurez-vous que ces bibliothèques sont installées: Sketch -> Inclure la bibliothèque -> Gérer les bibliothèques
Relais (Par Rafael)
-
Ouvrez le fichier de croquis PetFeeder.ino, configurez les paramètres suivants (voir l'image ci-jointe pour obtenir de l'aide):
auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
- Compilez et téléchargez le croquis sur votre appareil Arduino.
Unité d'eau Node-MCU
-
Configurez l'IDE sur la carte Node-MCU:
Voir la première partie de cette instructable pour une explication détaillée
-
Assurez-vous que ces bibliothèques sont installées: Sketch -> Inclure la bibliothèque -> Gérer les bibliothèques
Gestionnaire WiFi (Par tzapu)
-
Ouvrez le fichier de croquis PetFeeder.ino, configurez les paramètres suivants (voir l'image ci-jointe pour obtenir de l'aide):
- auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
- ssid = "VOTRE_WIFI_SSID"; // En gros c'est le nom de votre réseau WiFi
- pass = "YOUR_WIFI_PASSWORD"; // si vous n'avez pas de mot de passe, utilisez une chaîne vide ""
- Compilez et téléchargez le croquis sur votre appareil Node-MCU.
Module de caméra en direct Pi
- Connectez le module de caméra pi
- Exécutez " sudo raspi-config " et activez l'option "caméra".
-
Testez l'appareil photo à l'aide de la commande "raspistill" pour capturer une image
r aspistill -o image.jpg
-
Configurez le serveur de caméra Web Flask:
- Installez toutes les exigences en utilisant pip install -r requirements.txt
- Utilisez python pour exécuter camera_server.py
- Découvrez-le sur 127.0.0.1:5000/video_feed
-
Configurez le serveur Web Flask pour qu'il s'exécute au démarrage:
-
Ajoutez la ligne suivante à /etc/rc.local (avant la ligne de sortie):
python /camera_server.py
-
Étape 6: Comment utiliser le panneau de configuration
Installer
Cette partie est assez simple, il vous suffit d'insérer le "blynk app token" dans le fichier "index.js" comme suit:
const blynkToken = "YOUR_BLYNK_APP_TOKEN" // utilise le même jeton des étapes précédentes.
Usage
- Ouvrez le tableau de bord en double-cliquant sur le fichier "index.html".
- Le tableau de bord échantillonnera automatiquement le système toutes les 10 minutes.
- Les mesures des conteneurs d'eau et de nourriture peuvent être prises manuellement.
- Les boutons « Donner de l'eau » et « Alimentation » sont utilisés pour fournir activement à votre animal de la nourriture et de l'eau.
- La partie inférieure du tableau de bord présentera le flux en direct du module de caméra si vous avez suivi attentivement les instructions de l'étape précédente.
Remarque: Si vous souhaitez personnaliser le nombre d'ouvertures du récipient alimentaire lorsque vous nourrissez, ouvrez le fichier « index.js » et modifiez la « valeur » sur la ligne suivante de « 3 » à n'importe quel nombre de votre choix:
fetch(baseURL + '/update/V1?value=3');
Étape 7: Défis, limites et plans futurs
Défis
Les principaux défis pour nous dans ce projet étaient liés à la conception du mécanisme d'ouverture/fermeture du conteneur alimentaire et à la création d'un code concurrent stable pour contrôler et mesurer l'unité alimentaire. Je crois que nous avons essayé au moins 4 versions différentes jusqu'à ce que nous soyons satisfaits. La principale préoccupation était la nourriture qui bloquait la sortie. Afin d'éviter cela, nous avons choisi une conception Sledge-Hammer, de cette façon, chaque fois que nous ouvrons le conteneur, la queue du "marteau" balaie la nourriture vers la sortie. De plus, l'utilisation d'un tube à deux côtés a rendu notre vie beaucoup plus simple lors de la construction du récipient alimentaire. Un tel objet est parfait pour placer le mécanisme de sortie d'un côté, et un capteur de distance de l'autre côté pour mesurer son contenu.
Limites
A cette phase du projet, il y a quelques limitations au système:
- Ce n'est pas entièrement automatisé, ce qui signifie que l'alimentation et le versement de l'eau se font manuellement via le tableau de bord de surveillance sans aucun programmateur intelligent (qui pourrait être ajouté à l'avenir ou mis en œuvre par vous !).
- Le tableau de bord s'exécute localement à partir de votre propre ordinateur portable, afin de le rendre plus accessible, il peut être hébergé sur des plateformes populaires telles que "Heroku".
- Nous avons utilisé un module caméra très simple, qui peut être remplacé par un module beaucoup plus compliqué pour permettre une meilleure qualité d'image et éventuellement l'ajout de canal de communication avec votre animal (à l'aide d'un haut-parleur).
Plans futurs
Si nous avions le temps et le budget pour continuer à développer ce système, nous avions quelques idées et un calendrier possible en tête:
- Ajout d'un système de planification automatique pour l'alimentation des animaux - 2 à 3 jours de travail.
- Création d'un site Web pour permettre aux utilisateurs de notre système de créer un tableau de bord personnalisé hébergé en ligne et accessible depuis n'importe quel appareil connecté - 1 à 2 mois de travail.
- Travailler sur une version industrielle pour ce système, permettant à plus de propriétaires d'animaux de mieux contrôler et communiquer avec leurs animaux en ligne, nous avons eu beaucoup d'intérêt de la part d'amis qui ont vu le résultat de ce Instructable. Donc, si vous avez la passion du temps pour faire passer le projet au niveau supérieur - vous avez un soutien total !
Nous espérons que vous avez apprécié la lecture (et, espérons-le, la construction !) de ce projet:)
Conseillé:
Meten Aan Water: Compteur d'intensité de pluie: 6 étapes
Meten Aan Water: Rain Intensity Meter: IntroCet appareil est créé pour mesurer l'intensité des précipitations. Il existe de nombreuses façons de mesurer la quantité de précipitations. Cependant, si l'intensité des précipitations est l'information souhaitée, la plupart des appareils de mesure sont très coûteux. Cet appareil est bon marché et facile à
Water Sort_Color: 6 étapes
Water Sort_Color: Water Sort_ColorMon projet est un genre de décor qui émet des signaux lumineux. Je propose de mettre mon projet sous l'eau se qui va donner un effet très joli, j'ai déjà commencé à réaliser mon projet. Ce PCB peut être utilisé aussi dans: les
JCN : Vector Equilibrium Food Computer Concept V60.s : 10 étapes
JCN : Vector Equilibrium Food Computer Concept V60.s : Bonjour et bienvenue. Il s'agit d'une soumission de catégorie professionnelle. J'ai défini deux objectifs importants en entreprenant ce projet. Mes priorités découlent des téléconférences avec les scientifiques de la NASA et d'autres. Mes enseignements à retenir de ces séances étaient les suivants
Food Cam : 18 étapes (avec photos)
Food Cam : Ce projet a été inspiré par le projet de food cam réalisé par le MIT Media Lab. Ce projet fait partie du service collégial Coding For Good à l'UWCSEA East à Singapour. L'objectif de ce projet est de réduire la quantité de nourriture gaspillée par notre communauté en
IoT Pet Monitor ! : 6 étapes (avec photos)
IoT Pet Monitor ! : Gardez un œil sur vos bébés bien-aimés et écoutez de la musique ou dites-leur de se taire pendant votre absence ! Ce tutoriel montrera comment utiliser un ordinateur Raspberry Pi pour surveiller le volume du son dans votre maison (via le Cloud) pour voir si et quand votre animal est contrarié