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.
Pingback: Saber más Curso Raspberry Pi y Node-RED | Aprendiendo Arduino
Pingback: Saber Más Fundamentos IoT CEFIRE | Aprendiendo Arduino