POCL : Carte animalière
Sommaire
résumé du projet
Le projet a pour but de produire une petite ambiance sonore, afin d'indiquer les différents oiseaux présents dans une région. En appuyant sur le bouton d'une région, un son composé de différents chants/cris d'oiseau présents dans ladite région est joué.
membres du projet
utilisateur:ProjetJ Simon, Ryan, Nicolas, Maël, Matéï
Liste des matériels, outils et logiciels
Matériel utilisé :
- Raspberry Pi
- boutons(3)
- échantillons audio(cris d'oiseaux )
- API d'eBird
- récupérer le nombre d'oiseaux dernièrement enregistrés dans une région
- mixer audio
Machine utilisé:
- découpeuse laser
- ordinateurs
Logiciels:
- Inkscape
- makercase
Spécificités:
- taille : 14,8 cm x 18 cm x 3,4 cm
prototype qu'on souhaite réaliser
Caractéristiques du projet
- Temps de création : 2 jours
- Niveau de difficulté : difficile
- Coût estimé :
- Nombre de participants : 5
Procédure
Catégorie 1 : modélisation et réalisation de la maquette
- Vectoriser les contours de la France en vue de sa découpe laser
Catégorie 2 : programmation
- Faire une requête à la base de donnée eBird pour récupérer les informations sur les oiseaux observé et leur nombre.
- récupérer les urls des chants d'oiseaux qui nous intéressent.
- Faire un programme pour les boutons.
Code
Ce fichier python sert à envoyer une requête à l'api d'ebird. En entrée, elle prend un code de région par exemple inclus dans l'url et en sortie elle renvoie un fichier en JSON avec toutes les espèces d'oiseaux recensés dans cette région.
En traitement, on isole uniquement l'oiseau le plus commun, c'est-à-dire celui qui a l'attribut "homMany" le plus élevé.
Enfin, on ne renvoie que le "speciesCode" de cet animal afin de commencer la phase suivante : la recherche dans la base de données pour retrouver le son de cet animal pour le jouer ensuite...
safari de France, à suivre ...
Le code est du python :
1 import requests
2 import json
3 import jsonata
4
5 # Bretagne
6 url = "https://api.ebird.org/v2/data/obs/FR-E/recent"
7
8 # Auvergne
9 # url2 = "https://api.ebird.org/v2/data/obs/FR-C/recent"
10
11 payload={}
12 # payload2={}
13
14 headers = {
15 'X-eBirdApiToken': 'ms1ktr48g3n6'
16 }
17
18 response = requests.request("GET", url, headers=headers, data=payload).json()
19 # response2 = requests.request("GET", url, headers=headers, data=payload2).json()
20
21 # print(response)
22
23
24 density = 0
25 cmpt = 0
26 ind_ois = 0
27
28 for i in range (62) :
29 density = response[i]['howMany']
30 if(density > cmpt) :
31 ind_ois = i
32 cmpt = density
33
34 print(response[ind_ois]['speciesCode'])