Pluviomètre - compteur de précipitations
Ce tuto a pour but d'expliquer toute la démarche qui permet de construire et installer un pluviomètre connecté.
Les mesures effectuées seront donc envoyées vers une plateforme web sur Internet afin de les traiter. En fonction des possibilités de la plateforme, les données pourront être enregistrées, affichées, agrégées, retraitées ou tout simplement ignorées.
Matériel nécessaire
Afin de mener à bien ce montage, il est nécessaire d'obtenir des éléments suivants :
- Un microcontrôleur avec connexion WiFi de type ESP8266 “Wemos D1 Pro” comme celui-ci (la carte complète)
- Un condensateur de 100 nF
- Une résistance de 330 Ohm
- Une résistance de 1 kOhm
- Le firmware Tasmota pour faire fonctionner le microcontrôleur.
- Une alimentation USB, de type “chargeur de téléphone”
- Un câble USB permettant de connecter le microcontrôleur au PC qui de pouvoir effectuer les configurations.
- Une plateforme web permettant d'enregistrer et d'afficher les données. Il est possible d'en installer une chez soi avec le système enez. Un tuto sera bientôt disponible pour expliquer comment monter une telle plateforme. Des services de ce type sont aussi disponibles sur Internet, comme par exemple Cayenne.
Fonctionnement
Lorsque la pluie tombe, via l'entonnoir, la pluie va remplir une auge basculante. Théoriquement, la bascule se fait tous les 0.3 mm. La bascule déclenche une impulsion électrique qui va être détectée par le microcontrôleur, qui va donc les compter une à une. Celui-ci, connecter à Internet en WiFi, va publier à intervalle défini la valeur de ce compteur vers un 'broker', en fait un serveur informatique, via le protocole de messagerie MQTT.
Le protocole MQTT est assez léger et permet une grande souplesse dans l'utilisation des données. En effet, il suffit aux clients, c'est à dire l'appareil ou les appareils qui vont utiliser la donnée, de s'abonner au broker. C'est ce que fait le système enez, mais rien n'empêche de créer ses propres écrans de visualisation avec node-RED par exemple.
Les données sont encapsulées dans un document json et après configuration, se présentent ainsi:
{"Tilt": 414, "mm": 115.67}
L'outil MqttExplorer permet de visualiser les données en temps réel et peut-être un excellent outil pour comprendre le fonctionnement de MQTT.
Montage
Liaison physique
La liaison entre le pluviomètre et le microcontrôleur va se faire grâce au câble attaché au pluviomètre. Ce câble sera coupé pour enlever la prise RJ11. Coté microcontrôleur, les fils seront soudés selon la table ci-dessous. Les broches utilisées sont :
Wemos D1 Mini | Pluviomètre | Couleur du fil |
---|---|---|
VCC +5V | Vin | Rouge |
GND | GND | Noir |
D7 | Data | Jaune |
Afin de fiabiliser les mesures, il est nécessaire d'ajouter un filtre électronique. Je me suis inspiré directement de cet article du site [mysensors.org](https://www.mysensors.org/build/rain). Et c'est vrai que les impulsions parasites ont disparues.
L'énergie nécessaire est ici fournie par petit convertisseur d'alimentation qui va utiliser le 220 Volt du réseau électrique pour générer les 5 Volt nécessaire au au fonctionnement du microcontroleur nodeMCU.
Configuration
La première chose à faire est d'installer un firmware sur le microcontrôleur. Le firmware choisi étant Tasmota, nous allons utiliser Tasmotizerpour installer le firmware.
Une fois Tasmota installé, relier le microcontrôleur à votre PC et lancer Tasmotizer.
- Choisir le port COM avec lequel votre PC communique avec la carte microcontrôleur.
- Choisir l'image. Il y a plusieurs version de Tasmota. Ici, on va utiliser la version de base. Le plus simple est de sélectionner “Release”, puis “tasmota.bin”.
- Cliquer sur Tasmotize. La dernière version du firmware est alors téléchargée et installée sur la carte Wemos D1.
- Enfin, le bouton “Send config” permet de personnaliser les paramètres de fonctionnement du microcontrôleur. Seront ainsi définis:
- Le réseau WiFi qui sera utilisé
- Les paramètres du broker MQTT vers lequel les données seront publiées
- Il faut maintenant configurer le pluviomètre via l'interface web fournie par Tasmota. Cette page web s'obtient en navigant vers l'adresse IP du microcontrôleur. Tasmotizer permet de facilement connaitre cette adresse IP en cliquant sur le bouton vert “Get IP”. Dans cette page web:
- Choisir “Configuration”, puis “Configure Module”.
- Choisir le module type “Generic (18)”
- Sur la ligne “D7 GPIO13”, choisir “Counter”, puis “1”
- Cliquer sur le bouton “Save”
Voilà, l'ensemble pluviomètre/microcontrôleur va maintenant envoyer ses données toutes les 5 minutes au broker. mais pour pouvoir exploiter ces données, il va être nécessaire de personnaliser.
Le site web du microcontrôleur permet de contrôler son fonctionnement et autorise une personnalisation plus fine si nécessaire.