Table des matières:

Bird Feeder Monitor V2.0 : 12 étapes (avec photos)
Bird Feeder Monitor V2.0 : 12 étapes (avec photos)

Vidéo: Bird Feeder Monitor V2.0 : 12 étapes (avec photos)

Vidéo: Bird Feeder Monitor V2.0 : 12 étapes (avec photos)
Vidéo: 12. The Inca - Cities in the Cloud (Part 2 of 2) 2024, Novembre
Anonim
Image
Image
Moniteur de mangeoire à oiseaux V2.0
Moniteur de mangeoire à oiseaux V2.0

Il s'agit d'un projet pour surveiller, photographier et enregistrer le nombre et le temps passés par les oiseaux à visiter notre mangeoire à oiseaux. Plusieurs Raspberry Pi (RPi) ont été utilisés pour ce projet. L'un a été utilisé comme capteur tactile capacitif, Adafruit CAP1188, pour détecter, enregistrer et déclencher les photographies des oiseaux en train de se nourrir. Un autre RPi a été configuré pour contrôler le fonctionnement de ce système de surveillance, ainsi que pour stocker et maintenir les données pour la surveillance et l'analyse. Le dernier RPi a été configuré comme une caméra pour photographier chaque oiseau visitant la mangeoire.

Fournitures

  1. 1 pièce - Raspberry Pi W
  2. 1 pièce - Raspberry Pi 3 - Modèle B+ - pour serveur MQTT
  3. 1 pièce - Raspberry Pi avec caméra - En option
  4. 2 ea - Étuis étanches pour capteur RPi et CAP1188
  5. 1 unité - Ruban en feuille de cuivre avec adhésif conducteur
  6. Fil - 18-22 AWG
  7. Fer à souder et soudure
  8. Flux de soudure pour l'électronique
  9. Calfeutrage silicone*
  10. 8 pièces - Vis à métaux M3 x 25*
  11. 8 ch - Écrous M3*
  12. 1 unité - Proto Board pour le montage du CAP1188
  13. 1 ea - 1x8 Connecteur Dupont Femelle
  14. 1 ea - Connecteur Dupont mâle 1x6
  15. 1 unité - CAP1188 - Capteur tactile capacitif à 8 touches
  16. 2 ea - PG7 étanche IP68 joint de presse-étoupe en nylon contre-écrou réglable pour fil de câble de 3 mm à 6,5 mm de diamètre
  17. 1 jeu - Prise de connecteur électrique étanche pour voiture à 2 broches avec fil AWG Marine Pack de 10
  18. 3 ea - Alimentation 5VDC - une pour chaque RPi
  19. 1 ea - Mangeoire à oiseaux (CedarWorks Plastic Hopper Bird Feeder), ou n'importe quelle mangeoire à oiseaux avec des perchoirs en plastique ou en bois

* pour les étuis résistants aux intempéries imprimés en 3D

Étape 1: Présentation du système de surveillance des mangeoires pour oiseaux

Aperçu du système de surveillance des mangeoires pour oiseaux
Aperçu du système de surveillance des mangeoires pour oiseaux

Il s'agit d'un système de surveillance conçu pour compter, chronométrer, enregistrer et photographier les oiseaux qui se nourrissent dans notre mangeoire à oiseaux. La version précédente de mon Bird Feeder Monitor utilisait un Arduino Yun et stockait les données dans une feuille de calcul sur mon Google Drive. Cette version utilise plusieurs Raspberry Pi, des communications MQTT et un stockage local de données et de photographies.

La mangeoire à oiseaux est équipée d'un Raspberry Pi Zero W et d'un capteur tactile capacitif (CAP1188). Tous les oiseaux qui s'allument sur les perchoirs activent le capteur tactile qui démarre une minuterie pour déterminer la durée de chaque événement. Dès que le toucher est activé, le message MQTT « monitor/feeder/picture » est publié par le Bird Feeder Monitor. Ce message indique à la caméra Raspberry Pi de prendre une photo. Si le serveur MQTT publie un message " monitor/feeder/getcount ", le Bird Feeder Monitor répondra avec un message MQTT " monitor/feeder/count " que le serveur stockera.

