[DIY] Réalisation d’une station météo connectée

Nicolas, l’un des candidats pré-sélectionnés par notre jury, se présente pour être élu Ambassadeur 2017 dans la catégorie Électronique.

Avant d’en savoir plus sur son projet, une station météo connectée, nous vous invitons à découvrir son parcours.

« Hyperactif depuis tout petit, je suis passionné par l’électronique, la mécanique, l’informatique, les machines, les outils, la récupération, le hacking (et la bonne bouffe) …
Bricoleur né, j’ai besoin de créer, de faire, de produire toujours plus ! »

[sommaire]


1- Pourquoi ce projet ?

Fan de jardinage et de bonne bouffe, nous avons mis en place avec mon épouse un potager dans notre jardin. Cela nous permet de transmettre à notre tour le goût des bonnes choses à nos enfants.
Cependant, pour des raisons pratiques et esthétiques, ce dernier n’est pas en pleine terre, mais dans un rectangle de bois construit avec des traverses paysagères en chêne.

Les premières gelées arrivantes j’avais un gros doute sur la température de ce bac hors terre…
Une seule solution : mesurer la température du sol et de l’air.

Comment faire ? Acheter un simple thermomètre du commerce, hors de question ! Une petite station météo ? Pffff non, trop facile…

Il était nécessaire de remettre en cause les acquis et d’aller encore plus loin afin de faire un projet utile, ludique, durable, facile à mettre en place et évolutif.
À l’heure de l’IoT (internet des objets) il me semble évidant de prendre en considération que cette mini station doit être connectée, communicante et facilement consultable.


2- Quel matériel ?

L’infrastructure est essentiellement basée sur de la récupération d’éléments simples.

Désignation Quantité Photo Ajouter au panier
ESP8266-Medium de Seeed Studio 1 pièce ESP8266 +
Accus lithium 1 pièce Accu lithium-polymère +
Module solaire 1 pièce Module solaire polycristallin +
Module capteur SparkFun 1 pièce module capteur SparkFun +
Régulateur de tension 1 pièce  régulateur de tension Microchip Technology +
Condensateur tantale 3 pièces Condensateur tantale AVX +
Résistance à couche métallique 6 pièces Résistance à couche métallique Yageo +
Résistance à couche métallique 5 pièces Résistance à couche métallique Yageo +
Résistance à couche métallique 2 pièces  Résistance à couche métallique Yageo +
LED rouge 1 pièce LED 5 mm Vishay +
Bouton poussoir 3 pièces Bouton poussoir TE Connectivity +
Antenne Wifi 1 pièces Antenne WiFi TP-LINK +
Shunt ouvert 1 pièce  Shunt ouvert +

Et quelques fournitures électroniques diverses : plaque à trou 2.54, du fil, des barrettes 2.54 male / femelle, de la gaine thermo rétractable, domino ou bornier à vis pour circuit imprimé, pigtail SMA pour l’antenne.


3- Définition du projet

Le projet est un système d’acquisition et de transmission de données par Wifi. 
Les données envoyées sont :

  • la température,
  • l’humidité de l’air,
  • la température du sol.

La première étape est de choisir un hard sans fils (radio) pouvant :

  • être embarqué,
  • autonome en énergie,
  • peu consommant,
  • communiquant par WiFi,
  • avoir besoin de peu de composants externes.

Ce choix fut vite porté vers un ESP8266 de Espressif.
Facile à coder avec l’IDE Arduino, Wifi intégré, fonction basse consommation et surtout bien documenté par la communauté.


L’un des points forts de ce projet est l’alimentation sur panneau solaire. L’énergie est stockée sur une batterie Lithium de 510mAh.
Après différents tests de consommation, j’ai établi un temps moyen de connexion au réseau wifi, sécurisé les erreurs de lecture des capteurs, fait un bilan de consommation et défini un pas de 6 minutes pour la mesure et la transmission des données. Soit, 10 fois par heure avec un temps de réveil max de 6 secondes.
Les consommations du montage mesurées à l’aide d’un multimètre nous donnent 72 milliampères en fonctionnement et 90 microampères en veille, soit 1.29mAh.
Connaissant notre consommation, nous pouvons maintenant calculer notre bilan sur batterie.

