Fabrication d’une station connectée pour l’observation des oiseaux

From WikiRennes
Revision as of 12:06, 19 March 2021 by Mdqlatouche (talk | contribs) (Mdqlatouche a déplacé la page Fabrication d'une mangeoire connectée vers Fabrication d’une station connectée pour l’observation des oiseaux : le terme mangeoire n'est plus adapté aux orientations du projet)
Jump to: navigation, search

Reliée à internet, cette mangeoire prend en photo les oiseaux qui viennent se nourrir, et alimente une base de données permettant de recueillir des informations sur la biodiversité.

Le projet viabird a été imaginé lors de l'événement Europe Remix, un marathon créatif de 2 jours à la maison des associations de Rennes.

Puis le système a été développé par Emilien et Rémi, étudiants d'Epitech, avec le LabFab de Rennes.

Site internet et tutoriel du projet : viabird.eu

Préparation du matériel

Le labfab de Rennes a publié les plans d'une mangeoire en bois pour la découpe laser. Or Thibault Ayache, designer de ces plans, m'indique que la LPO l'a informé d'un problème : les planches de contreplaqué ne sont pas adaptées à une mangeoire à oiseaux, car elles comportent de la colle.

Nous avons donc envisagé de construire la mangeoire avec des planches de bois brut. Nous aurions pu adapter les plans pour faire la découpe avec une CNC, mais nous avons préféré la bonne vieille méthode de nos papis, et faire tout ça à la scie et à la perceuse.

Au niveau des composants, voici la liste :

  • raspberry pi 4 model B - 2Go, avec carte micro-SD 32 Go
  • détecteur de mouvement MH-SR602 MINI
  • Pi caméra 5MP version 1.3
  • Pi Hat POE (pour alimenter le raspberry en POE par un cable RJ45)
  • Adaptateur d'alimentation POE RJ45

Attention à la caméra ! Clairement nous n'avons pas acheté la bonne. La caméra du raspberry pi est faite pour prendre des photos entre 1m et +. Or nous avons besoin de prendre en photo les oiseaux qui se trouvent à 20cm ! Il existe une technique pour régler le focus de la caméra, en retirant la colle et en tournant la bague, ce qui permet d'avoir une meilleure mise au point. Mais même avec cela, le résultat n'est pas idéal : l'angle de prise de vue est trop serré, le zoom trop avancé... Nous allons essayer de rajouter une lentille devant l'objectif, mais si cela n'est pas mieux nous chercherons une caméra compatible raspberry pi qui soit prévue pour des prises de vue proches.

Jeudi 20 août 2020

On s'attaque à la fabrication en bois. Après la découpe des planches, Bruno et Hector reportent les centres des trous ronds sur les différentes planches pour le perçage des ouvertures.

Perçage : à chacun sa technique. Pierro puis Bruno : le retournement de la pièce à mi-perçage donne une meilleure finition, pas d'éclats de bois. Mais le forêt ne permet pas d'avoir un résultat propre. Deuxième technique à la scie cloche, les résultats sont "nickels".

Les petites mains utilisent la râpe avec énergie pour lisser les trous.

L'idée d'utiliser des tourillons pour fixer les planches entre elles est parfaite ! En plus d'être rapide à mettre en place, cette technique permet de démonter les planches si besoin (et vu le nombre de manipulations et de tests à effectuer sur le raspberry, le démontage a été nécessaire plusieurs fois !)

On s'attaque ensuite à l'installation de Raspbian puis viabird, sur le raspberry pi. En suivant le tuto viabird, aucun problème pour l'installation. Par contre l'exécution du programme renvoyait une erreur. Après plusieurs échanges par mail avec Emilien, développeur de Viabird, le problème a été corrigé et la correction publiée sur github : https://github.com/DunZzzz/viabird.

Jeudi 27 août 2020

Nous avons effectué de nouveaux perçages sur les parois de la mangeoire. En effet, les tests de prises de photos nous ont montré qu'il n'y avait pas assez de lumière qui entrait dans la mangeoire.

Puis nous avons installé le POE Hat. Il s'agit d'une carte qui vient se brancher sur les ports GPIO du Raspberry. Dès le premier test, cela fonctionne ! Nous pouvons maintenant alimenter le raspberry pi directement avec le cable RJ45. Le problème, c'est que les ports GPIO ne sont plus accessibles. On ne peut plus brancher le détecteur de mouvement ! On trouve une solution en rajoutant entre le raspberry et le POE Hat des connecteurs avec des broches plus longues. Ainsi, le dépassement de ces broches permet de brancher les cables du détecteur de mouvement. Il a fallu également remplacer les entretoises entre le raspberry et le POE Hat, car l'espace entre les cartes était plus important.

Finalisations

Accès ssh

Nous avons activé le ssh afin de pouvoir prendre le contrôle du raspberry pi à distance. : https://raspberry-pi.fr/connecter-ssh-raspberry-pi/