Le serveur MQTT effectue plusieurs tâches. Il demande et stocke les données du moniteur de mangeoire à oiseaux et contrôle le fonctionnement du moniteur. Il active le moniteur à l'aube et l'éteint au crépuscule. Il contrôle également l'intervalle de temps pour demander des données et surveille également les conditions météorologiques actuelles via DarkSky. Les conditions météorologiques sont surveillées pour plusieurs raisons. Tout d'abord, la quantité de précipitations peut affecter les capteurs. Si cela se produit, les capteurs sont recalibrés régulièrement pendant que la pluie tombe. La deuxième raison est de surveiller et d'enregistrer les conditions météorologiques pour une corrélation avec les données de dénombrement des oiseaux.

La caméra Raspberry Pi est un module RPi + Raspberry Pi Camera. Le logiciel de l'appareil photo utilisé pour ce projet ne fonctionne pas avec une webcam USB. La caméra RPi est équipée du WIFI et utilise le logiciel client MQTT. Il s'abonne aux messages MQTT "moniteur/chargeur/image", et prend une photo à chaque réception de ce message. Les photos sont stockées sur RPi Camera et gérées à distance.

Étape 2: Installation de Raspbian sur Bird Feeder Monitor

Installation de Raspbian sur Bird Feeder Monitor
Installation de Raspbian sur Bird Feeder Monitor

Installez la dernière version de Raspbian Lite sur le Raspberry Pi Zero W. Je recommande de suivre les instructions étape par étape qui peuvent être trouvées sur Raspberry Pi Zero Headless Quick Start d'Adafruit.

Les étapes suivantes ont été incluses dans les instructions ci-dessus, mais méritent d'être réitérées:

Connectez-vous au RPi via ssh et exécutez les commandes suivantes:

sudo apt-get updatesudo apt-get upgrade

Les commandes ci-dessus prendront un certain temps, mais l'exécution de ces commandes vous assurera d'être à jour avec les derniers packages.

Ensuite, exécutez la commande suivante pour configurer le logiciel RPi:

sudo raspi-config

Modifiez votre mot de passe, activez SPI et I2C et développez le système de fichiers. Une fois ceux-ci terminés, quittez raspi-config.

Étape 3: Câblage du RPi et du CAP1188

Câblage du RPi et du CAP1188
Câblage du RPi et du CAP1188

Le Raspberry Pi W (RPi) et le CAP1188 sont câblés en I2C. Il existe d'autres capteurs tactiles capacitifs disponibles avec un, cinq ou huit capteurs. J'en ai choisi huit parce que ma mangeoire à oiseaux a six côtés.

Câblage:

  • CAP1188 SDA == RPi Broche 3
  • CAP1188 SCK == RPi Broche 5
  • CAP1188 VIN == RPi Pin 1 (+3.3VDC)
  • CAP1188 GND == RPi Pin 9 (GND)
  • CAP1188 C1-C8 == Se connecter aux fils sur chaque perchoir via un connecteur Dupont femelle 1x8
  • CAP1188 3Vo == CAP1188 AD - Câblage de l'adresse I2C à 0x28
  • RPi Broche 2 == +5VDC
  • RPi Broche 14 == GND

L'alimentation du RPi était fournie de l'extérieur, en faisant passer un fil sous terre depuis mon garage et à travers le tuyau utilisé comme support de mangeoire à oiseaux. Un connecteur étanche à 2 broches a été attaché à l'extrémité du fil pour connecter le moniteur de mangeoire à oiseaux RPi. L'autre extrémité du fil était connectée à une alimentation électrique à fusible de 5 V CC dans le garage. Ce projet devrait fonctionner avec des piles, mais je ne voulais pas avoir à changer les piles régulièrement.

J'ai construit un câble de 16 de long pour connecter le boîtier étanche contenant le RPi au boîtier étanche contenant le CAP1188. Le capteur capacitif doit être situé aussi près que possible des perchoirs.

Le RPi Zero et le CAP1188 auraient pu être emballés dans une seule boîte étanche, mais j'ai préféré les emballer séparément.

Étape 4: Configuration du moniteur de mangeoire à oiseaux

Configuration du moniteur de mangeoire à oiseaux
Configuration du moniteur de mangeoire à oiseaux
Configuration du moniteur de mangeoire à oiseaux
Configuration du moniteur de mangeoire à oiseaux