Pour cela nous utiliserons cette formule :
(capacité batterie/consommation/24heure)*facteur perte 15% (autodécharge, température,…)
(510/1.29/24)*0.85=14.02 jours d’autonomie.

Ce qui, nous assure environ 14 jours d’autonomie sans recharge solaire.
Plutôt pas mal pour du Wifi !

Quant à la batterie, elle possède une protection de série avec remise en service automatique contre les surcharges et décharges profondes.

 


4- Le hardware

Le schéma électronique :

Schéma électronique Mini S

Peu de composants sont nécessaires au fonctionnement de ce projet, le schéma est assez simple, mais il mérite quand même quelques explications…

  • Le bouton Sw Reset est pour le reset de l’ESP8266,
  • Le bouton Sw Flash est pour Flasher l’ESP8266.
  • Le bouton Sw WiFi Manager est pour configurer le WiFi de l’ESP8266.
  • Solar ON est un shunt pour isoler le panneau solaire pendant une charge via le port Mini USB du TP4056.
  • Power ON est un shunt pour la mise en route du montage sur la batterie.
  • Le connecteur FTDI 3.3V Prog est pour le flashage et le debugge de l’ESP8266, attention il faut impérativement une tension <= à 3.3V car l’ESP8266 n’est pas 5V tolérant.

ESP8266

Afin que l’ESP8266 puisse fonctionner en mode faible consommation (deepSleep) vous devez strapper RESET et GPIO16 sur le module à l’aide d’une goutte de soudure, ici représentés en rouge.

 

L’hébergement de données :

Nous choisirons d’héberger nos données sur thingspeak car il est simple, facile à mettre en œuvre, complet et gratuit.
Tout d’abord, il faut se créer un compte : https://thingspeak.com/users/sign_up
Ensuite, créer un channel pour accueillir nos données : https://thingspeak.com/channels/new
Pour notre projet, il faut renseigner les champs suivants : name, Description, Field1, Field2, Field3.

thingspeak

Puis cliquez sur Save Channel.

Il est, bien sûr, possible de modifier ces données en cliquant sur l’onglet Channel Setting par la suite. Cela peut être utile si vous souhaitez rendre vos données publiques.
Il suffit de cliquer sur Make Public et de sauvegarder en cliquant sur Save Channel.

thingspeak

Maintenant dans l’onglet API KEYS nous allons récupérer la key =>Write API KEY . Cette dernière permet d’envoyer nos données sur notre channel fraîchement créé.
Nous renseignons avec la valeur const char* thingspeak_key = « ZXQ4MKPJUZHSAQK4 »; dans le firmware, cette valeur est unique pour chaque channel, la vôtre sera donc différente.

thingspeak


5- Le firmware

Vous pouvez le télécharger ici.

Les librairies utilisées sont disponibles via l’interface de gestion de librairie de l’IDE Arduino.
Les librairies modifiées sont directement incluses dans le répertoire du firmware.

Pour le flashage du module rien de plus simple. Il suffit de l’alimenter et de connecter l’interface série (TX et RX) via le connecteur FTDI 3.3V Prog.
N’oubliez pas de renseigner la valeur const char* thingspeak_key = « votre clé API ThingSpeak’  » ; !

Vous devez sélectionner les options de la carte suivante afin de compiler la source correctement et pouvoir flasher le module. Le numéro de port com étant différent selon votre configuration.

Arduino

 

Appuyez maintenant sur le bouton Sw Flash et le bouton Sw reset, relâchez le bouton Sw reset en maintenant le bouton Sw flash enfoncé.
L’ESP8266 est maintenant prêt pour le flashage, cliquez maintenant sur l’icône téléversement de l’IDE Arduino.
Après le téléversement terminé, vous devez appuyer à nouveau sur le bouton Sw reset afin de relancer l’ESP8266 dans son mode de fonctionnement normal.

 

Il est maintenant temps de configurer le Wifi :
Pour se connecter à son réseau Wifi, il faut appuyer sur les boutons Sw reset et Sw WiFi Manager puis relâcher le bouton Sw reset en maintenant le bouton Sw WiFi Manager enfoncé.
La LED rouge clignote alors lentement, nous indiquant que nous sommes dans le mode de Configuration du Wifi. Vous pouvez relâcher le bouton Sw WiFi Manager.
À l’aide d’un smartphone, pc, tablette, il faut se connecter au réseau « Mini-S ».

