Chronique de la création d’une station météo connectée autonome (1/?)

Cette chronique (qui durera quelques épisodes) a pour objectif de présenter le développement d’un projet numérique à but éducatif. Vous trouvez ici des détails techniques permettant de réaliser une station météorologique connectée et autonome.

Épisode 1   Le commencement…

Présentation du projet

Objectifs

Le développement d’une station météorologique connectée et entièrement autonome constitue évidemment un défi technologique. C’est ici le premier objectif du projet : apprendre à maîtriser des outils numériques innovants et développer des compétences nouvelles. Mais, en tant que professeur, un tel projet peut se révéler aussi particulièrement intéressant comme support d’enseignement !

Il est par exemple possible de trouver des applications dans le cadre de l’enseignement de Physique-Chimie en Seconde (en lien avec les notions de composition de l’air, de capteurs, de courant électrique, de résistance…) mais aussi dans le cadre du tout nouvel enseignement de Sciences Numériques et Technologies (avec les notions de données et traitement, de microcontrôleurs, de langages HTML et CSS…).

Choix des composants

Au cœur de la station se trouve un microcontrôleur. Ce dernier doit répondre aux demandes techniques (relevé de données à l’aide de multiples capteurs, envoi des données via Internet, prix abordable, faible consommation électrique). Deux candidats répondent à cette description : Arduino et Raspberry.

Le premier se révèle le plus intéressant d’un point de vue économique et pédagogique car les élèves sont amenés dès la Seconde à prendre en main des microcontrôleurs Arduino.
Comme l’objectif est de développer une station complète, une carte Arduino Mega 2560 R3 a été choisie pour supporter les nombreux capteurs :

ELEGOO Carte Mega 2560 R3 ATmega2560 ATMEGA 16U2 : https://amzn.to/31wl4ll (16€)


Figure 1 – Carte Arduino Mega

Afin de communiquer avec l’interface web, une extension shield Ethernet a été installée sur la carte Arduino :

KEYESTUDIO W5100 Ethernet d’extension Shield : https://amzn.to/2W0HKsU (13€)

À terme, cette extension sera remplacée par un module wifi ou GSM permettant un fonctionnement sans fil de la station.

Capteurs

Afin d’effectuer les premiers tests , les capteurs suivants ont été choisis pour le prototype :

Le câblage (primitif) des capteurs se présente de ma manière suivante :


Figure 2 – Le prototype de la station

Pour y voir plus clair, le schéma Fritzing est disponible ci-après :


Figure 3 – Le schéma Fritzing de la station

Communication avec l’interface web

La carte communique avec l’interface web via l’extension Ethernet : toutes les 5 minutes, les valeurs relevées par les capteurs sont envoyées via une méthode POST vers une page web PHP (add.php). Cette page récupère alors les données et les stocke dans la base de données MySQL.

Les fichiers ino et php : en téléchargment direct ou sur GitHub .

L’avantage de la méthode POST est qu’elle est économe en bande passante et permet une transmission simplifiée (il n’y a pas besoin d’ouvrir les ports TCP/UDP de votre routeur). Néanmoins, cette méthode présente des limites : il est par exemple impossible de contrôler la station à distance.

Pour information, 4550 relevés (soit environ 15 jours) occupent 280 Ko. Dès lors, une année entière de mesures ne devrait pas excéder 10 Mo (pour cette configuration).

Présentation de l’interface web

L’interface web est disponible à l’adresse suivante : https://meteo.ensciences.fr/.


Figure 4 – L’interface web

Elle est développée afin d’accéder aux informations essentielles rapidement. Ainsi, des « cartes » indiquent les valeurs renvoyées par les capteurs toutes les 5 minutes. Un code Javascript s’occupe d’actualiser les différentes divisions à intervalles de temps régulier.

Différents graphiques sont proposés afin de visualiser les données des dernières 24h et les prévisions. Ces graphiques sont réalisés avec la fabuleuse bibliothèque « Chart.js » (disponible ici : https://www.chartjs.org/).

Attention : les prévisions ne proviennent pas de la station mais du site : https://openweathermap.org.

L’ensemble de l’interface est « responsive » : elle s’adapte à tous les formats grâce à la bibliothèque Bootstrap (https://getbootstrap.com/).

Bilan

Ce premier prototype a permis de mettre en place des capteurs simples et de développer la communication entre la carte Arduino et l’interface web. Pour l’instant, la station n’a pas été mise en situation réelle.

La suite au prochain épisode…

La prochaine partie de la chronique s’attachera à détailler l’amélioration des différents capteurs et la création d’un abri (afin de tester la station en conditions réelles).