[Raspberry Pi] Matrice à LED Pi-Lite (suite)
par
, 23/10/2014 à 19h34 (1896 Affichages)
Un objet utile... un journal lumineux connecté
Celui-ci fait défiler en boucle la température de ma ville du Mans (7°C sur la vidéo) :
La Raspberry avec sa matrice de Led Pi-Lite est connectée sur Internet et va rechercher les données sur openweathermap.org, un service libre et gratuit qui offre des données météorologiques et même des prévisions pour les développeurs de services web et d'applications mobiles. Il s'inspire en cela du modèle OpenStreetMapen en ce qui concerne les données cartographiques.
Les sources de ces données météorologiques sont un agrégat provenant de différentes sources officielles de diffusion météorologique.
L'API proposée me permet de récupérer les données météorologiques du Mans à l'adresse : http://api.openweathermap.org/data/2...l&units=metric au format XML.
En Python 2.x, j'ai utilisé le module urllib2 pour récupérer le XML :
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 >>> import urllib2 >>> url = 'http://api.openweathermap.org/data/2.5/weather?q=Le-Mans&mode=xml&units=metric' >>> file = urllib2.urlopen(url) >>> data = file.read() >>> file.close() >>> >>> print data <?xml version="1.0" encoding="utf-8"?> <current> <city id="3003603" name="Le Mans"> <coord lon="0.2" lat="48.01"/> <country>France</country> ...
puis pour parser data et récupérer la donnée de température, le module xml.dom.minidom :
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 >>> from xml.dom.minidom import parseString >>> dom = parseString(data) >>> xmlTag = dom.getElementsByTagName('temperature')[0] >>> temperature = xmlTag.getAttribute('value') >>> >>> print temperature 17.323
L'API permet de récupérer beaucoup plus d'informations mais voilà le principe pour cet objet utile et donc indispensable Et ce n'est pas parce que j'en ai pas besoin qu'il ne fallait pas le faire, d'abord