Une station météo connectée à internet

Pierre-Gilles Leymarie
Founder of Gladys AssistantSalut à tous ! Aujourd'hui nous allons créer une petite station météo d'intérieur (ou d'extérieur pourquoi pas !) avec un arduino et une ethernet shield qui va nous renvoyer la température et l'humidité dans la pièce et l'enregistrer dans Gladys :)
#
Le matérielPour ce tutoriel, on aura besoin :
- Un arduino Uno ( acheté 18€ ici )
- Une carte ethernet shield ( acheté 6€ ici )
- Une sonde de température/humidité DHT11 ( acheté 2,48€ ici )
( Pour le capteur DHT11, je n'ai pas retrouvé le kit avec résistance que j'avais acheté il y a quelques mois, celui là n'a pas de résistance mais apparemment ce n'est pas nécessaire d'après la description de la sonde sur le site... )
#
Les branchementsLes branchements sont tout simple, je vous ai fais un petit schéma sur Fritzing. Tout d'abord branchez l'ethernet shield sur votre arduino, puis connectez le DHT11 suivant le schéma ci-dessous ( une fois que l'ethernet shield est branché les PINs sur l'ethernet shield sont les mêmes que sur l'arduino Uno ).
#
L'arduino en tant que clientL'objectif de ce tuto est de faire une petite station qui va remonter périodiquement à Gladys des informations de températures et d'humidités. C'est à dire que toutes les 20 minutes par exemple, notre montage va appeler l'API REST de Gladys pour lui communiquer l'humidité et la température.
#
La configuration de GladysPour faire fonctionner ce tutoriel, vous avez besoin de Gladys en version >= 3.1.11.
Ensuite, rendez-vous dans l'interface de Gladys, rubrique "Device".
Créez un device avec les informations :
- Name: Le nom que vous voulez
- identifier: Vous pouvez laisser vide
- protocol: ethernet
- service: ethernet ( ça n'a pas grand importance ici )
- Pièce: La pièce dans laquelle est situé votre station météo ( vous pouvez créer des pièces dans les paramètres, hésitez pas à créer une pièce pour votre jardin )
Ensuite, cliquez sur "edit" et créez un deviceType avec comme informations :
- type: temperature
- tag: Ce que vous voulez (vous pouvez laisser vide ici)
- unité: °C
- min: -273,15 ( zéro absolu, on se doute que ça va pas descendre plus bas :p)
- max: 6000 ( la température à la surface du soleil, peu de chance qu'on l'atteigne dans votre salon )
- Capteur: cochez la case
Notez bien l'ID unique du deviceType que vous venez de créer.
Puis, créez un autre deviceType humidité :
- type: humidity
- tag: Ce que vous voulez (vous pouvez laisser vide ici)
- unité: %
- min: 0
- max: 100
- Capteur: cochez la case
Notez aussi son ID unique.
Ensuite, il vous faut créer un token d'accès à Gladys, pour cela allez dans "Paramètres", puis "Sécurité", donnez un nom à votre token (Ex: "Station météo" et cliquez sur "Créer" )
Ensuite, copiez le token d'accès. Il vous sera utile pour la suite.
#
Mise en place de l'arduinoAvant d'envoyer le code sur votre arduino, il vous faut la librairie DHT qui vous permet d'utiliser le capteur DHT11 sur votre Arduino. Vous trouverez la librairie ici. Le fichier README explique comme installer la libraire sur l'IDE arduino !
Une fois que la librairie est installée, il suffit de pousser le code suivant sur votre arduino. Le code de l'arduino est tout simple, on lit les valeurs du capteurs, et on fait un appel HTTP sur Gladys.
Dans ce code pensez à modifier les différentes variables au début du code avec vos valeurs que l'on a récupéré dans l'étape précédente :
- ID_DE_VOTRE_DEVICETYPE_TEMPERATURE
- ID_DE_VOTRE_DEVICETYPE_HUMIDITE
- VOTRE_TOKEN
Vous devriez voir les valeurs apparaitre en live dans l'onglet "Device" => "Courbe" en sélectionnant votre deviceType.
#
ConclusionDans ce tutoriel, on a mis en place une petite station connectée en ethernet, mais on pourrait dans l'avenir remplacer tout ça par une petite carte arduino esp8266 ( Equipée en Wi-Fi ), ce qui permettrait de faire un petit module autonome ! J'ai reçu une carte de ce type mais je n'ai pas encore eu le temps de la tester :)
J'espère que ça vous a plu, n'hésitez pas si vous avez des questions !