A l'occasion des 80 ans de la libération de Rennes, (re)découvrez l'ensemble des
contributions autour de la Seconde Guerre mondiale et de la libération sur Wiki-Rennes.
« Capteurs Luftdaten » : différence entre les versions
m (Majuscules et points) Balises : Éditeur visuel Modification par mobile Modification par le web mobile |
(Code) Balises : Éditeur visuel Modification par mobile Modification par le web mobile |
||
Ligne 87 : | Ligne 87 : | ||
Comme il s'agit d'un simple "Index of" avec des noms de fichiers bien structurés, il est facile de développer un scrapper (par exemple en langage python) pour télécharger les données de certains capteurs sur une période définie.<syntaxhighlight lang="python3"> | Comme il s'agit d'un simple "Index of" avec des noms de fichiers bien structurés, il est facile de développer un scrapper (par exemple en langage python) pour télécharger les données de certains capteurs sur une période définie.<syntaxhighlight lang="python3"> | ||
import requests | import requests | ||
#Mettre les ID des capteurs dans le tableau | #Mettre les ID des capteurs dans le tableau | ||
sensor_id = [] | sensor_id = [] | ||
#Mettre les dates dans le tableau au format YYYY-MM-DD | #Mettre les dates dans le tableau au format YYYY-MM-DD | ||
dates = [] | dates = [] | ||
url_deb = 'http://archive.luftdaten.info/' | url_deb = 'http://archive.luftdaten.info/' | ||
Ligne 101 : | Ligne 96 : | ||
date = dates[n1] | date = dates[n1] | ||
url_ok = url_deb + date | url_ok = url_deb + date | ||
r1 = requests.get(url_ok) | r1 = requests.get(url_ok) | ||
source_code = r1.text | source_code = r1.text | ||
Ligne 110 : | Ligne 103 : | ||
test = 'sensor_'+sensor_id[n2]+'.csv' | test = 'sensor_'+sensor_id[n2]+'.csv' | ||
if test in source_code: | if test in source_code: | ||
split1 = source_code.split(test)[0] | split1 = source_code.split(test)[0] | ||
split2 = split1.split('<a href="')[-1] | split2 = split1.split('<a href="')[-1] | ||
url_fin = url_ok + '/' + split2 + test | url_fin = url_ok + '/' + split2 + test | ||
r2 = requests.get(url_fin) | r2 = requests.get(url_fin) | ||
data = r2.text | data = r2.text | ||
#Les données vont s'afficher dans le terminal. | #Les données vont s'afficher dans le terminal. | ||
print(data) | print(data) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Version du 1 avril 2019 à 14:42
Les capteurs Luftdaten sont des capteurs de mesures, à bas coût, open source des particules fines PM2.5 et PM10. Développé au OK Lab de Stuttgart, les capteurs se déploient en 2018 à Rennes dans le cadre de l'opération de mesure citoyenne de l'air Ambassad'Air. Le collectif citoyen Capteurs citoyens & qualité de l'air a vu le jour fin 2018 pour permettre à une communauté rennaise de se former autour du capteur Luftdaten.
Comment fabriquer un capteur Luftdaten
Voir l'article détaillé pour savoir monter son capteur Luftdaten.
Comment protéger son capteur de la pluie
Différentes solutions sont possibles :
- Tubes PVC (coude de gouttière) : c'est ce qui est recommandé par les concepteurs du LAB de Stuttgart.
- Boîtier de dérivation électrique : plus conforme aux pratiques des électriciens
- Impression 3D : voir la réalisation de la Maison de quartier la Touche.
- Découpe laser : voir la réalisation de l'EduLab de l'Université Rennes 2. Nous n'avons pas de recul sur l'étanchéité de ce boîtier
- Low tech : une bouteille d'eau (75cl), ouverte sur un côté peut suffire (si elle est abritée de la pluie)
Comment installer (où) son capteur
Chaque site est particulier, mais dans l'idéal, il faudrait :
- Soleil : éviter l'exposition directe au soleil (fausse la mesure de température)
- Vent : il n'y a pas de recommandation concernant le vent
- Hauteur : il n'y a pas de recommandation concernant la hauteur
- Routes : votre capteur peut être côté jardin, comme côté rue
La mise en place d'un capteur Luftdaten nécessite de s'interroger (le plus en amont possible) :
- comment alimenter en électricité le capteur ? Il faut disposer d'une prise électrique pas trop loin et d'avoir des fils assez longs, parfois plats afin de passer dans le joint d'une porte ou fenêtre
- comment fixer mon capteur, à l'abri de la pluie et du soleil ? A chaque site sa spécificité
- comment protéger l'entrée d'air du capteur des abeilles solitaires qui peuvent boucher le tuyau ? Nous conseillons vivement de rajouter un tissu de type moustiquaire, afin d'empêcher les insectes d'obstruer l'arrivée d'air
La carte des données "live"
Il est possible d'accéder à la carte (mondiale) des résultats en direct : site web Luftdaten. Nous attirons l'attention sur les points suivants :
- Paramètre : la carte présente la valeur des particules fines PM2,5 (en µg/m3)
- Codes couleurs / seuil : la barre à 50µg/m3 de PM2,5 devrait être plutôt à 25µg/m3 (standard UE et OMS)
- Anonymisation / agrégation des capteurs par maille : la maille permet en effet de cacher la localisation précise du capteur et d'agréger les résultats en fonction du zo0m (il peut y avoir plusieurs capteurs pour une maille)
Vous pouvez accéder aux graphiques en sélectionnant un capteur, puis en cliquant sur (+), dans le tableau sur la droite.
Les graphiques
Le site Air Tube (onglet Map) fait les courbes d'évolution des PM10 (courbe bleue) et PM2,5 (courbe rouge), sur les 4 derniers jours.
Les statistiques
Le site Air Tube (onglet Statistics) reproduit les données Luftdaten, pour n'importe quelle ville équipée d'un capteur (en faisant la moyenne de tous les capteurs présents sur la ville) :
- les moyennes journalières (de particules fines, de température, d'humidité ou de pression atmosphérique)
- le nombre capteurs actifs sur la ville (par jour)
- le nombre de données produites (par jour)
Les capteurs sur Rennes Métropole
Les initiatives étant citoyennes ou associatives, les capteurs naissent et meurent. Cet inventaire est donc difficilement exhaustif (car en perpétuelle évolution) :
- A Rennes
- A Moulin du Comte, capteur (11034), depuis avril 2018
- A La Touche, capteur (12503) à la Maison de quartier La Touche, depuis mai 2018
- A Bréquigny Capteur (12513) à la MJC Bréquigny, depuis mai 2018 (il est pour l'instant en air intérieur)
- A Villejean, capteur (16862), depuis octobre 2018
- A Moulin du Comte, capteur (16824), depuis octobre 2018
- A Beauregard, capteur (17173)
- A Ste Thérèse, capteur (17320)
- A Ste Elisabeth, capteur (22230), depuis février 2019
- A Pacé
- Capteur (16975) depuis octobre 2018
- A Betton
- Capteur (12621) au tiers lieux "Atelier partagé", depuis mai 2018 (il est pour l'instant en air intérieur)
- A Saint-Sulpice-la-Forêt
- Capteur (21749) février 2019
Les fichiers CSV
Les archives complètes (actualisées chaque jour) de Luftdaten sont disponibles ici :
http://archive.luftdaten.info/
Comme il s'agit d'un simple "Index of" avec des noms de fichiers bien structurés, il est facile de développer un scrapper (par exemple en langage python) pour télécharger les données de certains capteurs sur une période définie.
import requests
#Mettre les ID des capteurs dans le tableau
sensor_id = []
#Mettre les dates dans le tableau au format YYYY-MM-DD
dates = []
url_deb = 'http://archive.luftdaten.info/'
for n1 in range(0,len(dates)):
date = dates[n1]
url_ok = url_deb + date
r1 = requests.get(url_ok)
source_code = r1.text
for n2 in range(0,len(sensor_id)):
test = 'sensor_'+sensor_id[n2]+'.csv'
if test in source_code:
split1 = source_code.split(test)[0]
split2 = split1.split('<a href="')[-1]
url_fin = url_ok + '/' + split2 + test
r2 = requests.get(url_fin)
data = r2.text
#Les données vont s'afficher dans le terminal.
print(data)
API
Pour une réutilisation des données dans des applications ou des sites internet, des API sont disponibles. Veuillez les utiliser de façon raisonnable.
http://api.luftdaten.info/static/v1/data.json - Toutes les mesures des 5 dernières minutes pour tous les capteurs.
http://api.luftdaten.info/v1/sensor/{apiID}/- Toutes les mesures des 5 dernières minutes pour un capteur.
http://api.luftdaten.info/v1/filter/{query} - Toutes les mesures des 5 dernières minutes filtrées par les paramètres suivants:
- type={type de capteur} : liste des types de capteur séparés par une virgule (par exemple : SDS011,BME280)
- area={lat,lon,distance} : tous les capteurs dans un certain rayon depuis un paire de coordonnées géographiques
- box={lat1,lon1,lat2,lon2} : tous les capteurs dans une "bounding box"
- country={code pays} : codes pays ISO 3166-1 alpha-2 séparés par une virgule
http://api.luftdaten.info/static/v2/data.json - Moyennes glissantes sur les mesures des 5 dernières minutes de tous les capteurs.
http://api.luftdaten.info/static/v2/data.1h.json - Moyennes glissantes sur les mesures de la dernière heure pour tous les capteurs.
http://api.luftdaten.info/static/v2/data.24h.json - Moyennes glissantes sur les mesures des 24 dernières heures pour tous les capteurs.
http://api.luftdaten.info/static/v2/data.dust.min.json - Moyennes glissantes sur les mesures des 5 dernières minutes de tous les capteurs de particules fines (ce sont les valeurs utilisées pour la carte Luftdaten).
http://api.luftdaten.info/static/v2/data.temp.min.json - Moyennes glissantes sur les mesures des 5 dernières minutes de tous les capteurs de température/humidité relative/pression atmosphérique.
Cette partie est vide ou attend d'avantage de contenu !A vous de l'éditer pour y ajouter du contenu (Comment faire ?). Cette action nécessite un compte actif.
Analyse de la fiabilité des mesures
Voir l'article détaillé
Les problèmes possibles
- La configuration sous Windows semble plus difficile, que sur Mac ou Linux. Il semble plus facile de flasher le code avec le “NodeMCU Flasher” firmware programmer
- Quand on alimente en électricité le capteur (ne fois le code chargé dans l'Esp8266), il est parfois long de voir apparaître sur le wifi le feindtaubsensor-XXXX. Et long aussi de s'y connecter. Le temps d'affichage de la page de configuration peut être très long (et donner l'impression que tout est planté). Soyez patient.
- Cable USB : Il semble préférable d'avoir un USB de moins d'un mètre pour transférer le firmware. Rappel : certains câbles USB ne permettent que de recharger mais ne transfèrent pas les données
- De la condensation peut se former à l'entrée du tube d'aspiration de l'air et ainsi fausser les mesures.
Articles connexes
Références
Cette partie est vide ou attend d'avantage de contenu ! A vous de l'éditer pour y ajouter du contenu (Comment faire ?). Cette action nécessite un compte actif.