La connexion effectuée, avec l’aide de vote navigateur préféré connectez-vous à l’adresse suivante : http://192.168.4.1
Vous devriez obtenir la page d’accueil du WiFI Manager.
Cliquez maintenant sur Configure WiFi.

La liste des réseaux disponibles est alors affichée.
Cliquez sur celui auquel vous souhaitez vous connecter, entrez le mot de passe.
Puis sauvegardez en cliquant sur SAVE.
thingspeak

Le WiFi est maintenant configuré.
L’ESP8266 redémarre et se connecte au réseau renseigné, la LED rouge clignote rapidement, puis s’allume brièvement pendant l’acquisition des capteurs et la transmission des données sur ThingSpeak. Maintenant, la mini station va mesurer et émettre toutes les 6 minutes environ.

Nous pouvons maintenant consulter les données via l’interface de ThingSpeak.

thingspeak


6- Fabrication et assemblage de l’infrastructure

Le pied :

C’est un tube de Ø30X1.5mm de 120cm de haut.
Il sera fendu à la scie à métaux sur un peu plus de la moitié de son diamètre et sur 10 cm de haut. Cela permet de créer une pince élastique pour accueillir un tube de Ø25X1.5mm supportant le boitier et l’abri température.

Les deux tubes sont en aluminium anodisé afin de résister aux intempéries et à la corrosion. Un trou permettant le passage du câble sera réalisé à la base de la pince.
Il faut faire un rétreint à l’étau en dessous de la pince afin que le tube de Ø25mm repose dessus.

Afin que la terre ne rentre pas dans le tube, mais que l’eau puisse s’écouler nous mettrons un bouchon sur le pied percé au Ø8mm.

[one-half-first]intex_aqua_glam_20161130_174417

[/one-half-first]
[one-half]intex_aqua_glam_20161130_181320

[/one-half]

L’abri température :

Vous pouvez en trouver sur le net à partir de 20€ sur des sites spécialisés.
Mais attention, la qualité de l’abri et de sa ventilation fera la qualité des mesures, il ne faut pas négliger ce point très important.
Car, en cas de fort ensoleillement, sans vent, un mauvais abri peu dériver de plus de 5 degrés !

Pour ce projet, j’ai utilisé un abri que j’avais en stock.
C’est un CES601 réduit, de la marque Cimel.
Il donne de bons résultats. Sa fixation sera donc adaptée pour se monter sur le tube de Ø25mm avec un manchon pvc femmelleØ25/femelle taraudé 20-27.

abri température 

La sonde température humidité de l’air et son support :

Premièrement, il faut :

  • câbler la sonde HTU21D,
  • assurer l’ensemble avec de la gaine thermo-rétractable en venant à environ 2mm de la sonde,
  • préparer un fil rigide de 2.5mm², une gaine thermo-rétractable de la moitié de la hauteur de votre abri et un bouchon percé au Ø de votre câble + fil rigide.

[one-half-first]sonde température humidité [/one-half-first]
[one-half]support[/one-half]

Mettez le câble et le fil dans la gaine thermo-rétractable et chauffez-là. Passez l’ensemble à travers le trou du bouchon.

gaine thermo-rétractable
Coupez l’excédent du fil rigide et solidarisez avec le bouchon à l’aide d’un pisto-colle.

intex_aqua_glam_20161130_190024

Pourquoi tout ça ?
Ce montage permet de monter notre sonde sur notre tube de Ø25mm et par sa rigidité d’assurer le bon positionnement de la sonde au centre de l’abri.


Le boîtier :

Le boîtier est un boîtier de raccordement de type plexo. Il est IP55, donc étanche au ruissellement.
Pour sa fixation sur le tube de Ø25mm, utilisez un collier-clip pour tube IRL (gaine rigide électrique).
Ce dernier sera vissé avec une vis CHC M6x8 et collé avec de la colle époxy.

Pour la fixation du panneau solaire, formez deux équerres à environ 35° ce qui correspond à l’angle moyen solaire en France en hiver. « Cela permet d’optimiser la charge durant les mois de l’année les moins ensoleillés. »

