Node-RED : comment intégrer un objet connecté MySensors v2

Il est très facile de créer ses propres objets connectés à base d’Arduino qui communiquent par ondes radio à l’aide de la librairie MySensors v2 et de les exploiter dans un projet Node-RED. Pour ce tutoriel, nous allons utiliser une simple sonde de température et d’humidité (DHT22). Nous afficherons les mesures de température et d’humidité à l’aide du module Dashboard.

Read this article in English

Préparer une sonde de température DHT22 MySensors

J’ai repris le code et le câblage du projet précédent. Vous devez également disposer d’une gateway réseau (suivez ce tutoriel pour la préparer) ou une gateway série.

Matériel nécessaire

arduino nano v3 atmega328p Arduino Nano (conseillé)
rflink nrf24l01 Module radio nRF24L01

Portée standard ou longue portée (1000m ou environnement difficile)

adaptateur cablage nRF24L01 Adaptateur avec régulateur de tension 3V3 pour module antenne nRF24L01 ou nRF24L01 + PA + LNA
Broches DHT22 Capteur de température et d’humidité

DHT11 ou DHT22

jumper dupont Jumper Dupont
breadboard Breadboard

Circuit

mysensors arduino micro dht22 nrf24l01

Code

Téléversez le code suivant dans l’Arduino Nano.

Intégrer un objet MySensors à un flow Node-RED

Il existe un plugin officiel MySensor (http://flows.nodered.org/node/node-red-contrib-mysensors). Pour ce projet, je vous propose d’utiliser le flow que j’ai développé et publié sur la librairie en ligne Node-RED (http://flows.nodered.org/flow/fa02078c160cb3e00e09f4980b534490). Il se charge de décoder les messages MySensors et renvoie en sortie un objet JSON. Il est plus facile de filtrer des valeurs souhaitées pour un noeud donné.

Code du flow MySensors Decoder


Se connecter à une Gateway réseau MySensors depuis Node-RED

Pour se connecter à une gateway réseau MySensors, nous allons utilise le protocole tcp (classé dans Input).

node-red tcp mysensors lan gateway

Configurez le Node comme ceci :

  • Type : Connect To
  • Port: 5003 (par défaut, sinon le port que vous avez configuré pour votre gateway)
  • at host : l’adresse ip de la gateway
  • Output : stream of / string
  • Vous pouvez aussi changer le nom affiché sur le flow.
  • Cliquez sur Done pour enregistrer la configuration

Vous pouvez maintenant relier la passerelle au décodeur de message. En branchant un Node debug, vous pourrez lire très facilement tous les messages (décodés) qui passent sur le réseau MySensors !

node-red tcp mysensors lan gateway settings parametres

Afficher les mesures sur un graphique et une gauge

Regarder les mesures passer dans le log, c’est bien, mais on doit pouvoir faire un peu mieux ! Nous allons ajouter une interface graphique à notre projet Node-RED. Ouvrez le gestionnaire de palette. Celui-ci s’ouvre à gauche de l’écran. Allez dans l’onglet Install et installez le module Dashboard. Actualisez la page de navigateur à la fin de l’installation pour que la palette s’affiche (en bas).

Maintenant nous allons ajouter une fonction qui filtre la mesure que l’on souhaite afficher depuis le noeud DHT22. Collez ce code

Dans ce cas, on ne renvoie la valeur (value) que si le message provient du noeud 3 (nodeId == 3) et que c’est un type 0 (température, V_TEMP) ou 1 (humidité, V_HUM).

Depuis la palette dashboard déposez une gauge et configurez la comme ceci.

node-red dashboard gauge

Il faut déjà créer une Tab. C’est une page WEB. On passe d’une page à l’autre depuis le menu dans le coin supérieur gauche.

node-red mysensors dht22 dashboard tab

Ensuite un Group. On peut regrouper les affichages (interrupteurs, gauge, graph, formulaire…) par groupe (group).

node-red mysensors dht22 dashboard group

Enfin on peut régler les paramètres d’affichage de la gauge. On dispose de 4 types d’affichage :

  • Gauge
  • Donut
  • Compass
  • Level

node-red mysensors dht22 dashboard gauge

Ajoutez également un graphique. Il fonctionne sur le même principe. Il faut l’associer au Group d’une Tab

node-red mysensors dht22 dashboard graph

Faites de même pour la mesure d’humidité. Voici le flow terminé.

node-red mysensors dht22 dashboard flow

Maintenant, ouvrez une nouvelle page dans le navigateur et saisissez l’adresse suivante

Et voilà, vous disposez maintenant d’un affichage graphique de votre sonde DHT22 MySensors en quelques minutes !

node-red mysensors dht22 dashboard

Vous n’aimez pas le bleu, aucun problème. Retournez sur Node-RED. Allez dans l’onglet dashboard qui se trouve à coté de l’onglet debug. Dans la liste Theme, choisissez Dark et déployez le projet.

node-red mysensors dht22 dashboard theme

Retournez sur la page UI pour contempler votre projet !

node-red mysensors dht22 dashboard black

Flow du projet

Vous pouvez également directement importez ce flow si vous ne voulez pas réaliser toutes les étapes de ce tutoriel.



Node-RED est vraiment magique, rien ne vous empêche de concevoir votre propre logiciel domotique et bien plus encore !

 

Inscrivez-vous à la newsletter hebdomadaire

Aucun spam et aucun autre usage ne sera fait de votre email. Vous pouvez vous dés inscrire à tout moment.

Comparateur de prix

Bons plans

Les offres suivantes se terminent bientôt. Utilisez le coupon indiqué pour profiter du prix promo

Projets DIY - Domotique et objets connectés à faire soi-même