Station météo connectée
Cahier des charges
Présentation générale du projet
Notre projet consiste en la création d'une station météo nous donnant la température, éventuellement l'humidité et la luminosité.
Nous devons avoir un système basse consommation, c'est pourquoi nous devons utiliser un système de mise en veille.
Objectif du projet
L'objectif sera de pouvoir offrir la possibilité à un utilisateur d'obtenir un certain nombre de données météorologiques en temps réel via une page web.
Description du projet
Nous devons avoir un système embarqué qui récupérera des informations météorologiques telles que la température, la pression, l'humidité, la luminosité.
Ces données seront envoyées en wifi à un serveur web qui affichera les informations météorologiques en temps réel.
Nous nous intéresserons donc au côté Gestion d'énergie avec un mode veille/éveil de notre système embarqué, également au stockage des données, sûrement dans une base de données et leur affichage sur une page web.
(Nous pourrons utiliser le serveur web créé en Projet de PRA).
Choix techniques : matériel et logiciel
- Nous utiliserons une carte équipée d'un microcontrôleur et d'un module Wifi à savoir : HUZZAH ESP8266 proposé par Adafruit Industries :
https://www.adafruit.com/products/2471
- Nous coderons le tout via l'IDE Arduino.
- Nous utiliserons notre machine virtuelle pour stocker les données et les publier sur le site créé en Projet PRA.
- Nous n'avons pas encore réfléchi au sujet de l'alimentation (batterie, pile...)
Étapes du projet
Partie 1 : Récupérer une donnée (température dans un premier temps) et la stocker sur notre machine virtuelle
Partie 2 : Interface web et affichage des données
Partie 3 : Mode veille et activation du réveil
Partie 4 : Essais en extérieur
Suivi de l'avancement du Projet
Mise en jambe
Nous nous sommes intéressés au choix du matériel et à la prise en main de celui-ci.
Nous avons donc travaillé avec l'ESP8266 d'Adafruit Industries via l'IDE Arduino.
Accès à une page web avec l'ESP8266
Nous avons dans un premier temps cherché à savoir comment utiliser le module wifi et récupérer par exemple une page web. Nous avons utilisé un exemple contenu dans la bibliothèque Adafruit, permettant de réaliser une requête HTTP en se connectant à un réseau Wifi. Le module se connecte donc à notre smartphone en Wifi et effectue une requête HTTP basique vers un site quelconque, puis nous renvoie le code html de la page.
Envoie de données
Avant de s'intéresser aux capteurs que nous intégrerons par la suite, nous avons regardé comment envoyer une donnée (rentrée en statique dans le code Arduino) et l'afficher sur une page web. Pour ce, nous avons simplement fait une requête http sur une page php comportant un script. Nous avons mis un script basique qui crée un fichier et écrit dedans la valeur de la donnée. Nous affichons le contenu du fichier sur notre page web d'application. Cette page php sera donc uniquement appelée par notre ESP8266 et les valeurs seront affichées sur une page web. Les données sont contenues dans l'url et récupérées par le script php.
Stockage des données
Pour le stockage des données, nous avions dans un premier temps pensé à une base de données mais nous nous somme plutôt tourné vers un stockage dans un fichier json pour l'affichage de celui-ci dynamiquement en javascript.
Interface Web
Nous avons pensé à une interface user-friendly dynamique grâce à AngularJS. Nous allons d'ailleurs y afficher, en plus des données météorilogiques envoyées par notre station météo, les détails de notre système : Les technologies, le code, un lien vers le wiki...