Envío de mensajes de Tulip a Node-RED
  • 20 Feb 2024
  • 3 Minutos para leer
  • Colaboradores

Envío de mensajes de Tulip a Node-RED


Article Summary

Para enviar mensajes desde Tulip (por ejemplo, desde activadores o automatizaciones dentro de la aplicación), se puede utilizar un conector. Esto se hace más fácilmente con el Connector Host instalado en todos los Tulip Edge Devices.

Con dispositivos Tulip Edge

El siguiente flujo se utilizará para enviar un mensaje desde un Tulip Trigger a Node-RED que se ejecuta en un Tulip Edge Device:

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

Una vez completado, utiliza el Conector recién creado en cualquier Tulip App o Automatización para enviar mensajes a Node-RED, como comandos de dispositivo o entradas de flujo.

En Tulip: Configuración de tu Connector y Connector Host

Nota: Si no estás familiarizado con Connector Hosts y Connector Function en Tulip, consulta este artículo.

  1. Crea un nuevo Conector desde la página de Conectores en tu Instancia de Tulip.
  2. En el modal que aparece, rellena la información tal y como se especifica a continuación:

Nombre: Elige un nombre para tu Host ConectorDescripción: Elige un nombre para tu Connector HostConnector Type: Selecciona HTTP

  1. Haga clic en "Guardar".
  2. Para especificar los detalles del Host Conector, haga clic en el botón de producción & pruebas & desarrollo de la izquierda. En el modal que aparece, introduzca la siguiente información:

Ejecutando en: Seleccione el Host del Conector del Dispositivo Edge de destinoNota: Si no se puede encontrar el Host del Conector del Dispositivo Edge, navegue hasta el portal del Dispositivo Edge y asegúrese de que se ha habilitado "Host del Conector". Host: Introduzca localhost Puerto: Introduzca 1880 (este es el puerto en el que se ejecuta Node-RED) TLS: Introduzca No No es necesario añadir cabeceras o certificados.

  1. Haga clic en Probar y compruebe que la conexión es correcta. Finalmente, haz click en Guardar.

Este Conector es ahora capaz de comunicarse con Node-RED en el Edge Device de destino.


En Node-RED: Configuración del Nodo HTTP IN

Nota: Esta sección asume familiaridad con Node-RED.

Para recibir el mensaje del Host Conector en el dispositivo, se utilizará un nodo HTTP IN.

  1. Haga clic y arrastre para añadir un nodo HTTP IN desde la Paleta a la izquierda del Editor Node-RED al flujo:

image.png

Introduzca la siguiente información:
Método POST URL: cualquier ruta definida por el usuario, como /nodeRED o /myMachine/0013. Se reutilizará en Node-RED, por lo que debe ser fácil de reconocer y recordar. El ejemplo siguiente muestra la URL configurada como /test:
image.png

  1. Haga clic en "Hecho" para guardar los cambios.

Las peticiones HTTP fallarán sin que se devuelva una respuesta al servidor (en este caso, Tulip).

  1. Arrastre un nodo de Respuesta HTTP.
    1. Conecte el nodo HTTP Request al nodo HTTP Response. 3. Haga doble clic en el nodo HTTP Response. 3. Haga doble clic en el nodo HTTP Response e introduzca 200 como código de estado. Haga clic en Listo.

image.png

:::(Info) (Respuestas HTTP y Feedback Avanzado) Modifica el Código de Estado y/o utiliza el botón +add en el nodo HTTP Response para modificar o añadir a la respuesta del Conector. Estos datos (la mayoría de las veces, salidas del sistema o del dispositivo generadas por el Flujo) aparecerán en la Respuesta del Conector. Configura las salidas del conector con la guía aquí:

  1. Finalmente, arrastra un nodo Debug desde la Paleta. Configure este nodo para dar salida al**"Objeto de Mensaje Completo** usando el desplegable msg.:image.png

Este flujo Node-RED recibirá ahora un mensaje de Tulip y lo mostrará en el registro de depuración de Node-RED.

Un flujo completado puede aparecer como se muestra a continuación:image.png

Haz clic en Deploy en la parte superior derecha para confirmar todos los cambios.

En Tulip: Configurar y probar la función de conector

Una vez completada la configuración del Flujo Node-RED, vuelve al Conector en Tulip.

    1. Crea una nueva Connector Function.
    1. Cambia la Connector Function de GET a POST.
    1. Introduce la ruta configurada en Node-RED (en este ejemplo, /test) en la URL.
  1. (opcional) para añadir contenido al Conector (como un mensaje o comando), añade un Input al conector.
  2. (opcional) Añade el Input al Request Body cambiando primero el Content Type a JSON, y luego añadiendo un item a root.

La siguiente captura de pantalla muestra un conector configurado para el endpoint /test especificado anteriormente e incluye una entrada llamada testValue:image.png

Haz clic en "Ejecutar" para probar la función del conector. Se producirán dos indicadores de éxito

  1. La Connector Function recibirá una respuesta 200 OK, que contendrá (si procede):
  2. Cualquier entrada configurada en el Conector 2. 2. Cualquier salida adicional configurada en el nodo HTTP Response de Node-RED. El Debug Log en Node-RED mostrará el mensaje del Conector. *Nota: Dependiendo de la versión actual de Node-RED, el cuerpo de la petición del Conector puede encontrarse en:*a. msg.payload, o b. msg.req.body

Ambos estados de éxito pueden encontrarse a continuación:

Connector Success***:***image.png

Node-RED Success***:***image.png


¿Te ha sido útil este artículo?