Comment faire : Utiliser le mode sériel avec Node-RED
  • 04 Nov 2023
  • 4 Minutes à lire
  • Contributeurs

Comment faire : Utiliser le mode sériel avec Node-RED


Article Summary

Comment faire : Utiliser le port série avec Node-RED

Guide sur la connexion à un appareil série, la configuration d'un port série dans node-RED, et une introduction aux flux de la bibliothèque node-RED.

Cet article décrit comment lire et écrire des données série à partir d'appareils Tulip Edge en utilisant Node-RED. Il explique comment se connecter aux différents ports série de chaque type d'appareil Edge, et présente deux flux de bibliothèque Tulip Node-RED qui utilisent la communication série.

Vous aurez besoin de ce qui suit :

  • Un Edge IO ou Edge MC enregistré sur votre compte Tulip.

  • Un appareil qui communiquera en série avec votre appareil Edge.

    • Edge I O prend en charge les périphériques série qui utilisent :

      • RS-232

      • RS-485 (half-duplex)

      • Série via USB

        • Edge MC prend en charge les appareils série qui utilisent :
      • Série sur USB

      • TTY UART avec TX/RX

1. Configuration matérielle : Connexion à un périphérique série

Tout d'abord, assurez-vous que vous connectez physiquement votre périphérique série à l'appareil Edge.

Facultatif: Si vous souhaitez d'abord tester votre flux Node-RED en communiquant avec un appareil hôte (par exemple votre ordinateur portable, un autre appareil Tulip Edge, etc.), vous pouvez le faire en utilisant RS-232 avec un modem null, ou des câbles USB-UART avec des lignes TX/RX croisées (ne pas brancher l'alimentation).

Voici des exemples de programmes que vous pouvez utiliser sur l'appareil hôte pour communiquer avec l'appareil Edge :

  • screen (MacOS): Un utilitaire de ligne de commande pour la communication série.
  • PuTTY (Windows/Linux): Un émulateur de terminal gratuit qui peut agir comme une console série.
  • Node-RED: Créer un flux Node-RED complémentaire dans une instance de Node-RED qui s'exécute sur l'appareil hôte.

2. Configuration de Node-RED : Configurer le port série

Nous allons utiliser les nœuds du paquet node-red-contrib-serialport pour les communications série dans Node-RED. Si vous êtes sur un appareil Tulip Edge OS44+, ce paquet est préinstallé. Sinon, vous pouvez ajouter les nœuds à la palette en utilisant l'éditeur de Node-RED comme décrit ici.

Les nœuds série apparaîtront sous l'onglet réseau:

Node RED Serial Setup Port Config

Pour lire les entrées série, faites glisser et déposez le nœud d'entrée série. Pour écrire des sorties série, faites glisser et déposez le nœud de sortie série. Sur l'un ou l'autre des nœuds, pour configurer le port série, cliquez sur le bouton d'édition de la propriété "Serial Port" :

Node RED Serial Set Up Edit Port Modal

Vous devez ensuite remplir les propriétés suivantes :

  • Port série: Le chemin d'accès du port série (ex : /dev/ttyS0). Cela dépend de l'appareil Edge et du port série physique auquel vous vous connectez (voir les articles pour Edge IO ou Edge MC). Les chemins disponibles peuvent être visualisés en cliquant sur le bouton de recherche comme indiqué ci-dessous.

Node RED Serial Setup Add New Port

Note : Il n'y a actuellement pas de support pour le branchement à chaud de périphériques USB dans Node-RED. Cela signifie que le périphérique USB doit être branché lorsque l'appareil démarre pour que Node-RED y ait accès.

  • Paramètres: Le débit en bauds et les autres paramètres doivent correspondre au débit en bauds de l'appareil série avec lequel vous communiquez.

Node RED Serial Setup Settings

  • Entrée: Choisissez le moment où le nœud émettra un message. Les options comprennent l'attente d'un caractère de séparation (tel qu'un saut de ligne, une virgule ou un espace), l'attente tous les n caractères si la sortie est de longueur fixe, ou vous pouvez définir un délai d'attente pour obtenir une sortie toutes les n secondes.

Node RED Serial Setup Input

  • Sortie: Ajouter un caractère au message de sortie (par exemple, ajouter le retour à la ligne).

Node RED Serial Setup Output

Vous pouvez voir que vous êtes connecté à un port série valide si, après le déploiement, le statut du nœud est "connecté" :

Node RED Serial Setup Connected Status

3. Flux de la bibliothèque Node-RED : Communiquer avec Tulip

Tulip fournit plusieurs flux de bibliothèque pour lire les entrées série et écrire les sorties série sur les appareils Tulip Edge à l'aide de Node-RED. Voir Importation de flux Tulip Node-RED pour savoir comment importer un flux de bibliothèque Tulip.

Pour écrire une sortie série sur un appareil Tulip Edge à partir d'une application Tulip, vous pouvez utiliser le flux serial_http_endpoint et configurer un connecteur HTTP sur votre instance Tulip fonctionnant sur l'hôte du connecteur de l'appareil Edge. Vous devrez ajouter une fonction de connecteur à ce connecteur qui enverra des requêtes POST au point de terminaison HTTP /serial, et appeler cette fonction de connecteur depuis l'application. Pour en savoir plus sur l'écriture de valeurs dans Node-RED à l'aide de l'hôte du connecteur, voir Communiquer avec des machines à l'aide de l'hôte du connecteur Edge MC et de Node-RED.

Node RED Serial Setup Flow1

Pour lire une entrée série sur un appareil Tulip Edge et l'envoyer à Tulip, vous pouvez utiliser soit l'API Tables (pour écrire les données dans une table), soit l'API Machine (pour écrire les données dans un attribut de machine). Le flux de bibliothèque serial_to_tulip_table est un exemple de la façon d'écrire des entrées série délimitées par des nouvelles lignes dans une table Tulip. Vous devrez configurer le nœud série et les deux nœuds de tables Tulip avec les paramètres corrects pour votre cas d'utilisation. Pour en savoir plus sur l'utilisation du nœud de l'API Tulip Tables, voir Using Node-RED with the Tulip API (en anglais).

Node RED Serial Setup Flow2


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