Station météo connectée

De Wiki de Projets IMA
Révision datée du 20 janvier 2016 à 14:32 par Tscholae (discussion | contributions) (Suivi de l'avancement du Projet)

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... Les données sont injectée dans la page web dynamiquement à partir du fichier json contenant les valeurs grâce à angular. Le tableau de données pourra être trié par date, heure, température, humidité.

http://iot.thibautscholaert.com/
Mode Veille=

Nous avons également pensé comme prévu à un mode veille question d'économie d'énergie. L'objet connecté sera en mode veille presque tout le temps et se réveillera toutes les 30 minutes pour envoyer les données instantanées : température, humidité, date et heure. Cette tâche prend très peu de temps, de l'ordre de quelques secondes, ce temps dépend beaucoup du temps de connection à la borne Wifi (notre téléphone). Nous avons donc un système basse consommation grâce à ce mode veille/réveil.