Categories
Programming Python

Plateforme météorologique

Aujourd’hui je vous présente un nouveau projet. Il s’agit d’une plateforme permettant l’agrégation de données météorologiques. Elle permettra aussi de consulter les données d’une station d’un contributeur dans le monde sans avoir de compte. Je souhaite que la base de la plateforme regroupe des données publiques et impersonnelles (donc un minimum de fonctionnalités pour une personne identifiée sur le site), au maximum.
Voici l’instance de test.

Pour valider le système j’utiliserai une station Yocto-Meteo. Voici comment récupérer de cette puce la température, pression et l’humidité. Évidemment les données pourront provenir d’une station quelconque tant que l’utilisateur aura un moyen d’envoyer les informations via une requête HTTP POST. Pour ceci il manque encore les spécifications, mais des services sont déjà disponibles (un exemple) car le site reposera sur ces propres services Web pour son fonctionnement.

Voici la seule interface actuellement disponible lorsque l’utilisateur est connecté:

Grenouille-profile-screen

Comme vous pouvez le constater pour envoyer des données il faudra être authentifié et disposer d’une clé (générée automatiquement à la création de votre compte).

Aussi, il vous sera possible de déclarer plusieurs stations. Il est aussi important de pouvoir récupérer les données envoyées par une station (certainement dans un fichier JSON).

Pour terminer j’ajoute que je suis ouvert à toutes contributions (même idées). Surtout si vous disposez d’autres stations, propriétaires ou fait-maison (Arduino, etc.), et que vous désirez écrire des clients que l’on pourra ajouter au projet.
Vous pourrez utiliser le service gratuitement (mais j’accepte les Bitcoins). Pour le moment les données se situent dans une base PostgreSQL sur Heroku, à terme j’utiliserai une base ailleurs (où j’ai bien plus de place) et le code sera certainement toujours sur Heroku. À ce propos, si vous souhaitez tester de votre côté, le README montre comme il est super simple de déployer le service sur Heroku ou sur votre machine.