Attention, il faut modifier le mot de passe par défaut afin de se protéger contre les éventuelles intrusions : dans le terminal, taper la commande "passwd". Il sera demandé d'entrer le mot de passe actuel (par défaut sur Raspbian, le mot de passe est "raspberry"), puis d'entrer deux fois le nouveau mot de passe

Accéder à viabird depuis l'extérieur

Pour rendre accessible l'application viabird depuis l'extérieur (internet). :

  1. définir une ip locale fixe pour le raspberry : https://raspberry-pi.fr/ip-locale-fixe/
  2. sur le routeur, faire une redirection de port depuis un port au choix (on choisit 4000 car le port 80 est déjà utilisé) vers l'adresse ip du raspberry, port 80
  3. dans la zone dns de notre nom de domaine mqlt.fr, configurer une redirection SRV sur un sous-domaine pour le faire pointer vers le port 4000 de notre box.
  4. si nous avons tout bien réglé, vous pouvez aller voir nos photos sur viabird.mqlt.fr

Mercredi 7 octobre 2020

Le capteur de mouvement choisi n'a pas de réglage et donc il n'est pas a priori possible - niveau électronique - de régler simplement la sensibilité. Pour l'instant, il est assez sensible et se déclenche quasi en permanence, ce qui rend la solution inopérable et charge inutilement le raspberry.

Pour avancer vers une solution fonctionnelle, nous avons opté pour opérer quelques petites modifications dans un premier temps :

  • diminuer la taille des images des captures : au lieu de prendre des pleines résolutions (5 millions de pixel), nous prenons comme choix de prendre des images à 400x300 pour l'instant. Nous pourrions revenir sur ce choix dans un second temps. Pour ce faire, nous modifions le script "tools/picture.sh" en rajoutant "-w 400 -h 300" dans les paramètres de raspistill Cela permet de faire améliorer très grandement le temps de chargement de la page principale des images, sans impacter le reste du code.
  • augmenter le temps de latence entre 2 mouvements détectés. Il était réglé sur 3 secondes. Le système pouvait donc prendre jusqu'à 20 images par minutes en cas de détection de mouvements permanents. Nous l'avons porté arbitrairement à 20 seconds en modifiant la variable MOTION_ALARM_DELAY dans "tools/pir.py"

Ces légères modifications permettent d'avoir un fonctionnement amélioré mais il reste encore trop d'images ne correspondant pas à un "vrai" mouvement.

Pour viser une solution pérenne, nous avons prévu de tenter de rajouter un script de reconnaissance d'image (utilisant TensorFlow/OpenCV4) adapté au Raspberry, comme utilisé dans cette solution (et inspiré de cette solution, comme indiqué dans les commentaires), et de passer chaque image capturé par un filtre qui détecterait ou non la présence d'un oiseau. On ne garderait que les images avec des oiseaux repérés par la solution.

Jeudi 8 octobre 2020

Nous avons avancé en rajoutant comme envisagé un "filtre" qui détecte la présence d'un oiseau dans l'image et ne garde que ces images.

Et cela a fonctionné :-)

Première vraie image d'un oiseau venant dans la mangeoire, vendredi 9 octobre 2020 à 8h25

Le code source de la modification sera bientôt disponible sous github (en lien avec le projet viabird)

Problèmes rencontrés, développement futurs

Les étudiants qui développent le projet vont continuer à le faire évoluer. Dans le futur, il y aura un lien entre le raspberry et le serveur du site viabird.eu avec la carte des mangeoires connectées, la reconnaissance des espèces prises en photo, etc...

Suite à la fabrication et à l'utilisation de cette mangeoire, nous avons aussi quelques suggestions. Et comme on ne sait pas utiliser github, on écrit tout ça ici :

Supprimer des photos

Le programme viabird n'est pas équipé d'une fonction pour supprimer les photos prises. Et pourtant, on a besoin de supprimer toutes les photos test prises lors de l'installation ! En naviguant dans le dossier, on ne peut pas supprimer car les fichiers appartiennent au root. On utilise donc la commande sudo pcmanfm pour ouvrir le gestionnaire de fichiers avec les droits super-admin. On peut alors supprimer les images. Est-il possible de rajouter cette fonctionnalité dans l'application ?

Par exemple, la page des photos pourrait être chargée automatiquement, et les fonctionnalités de suppression ne seraient accessibles que si on s'identifie.

Autre idée : les photos ont comme propriétaire "root". Est-ce qu'elles peuvent être enregistrées avec le propriétaire "pi", ce qui permettrait de supprimer les photos via ftp par exemple ?

Régler la sensibilité du capteur de mouvement

Il semble qu'une photo soit prise à chaque fois que quelqu'un passe devant la mangeoire, ou s'il y a un changement de luminosité. Nous testons en modifiant l'emplacement du capteur, mais est-il possible de régler cela de manière logicielle ?

Améliorer le chargement des pages

