Cette application s'inscrit dans le cadre d'un TP IoT, cherchant à valoriser des données provenant d'une source de données libre d'accès.
Notre application permet la visualisation des données météorologiques actuelles et des variations de températures, d'humidité et de pression en fonction des quelques plus grandes villes Francaise.
- Afin de se rapprocher au maximum du comportement d'un objet connecté, nous utilisons un script Python permettant le lien entre la source de données et le serveur MQTT
- Nous utilisons NodeJS afin de développer l'Application Web, cette technologie propose énormément de librairies afin de répondre facilement aux besoins de l'application et, est régulièrement mise à jour.
- Pour le stockage des données, nous utilisons MongoDB, cette technologie NoSQL nous permet de stocker simplement et rapidement les données reçues mais aussi permet une manipulation facile grâce au format JSON idéale pour le développement en JavaScript.
- Un script Python est lancé à interval régulier afin de récupérer les données méteo de l'API OpenWeather, la ligne de commande permettant de mettre en place la planification de cette tâche se trouve dans le fichier Task.txt (sous Windows)
- Ce script vient s'abonner et publier les données sur un topic d'un serveur MQTT distant
- L'application Web vient s'abonner au topic et récupérer les données du serveur MQTT
- Elle les stocke dans une base de données MongoDB avec la date et l'heure de stockage afin d'avoir un historique
- Ensuite nous récupérons ces données afin de mettre en place la carte de France, avec les taux d'humidité par grande ville
- Lorsque l'on sélectionne une des villes, un popup apparait et affiche les informations météorologique actuelles, ainsi qu'une variation des températures sur une durée déterminée.
- Lancer le serveur depuis le dossier 'webappiot' avec la commande npm start