Connectez-vous au Raspberry Pi Zero W et effectuez les étapes suivantes.

Installer le pépin:

sudo apt-get installer python3-pip

Installez Adafruit CircuitPython:

sudo pip3 install --upgrade setuptools

Vérifiez les périphériques I2C et SPI:

ls /dev/i2c* /dev/spi*

Vous devriez voir la réponse suivante:

/dev/i2c-1 /dev/spidev0.0 /dev/spidev0.1

Installez ensuite un package GPIO et Adafruit blinka:

pip3 installer RPI. GPIOpip3 installer adafruit-blinka

Installez le module CAP1188 d'Adafruit:

pip3 installer adafruit-circuitpython-cap1188

Installez les outils I2C:

sudo apt-get install python-smbussudo apt-get install i2c-tools

Vérifiez les adresses I2C avec l'outil ci-dessus:

i2cdetect -y 1

Si le CAP1188 est connecté, vous verrez la même réponse que sur la photo ci-dessus, ce qui indique que le capteur est à l'adresse I2C 0x28 (ou 0x29 selon votre choix d'adresse I2C).

Installez mosquitto, mosquitto-clients et paho-mqtt:

sudo apt-get install mosquitto mosquitto-clients python-mosquitto

sudo pip3 installer paho-mqtt

Je recommande d'utiliser la configuration de MQTT d'Adafruit sur le Raspberry Pi pour configurer et configurer MQTT sur ce RPi.

Installez le logiciel Bird Feeder Monitor:

disque ~

sudo apt-get install git git clone "https://github.com/sbkirby/RPi_bird_feeder_monitor.git"

Créer un répertoire de journaux:

disque ~

journaux mkdir

Câblez le capteur CAP1188 au RPi et procédez comme suit pour tester le système une fois le serveur MQTT opérationnel:

cd RPi_bird_feeder_monitor

sudo nano config.json

Remplacez les valeurs de "OIP_HOST", "MQTT_USER", "MQTT_PW" et "MQTT_PORT" pour qu'elles correspondent à votre configuration locale. Quittez et enregistrez vos modifications.

Exécuter au démarrage

Toujours dans le répertoire /home/pi/RPi_bird_feeder_monitor.

nano lanceur.sh

Incluez le texte suivant dans launcher.sh

#!/bin/sh

# launcher.sh # naviguez jusqu'au répertoire home, puis dans ce répertoire, puis exécutez le script python, puis revenez home cd / cd home/pi/RPi_bird_feeder_monitor sudo python3 feeder_mqtt_client.py cd /

Quittez et enregistrez le launcher.sh

Nous devons faire du script un exécutable.

lanceur chmod 755.sh

Testez le scénario.

sh lanceur.sh

Ensuite, nous devons éditer crontab (le gestionnaire de tâches Linux) pour lancer le script au démarrage. Remarque: nous avons déjà créé le répertoire /logs précédemment.

sudo crontab -e

Cela amènera la fenêtre de crontab comme vu ci-dessus. Naviguez jusqu'à la fin du fichier et entrez la ligne suivante.

@reboot sh /home/pi/RPi_bird_feeder_monitor/launcher.sh >/home/pi/logs/cronlog 2>&1

Quittez et enregistrez le fichier, puis redémarrez le RPi. Le script doit démarrer le script feeder_mqtt_client.py après le redémarrage du RPi. L'état du script peut être vérifié dans les fichiers journaux situés dans le dossier /logs.

Étape 5: Pièces imprimées en 3D

Pièces imprimées en 3D
Pièces imprimées en 3D
Pièces imprimées en 3D
Pièces imprimées en 3D
Pièces imprimées en 3D
Pièces imprimées en 3D

Ces fichiers STL sont destinés aux pièces imprimées en 3D que j'ai créées pour ce projet, et toutes ces pièces sont facultatives. Les boîtiers résistants aux intempéries peuvent être fabriqués ou achetés localement. Le « coin de montage » pour la mangeoire à oiseaux CedarWorks est également facultatif. Cette pièce était nécessaire pour monter le boîtier du capteur CAP1188.

Étape 6: Assemblage du moniteur de mangeoire à oiseaux

Ensemble de moniteur de mangeoire à oiseaux
Ensemble de moniteur de mangeoire à oiseaux