Notre mangeoire est accessible à distance via l'adresse viabird.mqlt.fr. Or, le temps de chargement est très long. D'une part, la page d'identification charge une image qui pèse 2.5Mo ! d'autre part, toutes les photos prises par la mangeoire sont chargées à pleine résolution, en une seule fois. Serait-il possible de :

  • générer des vignettes, par exemple de 200px de large, qui seraient chargées dans la page des photos, avec un lien pour ouvrir chaque photo en pleine résolution ?
  • organiser un affichage multi-pages, pour n'afficher par exemple que les 20 dernières photos, avec des numéros en bas de page pour pouvoir passer aux pages suivantes.

Liens utiles

Trouver un financement pour déployer le projet sur le territoire rennais

La Fabrique Citoyenne embarque le budget participatif de Rennes. Nous avons déposé un projet qui permettra de déployer des stations de nourrissage connectées sur le territoire

https://fabriquecitoyenne.rennes.fr/projects/budget-participatif-5/collect/depot-des-projets/proposals/projet-collaboratif-et-citoyen-pour-la-biodiversite-nourrir-des-oiseaux-en-echange-de-quelques-photos

Autres projets de mangeoires connectées

Bird Buddy

Bird Buddy est un projet de mangeoire connectée présenté sur kickstarter, qui a obtenu plusieurs millions d'euros !

https://www.kickstarter.com/projects/mybirdbuddy/bird-buddy-a-smart-bird-feeder/

I Feed Bird

Système commercial d’une mangeoire connectée “I Feed Bird”. Il s’agit du même prestataire qui a réalisé l’appli “INPN Espèces” présentée plus bas.

https://www.natural-solutions.eu/i-feed-bird-mangeoire-connectee

Bird Feeder

Projet open-source d’une mangeoire qui prend en photo les oiseaux, collecte des données et fait fuir les écureuils 

https://coral.ai/projects/bird-feeder

Etnobird

Projet de mangeoire connectée en cours de développement

http://www.etnobird.com/

Projets de sciences participatives autour de l'observation des oiseaux ou plus généralement de l'observation de la biodiversité

Biodiv’Bretagne

Une nouvelle plateforme de donnée ouvertes sur la biodiversité.

https://biodiversite.bzh/nouvelle/biodiv-bretagne-donnees-naturalistes-opendata/

Birdlab

Le Museum National d'Histoire Naturelle a développé une appli pour observer les oiseaux, qui s'appelle Birdlab. Il s'agit d'un observatoire qui vise à étudier les comportements des oiseaux à la mangeoire en hiver. La participation se fait sous forme de jeu sur smartphone ou tablette.

https://www.mnhn.fr/fr/explorez/applications-mobiles/birdlab

http://www.vigienature.fr/fr/vigie-manip/birdlab

Pájaros en la Nube

Il s'agit d'un projet de science citoyenne en Espagne : des capteurs IoT placés dans des écoles, qui permettent d'identifier et comptabiliser la faune insectivore (principalement oiseau, mais pas que).

https://pajarosenlanube.ibercivis.es/

INPN Espèces

L'appli INPN Espèces permet de recenser les espèces animales. Issue  de  l’inventaire  national  du  patrimoine  naturel  (INPN),  INPN  Espèces est une application mobile  portée  par  l’UMS  Patrimoine  Naturel (PatriNat), sous tutelle de l’Agence  française  pour  la  biodiversité  (AFB),  du  Muséum  national  d’Histoire  naturelle  (MNHN)  et  du  Centre  national  de  la  recherche  scientifique  (CNRS).

https://determinobs.fr/

Oiseaux des Jardins

Mis en place par la PLO, “Oiseaux des Jardins” a pour but d’obtenir des données qualitatives et quantitatives pour mieux comprendre l’impact des activités humaines sur les populations d’oiseaux. Il s’agit d’identifier et de compter les oiseaux dans son jardin aussi souvent qu’on le souhaite tout au long de l’année. Le protocole ne requiert aucune connaissance préalable.

https://www.oiseauxdesjardins.fr/

Vigie-Nature École

Vigie-Nature École propose aux enseignants français de réaliser des suivis de la biodiversité dite « commune » en mettant en œuvre des protocoles scientifiques avec leurs élèves. Neuf observatoires sont actuellement proposés de la maternelle au lycée et permettent d’étudier des groupes variés : escargots ; insectes ; flore urbaine ; oiseaux…

https://www.vigienature-ecole.fr/

Les Groupes Moineaux à Bruxelles

Plusieurs groupes moineaux se sont établis sur la Région de Bruxelles-Capitale avec pour objectifs de sensibiliser particuliers, communes, écoles, architectes et de lancer des actions pour re-dynamiser les populations de Moineaux domestiques en forte diminution depuis quelques décennies.

https://www.wedemain.fr/partager/a-bruxelles-ces-citoyens-volent-au-secours-du-moineau/

https://www.aves.be/bruxelles-brabant/index.php?id=4683

http://maisonecohuis.be/?page_id=326