POCL : Carte animalière : Différence entre versions
(→membres du projet) |
|||
(28 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
==résumé du projet== | ==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éï | ||
+ | |||
+ | [[Fichier:1670583086800.jpg|vignette]] | ||
+ | [[Fichier:1670596137748.jpg|vignette]] | ||
+ | |||
+ | ==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 == | ==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 : | ||
+ | <syntaxhighlight lang="python" line> | ||
+ | import requests | ||
+ | import json | ||
+ | import jsonata | ||
+ | |||
+ | # Bretagne | ||
+ | url = "https://api.ebird.org/v2/data/obs/FR-E/recent" | ||
+ | |||
+ | # Auvergne | ||
+ | # url2 = "https://api.ebird.org/v2/data/obs/FR-C/recent" | ||
+ | |||
+ | payload={} | ||
+ | # payload2={} | ||
+ | |||
+ | headers = { | ||
+ | 'X-eBirdApiToken': 'ms1ktr48g3n6' | ||
+ | } | ||
+ | |||
+ | response = requests.request("GET", url, headers=headers, data=payload).json() | ||
+ | # response2 = requests.request("GET", url, headers=headers, data=payload2).json() | ||
+ | |||
+ | # print(response) | ||
+ | |||
+ | |||
+ | density = 0 | ||
+ | cmpt = 0 | ||
+ | ind_ois = 0 | ||
+ | |||
+ | for i in range (62) : | ||
+ | density = response[i]['howMany'] | ||
+ | if(density > cmpt) : | ||
+ | ind_ois = i | ||
+ | cmpt = density | ||
+ | |||
+ | print(response[ind_ois]['speciesCode']) | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | |||
+ | [[Catégorie:Hackathon POCL 2022]] | ||
[[Catégorie:POCL]] | [[Catégorie:POCL]] |
Version actuelle datée du 13 décembre 2022 à 10:38
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'])