Après avoir installé Raspbian, configuré et testé le RPi et le capteur CAP1188 comme mentionné précédemment, il est maintenant temps de monter ces appareils dans leurs boîtiers étanches.

J'ai utilisé les deux boîtiers résistants aux intempéries que j'ai imprimés pour monter le RPi et le capteur CAP1188. Tout d'abord, j'ai percé un trou de 1/2 à une extrémité de chaque boîtier. Percez le trou sur le boîtier RPi opposé au côté avec la carte SD. Montez le joint de presse-étoupe en nylon avec écrou de blocage réglable dans chaque trou. Exécutez les quatre câble conducteur entre chaque boîtier. Installez et soudez le connecteur femelle électrique étanche à 2 broches pour voiture au RPi comme indiqué sur la photo ci-dessus. Soudez le fil rouge à la broche 2 + 5VDC du RPi et le fil noir à GND ou à la broche 14 Voir le schéma de câblage pour les autres connexions utilisées sur le RPi.

Faites passer l'autre extrémité du fil à quatre conducteurs à travers le joint de presse-étoupe sur le boîtier CAP1188 et fixez les fils comme indiqué dans le schéma de câblage. Les 8 capteurs tactiles capacitifs CAP1188 sont soudés au connecteur Dupont femelle à 8 broches. Ce connecteur est encastré dans le côté du boîtier pour permettre une étanchéité à l'eau lorsque le dessus est appliqué. Remarque: le haut des deux boîtiers nécessitera probablement des modifications pour permettre les écrous sur les connecteurs de joint de presse-étoupe.

Avant de fermer, j'applique du calfeutrage en silicone sur les bords de chaque boîtier et autour des fils des joints de glande pour sceller les boîtiers. J'ajoute également du silicone à l'arrière du connecteur Dupont pour le sceller des éléments.

Étape 7: Câblage de la mangeoire à oiseaux

Câblage de la mangeoire à oiseaux
Câblage de la mangeoire à oiseaux
Câblage de la mangeoire à oiseaux
Câblage de la mangeoire à oiseaux
Câblage de la mangeoire à oiseaux
Câblage de la mangeoire à oiseaux

Chacun des perchoirs de la mangeoire était recouvert d'un ruban de feuille de cuivre autocollant de 1/4 de large. Un petit trou a été percé à travers le ruban et le perchoir, et un fil a été soudé au ruban en aluminium et acheminé sous le chargeur. Chacun des les fils sont connectés à un connecteur Dupont mâle à 6 broches.

Remarque: Avec la mangeoire à oiseaux illustrée ci-dessus, je recommande un espace entre les extrémités de chaque bande de papier d'aluminium de 1 1/4" - 1 1/2". J'ai découvert que les oiseaux plus gros, comme les quiscales et les colombes, sont capables de toucher deux bandes de papier d'aluminium en même temps si elles sont rapprochées.

Le « coin de montage » mentionné précédemment a été imprimé et collé au bas du chargeur pour fournir une zone de niveau pour monter la boîte étanche contenant le CAP1188. Du ruban velcro a été appliqué sur la boîte ainsi que sur le bloc de bois pour fournir un moyen de fixation. Cela peut être vu sur la photo ci-dessus de l'assemblage terminé. Une sangle velcro est utilisée pour enrouler le tuyau et la boîte RPi pour les fixer sous le chargeur.

La mangeoire à oiseaux est remplie avec le capteur et le RPi attachés à la mangeoire, et pendant qu'elle est encore sur le support de tuyau. Heureusement, je mesure 6'2 et j'atteins le conteneur sans trop d'effort.

Étape 8: Serveur MQTT

Serveur MQTT
Serveur MQTT
Serveur MQTT
Serveur MQTT
Serveur MQTT
Serveur MQTT

Si vous vous êtes déjà familiarisé avec le monde IOT, vous avez peut-être déjà un serveur MQTT opérationnel sur votre réseau. Si vous ne le faites pas, je vous recommande d'utiliser un Raspberry Pi 3 pour le serveur MQTT, ainsi que les instructions et le fichier image IMG trouvés sur le site Web d'Andreas Spiess "Node-Red, InfuxDB & Grafana Installation". Andreas a également une vidéo informative sur ce sujet #255 Node-Red, InfluxDB et Grafana Tutorial on Raspberry Pi.

