Mensajes en Node-RED

Trabajar con mensajes: https://nodered.org/docs/user-guide/messages

Un flujo Node-RED funciona pasando mensajes entre nodos. Los mensajes son simples objetos de JavaScript que pueden tener cualquier conjunto de propiedades.

Los mensajes generalmente tienen una propiedad payload: esta es la propiedad predeterminada con la que trabajarán la mayoría de los nodos.

Node-RED también agrega una propiedad llamada _msgid: este es un identificador para el mensaje que puede usarse para rastrear su progreso a través de un flujo.

El valor de una propiedad puede ser cualquier tipo de JavaScript válido, como:

  • Boolean – true, false
  • Number – eg 0, 123.4
  • String – “hello”
  • Array – [1,2,3,4]
  • Object – { “a”: 1, “b”: 2}
  • Null

Entender la Estructura del Mensaje

La forma más fácil de comprender la estructura de un mensaje es pasarlo a un nodo de debug y verlo en la barra lateral de depuración.

De forma predeterminada, el nodo debug mostrará la propiedad msg.payload, pero se puede configurar para mostrar cualquier propiedad o el mensaje completo.

JSON, (JavaScript Object Notation), es una forma estándar de representar un objeto JavaScript como una cadena. Es comúnmente utilizado por las API web para devolver datos. Si una propiedad de mensaje contiene una cadena JSON, primero debe analizarse en su objeto JavaScript equivalente antes de poder acceder a las propiedades que contiene.

Node-RED proporciona un nodo JSON para hacer esta conversión.

Contexto

Trabajar con el contexto: https://nodered.org/docs/user-guide/context

Node-RED proporciona una forma de almacenar información que se puede compartir entre diferentes nodos sin usar los mensajes que pasan a través de un flujo. Esto se llama “contexto”.

El “scope” de un valor de contexto particular determina con quién se comparte. Hay tres niveles de alcance de contexto:

  • Nodo: solo visible para el nodo que establece el valor
  • Flujo: visible para todos los nodos en el mismo flujo (o pestaña en el editor)
  • Global: visible para todos los nodos

Si un valor solo necesita ser accedido por un solo nodo, como un nodo Función, entonces el contexto de Nodo es suficiente.

Por defecto, el contexto se almacena solo en la memoria. Esto significa que su contenido se borra cada vez que Node-RED se reinicia. Es posible configurar Node-RED para guardar datos de contexto para que esté disponible en todos los reinicios.

La forma más fácil de establecer un valor en contexto es usar el nodo Cambiar. Por ejemplo, la siguiente regla de cambio de nodo almacenará el valor de msg.payload en el contexto de flujo bajo la clave de myData.

Varios nodos pueden acceder al contexto directamente. Por ejemplo, el nodo Inject puede configurarse para inyectar un valor de contexto y el nodo Switch puede enrutar mensajes en función de un valor almacenado en contexto.

2 pensamientos en “Mensajes en Node-RED

  1. Pingback: Saber más Curso Raspberry Pi y Node-RED | Aprendiendo Arduino

  2. Pingback: Saber Más Fundamentos IoT CEFIRE | Aprendiendo Arduino

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .