Cómo: Utilizar Serial con Node-RED
  • 04 Nov 2023
  • 3 Minutos para leer
  • Colaboradores

Cómo: Utilizar Serial con Node-RED


Article Summary

Cómo: Utilizar Serial con Node-RED

Guía sobre cómo conectarse a un dispositivo serie, configurar un puerto serie en node-RED, y una introducción a los flujos de la biblioteca node-RED.

Este artículo describirá cómo leer y escribir datos serie desde dispositivos Tulip Edge usando Node-RED. Cubrirá cómo conectarse a los diferentes puertos serie en cada tipo de dispositivo Edge, y dos flujos de biblioteca Tulip Node-RED que utilizan la comunicación serie.

Lo que necesitarás es

  • Un Edge IO o Edge MC registrado en tu cuenta Tulip.

  • Un dispositivo que se comunicará a través de serie a su dispositivo Edge

    • EdgeIO soporta dispositivos seriales que utilizan

      • RS-232

      • RS-485 (semidúplex)

      • Serie sobre USB

        • EdgeMC admite dispositivos serie que utilizan
      • Serie sobre USB

      • TTY UART con TX/RX

1. Configuración del hardware: Conectar al dispositivo serie

En primer lugar, asegúrese de conectar físicamente su periférico serie al dispositivo Edge.

Opcional: Si quieres probar primero tu flujo Node-RED comunicándote con un dispositivo host (por ejemplo, tu portátil, otro dispositivo Tulip Edge, etc.), puedes hacerlo utilizando RS-232 con un módem nulo, o cables USB-UART con líneas TX/RX cruzadas ( no conectes la alimentación).

Algunos ejemplos de programas que puedes utilizar en el dispositivo host para comunicarte con el dispositivo Edge son:

  • screen (MacOS): Una utilidad de línea de comandos para la comunicación serie.
  • PuTTY (Windows/Linux): Un emulador de terminal gratuito que puede actuar como consola serie.
  • Node-RED: Cree un flujo complementario de Node-RED en una instancia de Node-RED que se esté ejecutando en el dispositivo host.

2. Configuración de Node-RED: Configurar el puerto serie

Utilizaremos los nodos del paquete node-red-contrib-serialport para las comunicaciones serie en Node-RED. Si estás en un dispositivo Tulip Edge OS44+, este paquete está preinstalado. Si no, puedes añadir los nodos a la paleta usando el editor Node-RED como se describe aquí.

Los nodos serie aparecerán bajo la pestaña de red:

Node RED Serial Setup Port Config

Para leer entradas serie, arrastra y suelta el nodo de entrada serie. Para escribir salidas serie, arrastra y suelta el nodo de salida serie. En cualquiera de los nodos, para configurar el puerto serie, haz clic en el botón de edición de la propiedad "Puerto serie":

Node RED Serial Set Up Edit Port Modal

A continuación, rellena las siguientes propiedades:

  • Serial Port: El devpath del puerto serie (ej: /dev/ttyS0). Esto depende del dispositivo Edge y del puerto serie físico al que te estés conectando (ver artículos para Edge IO o Edge MC). Las rutas disponibles se pueden ver haciendo clic en el botón de búsqueda como se muestra a continuación.

Node RED Serial Setup Add New Port

Nota: Actualmente no hay soporte para la conexión en caliente de dispositivos USB en Node-RED. Esto significa que el dispositivo USB debe estar conectado al arrancar el dispositivo para que Node-RED tenga acceso a él.

  • Configuración: La velocidad en baudios y otros ajustes deben coincidir con la velocidad en baudios del dispositivo serie con el que se está comunicando.

Node RED Serial Setup Settings

  • Entrada: Elija cuándo el nodo emitirá un mensaje. Las opciones incluyen esperar un carácter de división (como un salto de línea, una coma o un espacio), esperar cada n caracteres si la salida es de longitud fija, o puede establecer un tiempo de espera para obtener una salida cada n segundos.

Node RED Serial Setup Input

  • Salida: Añade carácter al mensaje de salida (por ejemplo, vuelve a añadir el salto de línea).

Node RED Serial Setup Output

Puedes ver que estás conectado a un puerto serie válido si, después de desplegar, el estado del nodo es "conectado":

Node RED Serial Setup Connected Status

3. Flujos de la librería Node-RED: Comunicarse con Tulip

Tulip proporciona varios flujos de librería para leer entradas serie y escribir salidas serie en dispositivos Tulip Edge usando Node-RED. Consulte Importar flujos Tulip Node-RED para obtener información sobre cómo importar un flujo de biblioteca Tulip.

Para escribir una salida serie en un dispositivo Tulip Edge desde una aplicación Tulip, puedes utilizar el flujo serial_http_endpoint y configurar un conector HTTP en tu instancia Tulip que se ejecuta en el host del conector del dispositivo Edge. Tendrás que añadir una función de conector a este conector que envíe solicitudes POST al punto final HTTP /serial, y llamar a esa función de conector desde la aplicación. Obtenga más información sobre cómo escribir valores en Node-RED utilizando el Host Conector en Comunicarse con máquinas utilizando el Host Conector de Edge MC y Node-RED.

Node RED Serial Setup Flow1

Para leer la entrada serie en un dispositivo Tulip Edge y enviarla a Tulip, puedes utilizar la API de Tablas (para escribir los datos en una tabla) o la API de Máquina (para escribir los datos en un atributo de máquina). El flujo de biblioteca serial_to_tulip_table es un ejemplo de cómo escribir entradas en serie delimitadas por nuevas líneas en una tabla de Tulip. Tendrás que configurar el nodo serie, y los dos nodos de tablas Tulip, con los ajustes correctos para tu caso de uso. Más información sobre cómo utilizar el nodo Tulip Tables API en Using Node-RED with the Tulip API

Node RED Serial Setup Flow2


¿Te ha sido útil este artículo?