Envoi de messages de Tulip à Node-RED
  • 20 Feb 2024
  • 4 Minutes à lire
  • Contributeurs

Envoi de messages de Tulip à Node-RED


Résumé de l’article

Pour envoyer des messages depuis Tulip (par exemple depuis des Triggers in-App ou des Automations), un Connecteur peut être utilisé. Ceci est plus facile à réaliser lorsque l'hôte du connecteur est installé sur tous les appareils Tulip Edge.

Avec les appareils Tulip Edge

Le flux suivant sera utilisé pour envoyer un message d'un déclencheur Tulip à Node-RED fonctionnant sur un appareil Tulip Edge :

Communicate with Machines using Edge MC's Connector Host & Node-RED_314676359.png

Une fois terminé, utilisez le Connecteur nouvellement créé dans n'importe quelle application ou automatisation Tulip pour envoyer des messages à Node-RED, tels que des commandes d'appareils ou des entrées de flux.

Dans Tulip : Configurer votre connecteur et votre hôte de connecteur

Note : Si vous n'êtes pas familier avec les Connector Hosts et Connector Function dans Tulip, consultez cet article.

  1. Créez un nouveau Connecteur depuis la page Connecteurs de votre Instance Tulip.
  2. Dans la fenêtre modale qui apparaît, remplissez les informations spécifiées ci-dessous :

Nom: Choisissez un nom pour votre hôte de connecteurDescription: Choisissez un nom pour votre hôte de connecteurType de connecteur: Sélectionnez HTTP

  1. Cliquez sur "Enregistrer".
  2. Pour spécifier les détails de l'hôte du connecteur, cliquez sur le bouton production & test & développement à gauche. Dans la fenêtre modale qui s'affiche, saisissez les informations suivantes :

En cours d'exécution : sélectionnez l'hôte du connecteur de l'appareil Edge cible*Remarque : si l'hôte du connecteur de l'appareil Edge est introuvable, accédez au portail de l'appareil Edge et assurez-vous que l'option "Hôte du connecteur" a été activée.*Hôte : Saisir localhost Port : Saisir 1880 (il s'agit du port sur lequel Node-RED fonctionne) TLS : Saisir No Il n'est pas nécessaire d'ajouter des en-têtes ou des certificats.

  1. Cliquez sur Test, et vérifiez que votre connexion passe. Enfin, cliquez sur Enregistrer.

Ce connecteur est maintenant capable de communiquer avec Node-RED sur l'appareil Edge cible.


Dans Node-RED : Configuration du nœud HTTP IN

Remarque : cette section suppose une certaine familiarité avec Node-RED.

Afin de recevoir le message de l'hôte du connecteur sur l'appareil, un nœud HTTP IN sera utilisé.

  1. Cliquez et faites glisser pour ajouter au flux un nœud HTTP IN à partir de la palette située sur le côté gauche de l'éditeur de Node-RED :

image.png

Saisissez les informations suivantes :
Méthode : POST URL : tout chemin défini par l'utilisateur, tel que /nodeRED ou /myMachine/0013. Il sera réutilisé dans Node-RED, il doit donc être facile à reconnaître et à mémoriser. L'exemple ci-dessous montre l'URL configurée comme /test :
image.png

  1. Cliquez sur "Terminé" pour enregistrer les modifications.

Les requêtes HTTP échoueront sans qu'une réponse ne soit renvoyée au serveur (dans ce cas, Tulip).

  1. Faites glisser un nœud de réponse HTTP.
  2. Connectez le nœud HTTP Request au nœud HTTP Response. 3. Double-cliquez sur le nœud HTTP Response et entrez 200 comme code d'état. Cliquez sur Terminé.

image.png

:::(Info) (Réponses HTTP et feedback avancé) Modifiez le code d'état et/ou utilisez le bouton +add dans le nœud de réponse HTTP pour modifier ou ajouter à la réponse du connecteur. Ces données (le plus souvent, des sorties de système ou de dispositif générées par le flux) apparaîtront dans la réponse du connecteur. Configurez les sorties du connecteur à l'aide du guide ici!!! est-ce que c'est la bonne formulation??!!:: :

  1. Enfin, faites glisser un nœud Debug depuis la palette. Configurez ce nœud pour qu'il produise un**"objet de message complet** " à l'aide du menu déroulant msg. :image.png

Ce flux Node-RED va maintenant recevoir un message de Tulip et l'afficher dans le journal de débogage Node-RED.

Un flux terminé peut apparaître comme illustré ci-dessous :image.png

Cliquez sur Deploy en haut à droite pour valider toutes les modifications.

Dans Tulip : Configurer et tester la fonction de connecteur

Une fois la configuration du flux Node-RED terminée, revenez au connecteur dans Tulip.

  1. Créer une nouvelle fonction de connecteur.
  2. Changez la fonction de connecteur de GET à POST.
  3. Entrez le chemin configuré dans Node-RED (dans cet exemple, /test) dans l'URL.
  1. (facultatif) pour ajouter du contenu au connecteur (tel qu'un message ou une commande), ajoutez une entrée au connecteur.
  2. (facultatif) Ajoutez l'entrée au corps de la demande en changeant d'abord le type de contenu en JSON, puis en ajoutant un élément à la racine.

La capture d'écran ci-dessous montre un connecteur configuré pour le point de terminaison /test spécifié ci-dessus et inclut une entrée appelée testValue:image.png

Cliquez sur "Exécuter" pour tester la fonction du connecteur. Deux indicateurs de succès apparaissent :

  1. La fonction de connecteur recevra une réponse 200 OK, contenant (le cas échéant) :
  2. Toutes les entrées configurées pour le connecteur 2. Toute sortie supplémentaire configurée dans le nœud de réponse HTTP de Node-RED 2. Le journal de débogage de Node-RED affichera le message du connecteur. *Remarque : selon la version actuelle de Node-RED, le corps de la requête du connecteur peut être trouvé dans :*a. msg.payload, ou b. msg.req.body.

Les deux états de réussite sont décrits ci-dessous :

Succès du connecteur :image.png

Node-RED Succès :image.png


Cet article vous a-t-il été utile ?