Accueil / Objets Connectés / InfluxDB / Node-RED (Tutoriel) : enregistrer des mesures MySensors sur InfluxDB

Node-RED (Tutoriel) : enregistrer des mesures MySensors sur InfluxDB

Dans ce tutoriel, nous allons voir comment enregistrer des mesures en provenance d’une sonde DHT22 envoyées par ondes radio à l’aide de la librairie MySensors à l’aide de Node-RED dans une base données InfluxDB. Si vous découvrez la base de données InfluxDB, consultez l’article précédent, qui explique comment l’installer sur macOS ou Windows et (assez rapidement) comment l’utiliser.

Installation du module InfluxDB

Il existe un module pour enregistrer ou récupérer des données sur une base InfluxDB. Ouvrez le gestionnaire de palette et lancez une recherche avec le mot clé influxdb.

Installez le et rafraichissez le navigateur lorsque l’installation est terminée.

node-red influxdb install module

La palette contient 2 nouveaux Nodes dans la section Storage.

node-red-influxdb-storage-palette

Remarque. Il est aussi possible d’utiliser l’API HTTP pour enregistrer dans InfluxDB.

Préparation des tables sur InfluxDB

Avant de pouvoir enregistrer des données dans une base influxDB, il est nécessaire de créer les bases nécessaires et éventuellement ajouter un utilisateur avec les droits adéquats. Si vous avec un usage privé, ce n’est pas une obligation.

Ouvrez un Terminal et lancez le shell InfluxDB avec la commande influx.

Nous allons créer deux bases. La première temperature contiendra toutes les mesures de température et humidite, vous avez compris où je veux en venir.

Si on veut, on peut ajouter une politique de rétention. Par exemple, on garde les données pendant 1 an

Vérifions ce que ça donne.

Tout est prêt.

Extraction des données de la sonde DHT22 MySensors

Les mesures que nous allons enregistrer proviennent d’une sonde DHT22 MySensors développée dans un précédent tutoriel ainsi que le Node de décodage de messages MySensors. Il suffit maintenant d’ajouter une fonction qui renvoi la valeur de la température (ou de l’humidité dans un second flow). Les mesures proviennent du noeud 3.

Enregistrez les mesures dans la base InfluxDB

Maintenant, on ajoute un Node InfluxDB In. On commence par configurer une connexion

node-red influxdb nouvelle connexion

Elle prend comme paramètres :

  • Host : l’adresse IP du serveur InfluxDB. 127.0.0.1 si elle est sur la même machine que Node-RED
  • Port : par défaut c’est le 8086
  • Database : ici temperature ou humidité
  • Username, Password : si vous avez définit un utilisateur pour cette base de données

node-red influxdb configuration connexion

Puis il ne reste plus qu’à définir le nom de la mesure (measurement).

node-red influxdb measurementUne fois terminé, on obtient ce flow. Il ne reste plus qu’à le déployer pour commencer à enregistrer les mesures dans les bases de données.
node-red influx db mysensors dht22

 

Code du flow

Collez ce flow pour tester directement ce tutoriel.

Dans le prochain tutoriel, nous verrons comment créer de (très beaux) graphiques avec Grafana.