Une fois le serveur Node-Red opérationnel, vous pouvez importer le flux Bird Feeder Monitor en copiant les données dans ~/RPi_bird_feeder_monitor/json/Bird_Feeder_Monitor_Flow.json et en utilisant Importer > Presse-papiers pour coller le presse-papiers dans un nouveau flux.

Ce flux nécessitera les nœuds suivants:

  • node-red-node-darksky - Un compte API DarkSky est requis pour utiliser ce nœud.
  • node-red-contrib-bigtimer - Big Timer par Scargill Tech
  • node-red-contrib-influxdb - Base de données InfluxDB

Les données météorologiques pour votre emplacement sont fournies via DarkSky. Et je surveille et enregistre actuellement "precipIntensity", "temperature", "humidité", "windSpeed", "windBearing", "windGust" et "cloudCover". Le "precipIntensity" est important car il est utilisé pour déterminer si les capteurs doivent être recalibrés en raison de la pluie.

Le nœud Big Timer est le couteau suisse des timers. Il est utilisé pour démarrer et arrêter l'enregistrement des données à l'aube et au crépuscule chaque jour.

InfluxDB est une base de données de séries chronologiques légère et facile à utiliser. La base de données ajoute automatiquement un horodatage à chaque fois que nous insérons des données. Contrairement à SQLite, les champs n'ont pas besoin d'être définis. Ils sont ajoutés automatiquement lorsque les données sont insérées dans la base de données.

Configuration nœud-rouge

Le fichier JSON mentionné ci-dessus chargera un flux qui nécessite quelques ajustements pour répondre à vos besoins.

  1. Connectez le "MQTT Publish" et "monitor/feeder/#" à votre serveur MQTT.
  2. Réglez la latitude et la longitude sur votre emplacement dans le nœud Big Timer "Dawn & Dusk Timer (config)".
  3. Configurez le nœud "monitor/feeder/astronomy (config)". La caméra peut être activée/désactivée pour chaque perchoir. Par exemple, deux de mes perchoirs sont à l'arrière et la caméra est désactivée pour ces perchoirs.
  4. Réglez le nœud "Counter Timer (config)" sur l'intervalle de temps souhaité. Par défaut = 5 minutes
  5. Définissez la latitude et la longitude sur votre emplacement dans le nœud "DarkSky (config)". Deuxièmement, entrez votre clé API DarkSky dans le nœud darksky-credentials.
  6. Réglez l'intensité des précipitations dans le nœud de fonction "monitor/feeder/recalibrate (config)". Par défaut = 0,001 pouce/h
  7. Modifiez le nœud de fonction « Filtre de sujet pour le nœud de débogage du récepteur MQTT (config) » pour filtrer les messages MQTT que vous NE VOULEZ PAS voir.
  8. Facultatif: si vous souhaitez stocker des données dans une feuille de calcul sur votre Google Drive, vous devrez modifier le nœud de fonction "Build Google Docs Payload (config)" avec les ID de champ de formulaire.
  9. Facultatif: ajoutez votre URL de formulaire unique au champ URL du nœud de requête HTTP "Google Docs GET (config)".

Bureau d'interface utilisateur Node-Red

Le Bird_Feeder_Monitor_Flow comprend une interface utilisateur (UI) pour accéder au serveur MQTT via un téléphone portable. Le moniteur peut être éteint ou allumé, recalibrer les capteurs ou prendre des photos manuellement. Un total des "touches" du capteur est également affiché, ce qui vous donnera une idée approximative du nombre d'oiseaux visitant la mangeoire.

Étape 9: Grafana

Grafana
Grafana
Grafana
Grafana

« Grafana est une suite d'analyse et de visualisation métriques open source. Elle est le plus souvent utilisée pour visualiser des données de séries chronologiques pour l'analyse d'infrastructures et d'applications, mais beaucoup l'utilisent dans d'autres domaines, notamment les capteurs industriels, la domotique, la météo et le contrôle des processus. » réf: Grafana Docs.

