POCL : Carte animalière

De Les Fabriques du Ponant
Aller à : navigation, rechercher

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éï

1670583086800.jpg
1670596137748.jpg

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'])