Introducción
A veces, mientras trabajas con datos con tu PLC industrial Raspberry, te das cuenta de que algunos nodos de Node-RED, como los nodos MQTT, envÃan la información o necesitan obtener los datos en un formato de número, no sólo el número como una cadena.
Pero, ¿cómo se puede analizar un valor de cadena a un formato numérico sin tanto problema utilizando Node-RED? En esta entrada del blog, aprenderás cómo hacerlo.
Últimos posts
Node-RED
Si has llegado a esta entrada del blog, no necesitarás saber qué es y para qué sirve Node-RED, ni cómo instalarlo. Si no es asÃ, visita Node-RED's website >>> para más información
Cómo convertir una cadena en un número
Los valores de cadena a convertir pueden provenir de múltiples lugares: exec, inject, MQTT en nodos, etc. provenientes de sensores, de entradas o salidas del PLC industrial Raspberry Pi, o de otras entradas o salidas de algún otro Arduino, ESP32, o controlador PLC Raspberry Pi usando Modbus...
Lo que vamos a hacer ahora, es enviar una cadena desde un inject node con formato String, convertirla en un número, y obtenerla desde un debug node.
Por lo tanto, sólo necesitarás tres nodos:
Inject node
Inyecta un mensaje en un flujo, ya sea manualmente o a intervalos regulares.
Change node
Establezca, cambie, elimine o mueva las propiedades de un mensaje, un contexto de flujo o un contexto global.Â
Debug node
Muestra las propiedades de los mensajes seleccionados en la pestaña de la barra lateral de debug y, opcionalmente, el registro de tiempo de ejecución.
Estos son los pasos a seguir para convertir una cadena en un número con Node-RED:
1. En primer lugar, añade un inject node con una cadena msg.payload que pueda convertirse en un número, por ejemplo, 123456.Â
2. A continuación, añade un change node y establezca el msg.payload como JSONata Expression > Seleccione la referencia de la función: Número. > Haz clic en Insertar > Cambia el (arg) por payload como: $number(payload) > Haz clic en Done.Â
3. Por último, añade dos debug nodes. Uno justo después del inject node, y el otro después de change node. Con esto, podremos ver ambos valores analizados.
Ahora, haz clic en el botón del inject node y ¡Voilà ! ¡Sus valores serán convertidos de cadena a número!
Tutorial de Node-RED: De 'string' a número con Raspberry Pi PLC