Ce logiciel est inclus dans le fichier image d'Andreas Spiess utilisé pour créer mon serveur MQTT. Après avoir configuré la base de données InfluxDB sur le serveur MQTT, Grafana peut être configuré pour utiliser cette base de données comme le montre l'image ci-dessus. Ensuite, le tableau de bord utilisé par ce projet peut être chargé à partir du fichier JSON présent dans ~/RPi_bird_feeder_monitor/json/ Bird_Feeder_Monitor_Grafana.json. Des conseils pour configurer Grafana peuvent être trouvés sur le site Web d'Andreas Spiess "Node-Red, InfuxDB & Grafana Installation".

Étape 10: InfluxDB

InfluxDB
InfluxDB
InfluxDB
InfluxDB

Comme mentionné précédemment, Adreas Spiess propose un excellent guide et une vidéo pour vous guider à travers la configuration d'InfluxDB. Voici les étapes que j'ai suivies pour configurer ma base de données.

Tout d'abord, je me suis connecté à mon serveur MQTT via SSH et j'ai créé un USER:

root@MQTTPi:~# influx Connecté à "https://localhost:8086" version 1.7.6 InfluxDB shell version: 1.7.6 Entrez une requête InfluxQL > CRÉER UN UTILISATEUR "pi" AVEC LE MOT DE PASSE 'raspberry' AVEC TOUS LES PRIVILÈGES > AFFICHER LES UTILISATEURS utilisateur admin ---- ----- pi vrai

Ensuite, j'ai créé une base de données:

CREATE DATABASE BIRD_FEEDER_MONITOR> > SHOW DATABASES nom: nom de la base de données ---- _internal BIRD_FEEDER_MONITOR >

APRÈS avoir créé la base de données ci-dessus, vous pouvez configurer le nœud InfluxDB dans Node-Red. Comme on le voit sur la photo ci-dessus, je nomme la mesure "mangeoires". Cela peut être vu dans InfluxDB après l'initialisation des données:

UTILISER BIRD_FEEDER_MONITORUtiliser la base de données BIRD_FEEDER_MONITOR

MONTRER MESURES nom: mesures nom ---- mangeoires >

L'une des nombreuses fonctionnalités d'InfluxDB est que la configuration FIELDS n'est pas requise. Les CHAMPS sont ajoutés et configurés automatiquement lors de la saisie des données. Voici les FIELDS et FIELDTYPE pour cette base de données:

SHOW FIELD KEYSname: feeders fieldKey fieldType -------- --------- cloudcover float count_1 float count_2 float count_3 float count_4 float count_5 float count_6 float humidité float name string precip_Int float temp float time_1 float time_2 float time_3 float time_4 float time_5 float time_6 float winddir float windgust float vitesse du vent float >

Quelques entrées de la base de données peuvent être vues ci-dessous:

SELECT * FROM feeders LIMIT 10 name: feeders time cloudcover count_1 count_2 count_3 count_4 count_5 count_6 humidité name precip_Int temp time_1 time_2 time_3 time_4 time_5 time_6 winddir windgust vitesse du vent ---- ---------- ----- -- ------- ------- ------- ------- ------- -------- ---- - --------- ---- ------ ------ ------ ------ ------ ------ - ------ -------- --------- 1550270591000000000 0 0 0 0 0 0 Alimentation1 0 0 0 0 0 0 15502718140000000000 0 0 0 0 0 0 Alimentation1 0 0 0 0 0 0 15502722300000000000 0 0 0 0 0 0 Alimentation1 0 0 0 0 0 0 15502725300000000000 0 0 0 0 0 0 Alimentation1 0 0 0 0 0 0 155027283000000000 0 0 0 0 0 0 0 Alimentation1 0 0 0 0 0 0 15502731300000000000 0 0 0 0 0 0 Alimentation1 0 0 0 0 0 0 155027343000000000 0 0 0 0 0 0 0 Alimentation1 0 0 0 0 0 0 15502737300000000000 0 0 0 0 0 0 Alimentation1 0 0 0 0 0 0 1550274030000000000 0 0 0 0 0 0 Alimentation1 0 0 0 0 0 0 1550274330000000000 0 0 0 0 0 0 Alimentation1 0 0 0 0 0 0 >

Étape 11: Caméra Raspberry Pi

