- Impresión
Cómo: Utilizar Serial con Node-RED
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
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
:
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":
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.
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.
- 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 cadan
segundos.
- Salida: Añade carácter al mensaje de salida (por ejemplo, vuelve a añadir el salto de línea).
Puedes ver que estás conectado a un puerto serie válido si, después de desplegar, el estado del nodo es "conectado":
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.
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