Elles sont fixées en premier sur le boîtier avec deux vis CHC M6x8 dans les trous de fixation du boitier plexo. La profondeur est ajustée avec une rondelle plate et une rondelle éventail afin que la vis ne perce pas le fond du boitier. Toute la visserie doit être en inox pour résister aux intempéries et à la corrosion.

Après la mise en place des équerres sur le boîtier, nous pouvons maintenant procéder au collage du panneau solaire sur les équerres.
Il faut préalablement dépolir légèrement avec du papier abrasif les équerres et le panneau solaire afin d’augmenter l’adhérence de la colle.

boîtier

 

Intégration de l’électronique dans le boîtier :

Pour cela, j’ai utilisé une chute d’ABS que j’ai découpé au format intérieur du boîter.
Cette contre-plaque est ajustée pour se coincer entre les presse-étoupes.
Elle nous servira de support pour tous les composants internes.

Des encoches seront découpées pour les différents passages de câble.
Commencez par coller la batterie puis le bornier de raccordement au pisto-colle.

[one-half-first]intex_aqua_glam_20161130_161041[/one-half-first]

[one-half]intex_aqua_glam_20161130_161457[/one-half]

Ensuite sur l’autre face, il faut coller le TP4056 et le circuit puis réaliser les dernières soudures entre le bornier et le circuit ainsi qu’entre le TP4056 et la batterie.

TP4056

Tests avant l’intégration finale dans le boîtier :

À ce stade, vérifiez si la batterie charge bien et que le module consomme selon nos tests réalisés pendant le développement de ce circuit.
Pour cela mesurez la tension aux bornes Bat+ et Bat- du TP4056 sans alimenter le montage.

intex_aqua_glam_20161130_172222

Alimentez maintenant le TP4056 via le port mini USB. La LED rouge s’allume et la tension augmente. Lorsque la batterie est totalement chargée la LED verte s’allume.

intex_aqua_glam_20161130_172314

Maintenant, mesurez la consommation du montage.
Pour cela, branchez un multimètre (en mode milliampère) de chaque côté du shunt Power On en ayant pris soin de retirer le shunt.
Vous devez trouver environ 72mA lorsque l’ESP est actif (acquisition, WiFi actif).

intex_aqua_glam_20161203_150008

Et environ 90µA lorsque l’ESP est en veille (deepSleep).

intex_aqua_glam_20161203_145858


7- Installation

Nous y voilà c’est la dernière ligne droite !

Montez maintenant la contre-plaque dans le boiter, câblez les capteurs, le panneau solaire.
Alimentez le tout et vérifiez la bonne transmission des données !

installation de la mini station météo connectée

La mini station sera implantée dans un coin de notre potager.
Et le panneau solaire sera orienté Sud-Est afin de charger rapidement dès le soleil du matin. Le pied doit être le plus vertical possible.
La sonde de sol sera plantée horizontalement dans notre potager environ 5cm sous la surface.

mini station météo connectée

Bien vérifier la charge de la batterie par le panneau solaire, la LED rouge s’allume dès que le TP4056 est alimenté.

mini station météo connectée

Maintenant, c’est à vous de jouer !


8- Évolutions envisagées

  • Coté hardware :

Le module ESP-04 ne disposant pas d’entrée analogique, nous ne pouvons ni monitorer la tension de la batterie ni la charge du panneau solaire.

Nous faisons donc confiance à nos calculs et tests durant le développement.

Pour pallier à ce manque d’information, il serait bon d’interfacer un convertisseur ADC via le bus i2C.
Ajouter un capteur de tension hydrique du sol afin de connaitre la teneur en eau du sol ceci dans deux buts. Le premier, savoir exactement s’il y a besoin d’un arrosage pour une croissance correcte de la plante. Le second, la préservation des ressources en eau !

  • Côté firmware :

Ajouter la gestion du cloud de données (cloud, clé, intervalle, etc..) afin de ne pas être exclusivement compatible avec ThingSpeak.
Ajouter la gestion des différents capteurs.

Designer un PCB, usiner un vrai boitier, faire un produit fini ? Pourquoi pas !


Vous voulez que Nicolas devienne notre Ambassadeur 2017, dans la catégorie « Electronique » ?
Alors votez pour lui > Cliquez ici !

One Comment

  1. Pingback: Afficheur WiFi de récupération de données | Conrad Community

Laisser un commentaire