Caméra Raspberry Pi
Caméra Raspberry Pi
Caméra Raspberry Pi
Caméra Raspberry Pi
Caméra Raspberry Pi
Caméra Raspberry Pi
Caméra Raspberry Pi
Caméra Raspberry Pi

Je recommande d'utiliser mon Instructable, Remote CNC Stop and Monitor, pour assembler une caméra Raspberry Pi. Effectuez toutes les étapes mentionnées sauf 6 et 8 pour créer la caméra. Veuillez noter que j'utilise un ancien Raspberry Pi pour mon appareil photo, mais cela a très bien fonctionné depuis ma vitrine.

Mettre à niveau Rasbian:

sudo apt-get updatesudo apt-get upgrade

Installer PIP:

sudo apt-get installer python3-pip

Installez paho-mqtt:

sudo pip3 installer paho-mqtt

Installez git et le logiciel de surveillance des oiseaux:

disque ~

sudo apt-get install git git clone "https://github.com/sbkirby/RPi_bird_feeder_monitor.git"

Si vous souhaitez faire des vidéos à partir des images prises par la caméra, installez ffmpeg:

git clone "https://git.ffmpeg.org/ffmpeg.git" ffmpeg

cd ffmpeg./configure make sudo make install

Configuration des autorisations sur le logiciel Bird Feeder Monitoring:

cd RPi_bird_feeder_monitor

sudo chmod 764 make_movie.sh sudo chmod 764 take_photo.sh sudo chown www-data:www-data make_movie.sh sudo chown www-data:www-data take_photo.sh

Personnellement, je ne recommande pas d'utiliser le make_movie.sh sur la caméra RPi. Il nécessite de nombreuses ressources pour fonctionner sur le RPi. Je recommande de transférer les images sur votre PC et d'y exécuter ffmpeg.

Exécuter au démarrage

Connectez-vous au RPi et accédez au répertoire /RPi_bird_feeder_monitor.

cd RPi_bird_feeder_monitor

nano lanceur.sh

Incluez le texte suivant dans launcher.sh

#!/bin/sh

# launcher.sh # naviguez jusqu'au répertoire home, puis dans ce répertoire, puis exécutez le script python, puis revenez home cd / cd home/pi/RPi_bird_feeder_monitor sudo python3 camera_mqtt_client.py cd /

Quittez et enregistrez le launcher.sh

Nous devons rendre le script et l'exécutable.

lanceur chmod 755.sh

Testez le scénario.

sh lanceur.sh

Créez un répertoire de journaux:

disque ~

journaux mkdir

Ensuite, nous devons éditer crontab (le gestionnaire de tâches Linux) pour lancer le script au démarrage.

sudo crontab -e

Cela amènera la fenêtre de crontab comme vu ci-dessus. Naviguez jusqu'à la fin du fichier et entrez la ligne suivante.

@reboot sh /home/pi/RPi_bird_feeder_monitor/launcher.sh >/home/pi/logs/cronlog 2>&1

Quittez et enregistrez le fichier, puis redémarrez le RPi. Le script doit démarrer le script camera_mqtt_client.py après le redémarrage du RPi. L'état du script peut être vérifié dans les fichiers journaux situés dans le dossier /logs.

Étape 12: Profitez

Prendre plaisir
Prendre plaisir

Nous aimons observer les oiseaux, mais nous ne pouvons pas placer la mangeoire dans un endroit pour un maximum de plaisir. Le seul endroit où la plupart d'entre nous peuvent le voir est depuis la table du petit-déjeuner, et tout le monde ne peut pas voir la mangeoire à partir de là. Par conséquent, avec le Bird Feeder Monitor, nous pouvons admirer les oiseaux à notre convenance.

Une chose que nous avons découverte avec le moniteur est la fréquence des oiseaux atterrissant sur un perchoir, suivis du saut vers le perchoir suivant jusqu'à ce qu'ils aient fait le tour de la mangeoire entière. En conséquence, les dénombrements d'oiseaux sont LOIN du nombre d'oiseaux individuels visitant notre mangeoire. Une mangeoire avec seulement un ou deux perchoirs étroits serait probablement la meilleure pour "compter" les oiseaux.

Concours de capteurs
Concours de capteurs
Concours de capteurs
Concours de capteurs

Deuxième prix du concours Capteurs

Conseillé: