Blynk est génial pour utiliser et commander ses objets connectés depuis son smartphone iOS ou Android. Si vous avez développé des objets connectés à l’aide de la librairie MySensors pour communiquer à longue distance par ondes radio, il est très facile de renvoyer les données à l’aide de Node-RED. Ce tutoriel ne traite que de l’envoi de données en provenance d’un sonde MySensors. Nous verrons dans un prochain tutoriel comment piloter des actionneurs MySensors depuis l’application Blynk.

Avant de commencer

Si vous ne disposez pas encore de Node-RED, suivez le tutoriel qui correspondant à votre environnement :

Vous pouvez également lire ce tutoriel pour apprendre comment gérer simplement les modules.

Installer le module node-red-contrib-blynk-websockets pour Node-RED

Ouvrez le gestionnaire de palette et faites une recherche sur le mot clé Blynk. Vous devriez obtenir 2 modules :

  • node-red-contrib-blynk
  • node-red-contrib-blynk-websockets. La page npm du plugin est ici

node-red plugin blynk

Le premier plugin (node-red-contrib-blynk) est maintenant obsolète. Il fonctionne toujours mais ne recevra plus de mise à jour. Installez le 2nd plugin node-red-contrib-blynk-websockets. Une fois l’installation terminée, vous aurez une nouvelle palette composée de 4 outils

  • read event : permet de récupérer les événements de lecture
  • write event : permet de récupérer les événements d’écriture
  • write : permet de publier quelque chose sur Blynk
  • email : permet d’utiliser un email par l’intermédiaire du serveur Blynk

Au moment de l’écriture de cet article, le plugin n’est pas encore documenté. J’ai du un peu chercher. Il faudra m’excuser s’il y a des erreurs. En tout cas n’hésitez pas à partager si vous avez d’autres infos que les miennes.

node-red-contrib-blynk-websockets palette

Utiliser Node-RED comme passerelle entre MySensors et Blynk

Node-RED se prête très bien à ce jeu. A part décoder les messages (le flow se trouve plus bas) en provenance de la Gateway MySensors, il n’y aura aucune programmation. Voici comment nous allons faire :

  • Le capteur transmet les mesures par ondes radio (2.4GHz) à la Gateway MySensors (suivez ce tutoriel pour fabriquer une gateway réseau WiFi).
  • On se connecte à la gateway MySensors réseau depuis Node-RED à l’aide du flow TCP/IP.
  • On décode les messages MySensors
  • On envoi chaque mesure sur le Pin Virtuels du projet Blynk
  • Le serveur Blynk reçoit les données
  • L’application mobile se connecte au serveur Blynk pour récupérer les mesures

Node-RED MySensors to blynk gateway.

Connexion à la Gateway MySensors

Pour se connecter à une passerelle réseau, nous allons utiliser le Node TCP

node-red tcp mysensors lan gateway

Configurez la connexion ainsi :

  • Type : Connect to
  • Port : 5003 par défaut (à adapter à votre configuration)
  • at host : l’adresse ip de la gateway réseau
  • output : stream of … String
  • Donnez un nom
  • Enregistrez avec Done

node-red tcp mysensors lan gateway settings parametres

Décoder les messages MySensors

Dans ce tutoriel précédent, nous avons vu comment décoder à la volée les messages reçus par la gateway MySensors. Nous allons l’utiliser de nouveau car on doit envoyer les données individuellement à Blynk. Collez le flow de décodeur dans votre projet Node-RED et connectez le àau Node TCP précédemment créé.

Mise en place de la passerelle

Maintenant que les messages sont décodés, on va pouvoir extraire ce qui nous intéresse et l’envoyer à Blynk. Pour cela, vous devez récupérer les informations suivantes :

  • Le Token du projet sur lequel vous voulez publier les données
  • Les Pins virtuels sur lesquels envoyer les données. Ici, ce sera V0 pour la température et V1 pour l’humidité
  • L’adresse IP du serveur Blynk et le port websocket

Node-RED va communiquer en Websocket avec le serveur Blynk. Pour une liaison non sécurisé, le port par défaut est le 8082.

Si vous disposez de votre propre serveur Blynk local, remplacez IP_BLYNK_SERVER par l’adresse IP. Si vous utilisé votre compte Blynk officiel, le serveur est cloud.blynk.cc .

Enfin si vous avez mis en place un certificat SSL, vous pouvez sécuriser les échanges avec Node-RED en vous connectant sur le websocket

Vous pouvez modifier les ports dans le fichier de configuration server.properties de Blynk

Dans la palette Node-RED, faites un recherche sur le mot clé Blynk. Placez le Node write sur le flow

node-red blynk contrib websocket write

Appuyez sur le crayon à droite de la liste de sélection pour ajouter une connexion

  • Url : l’url du websocket
  • Project key : le token vers lequel les données doivent être envoyées
  • Name : donnez un nom à la connexion
  • Enregistrez la configuration

node-red blynk contrib websockets url

De retour dans le Node write :

  • Sélectionnez la connexion dans la liste.
  • Indiquez le Pin virtuel (juste le nombre).
  • Donnez un nom
  • Enregistrez

 node red blynk websocket mysensors write virtual pin

Faites de même pour l’humidité. Branchez le Node Write sur le filtre d’extraction de la mesure. Voici ce que vous devez obtenir

node-red mysensor blynk gateway passerelle

Le code complet du flow

Déployez le flow et ouvrez l’application Blynk sur votre smartphone iOS ou Android. Vous recevez maintenant les données en provenance de vos objets MySensors sans aucune modification du code de ces dernières.

blynk mysensors node-red gateway

 

Print Friendly, PDF & Email

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

Tags:

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