Red de conocimientos turísticos - Conocimientos sobre calendario chino - Utilice Node-RED para procesar datos MQTT

Utilice Node-RED para procesar datos MQTT

Este artículo presentará el proceso operativo completo de usar Node-RED para conectarse al servidor MQTT, filtrar y procesar los datos MQTT y luego enviarlos al servidor MQTT. Los lectores pueden aprender rápidamente cómo utilizar Node-RED para el procesamiento de flujo simple de datos MQTT.

Node-RED se puede instalar y utilizar rápidamente ya sea en su computadora local, en un dispositivo como Raspberry Pi o en un servidor en la nube. A continuación se utilizarán dos métodos de instalación comunes:

Utilice npm para la instalación global:

Utilice Docker para la instalación:

Si está utilizando npm para la instalación global, luego de indicarle que la instalación se realizó correctamente, solo necesita ejecutar el comando node-red globalmente para iniciar Node-RED inmediatamente.

Ya sea que usemos Docker o npm, después de un inicio exitoso, solo necesitamos abrir el navegador, ingresar la dirección actual más el número de puerto 1880 para abrir la página del editor del navegador Node-RED, por ejemplo, ejecutarlo localmente. Si es así, abra el navegador e ingrese http://127.0.0.1:1880. Cuando vea la página que se muestra a continuación, significa que Node-RED se inició correctamente:

Este artículo utilizará el. Dominio público gratuito proporcionado por EMQ *** Servidor MQTT, este servicio se crea en base a la plataforma en la nube MQTT IoT - EMQX Cloud. La información de acceso al servidor es la siguiente:

En la siguiente demostración funcional, nosotros. proporcionará una función que utiliza Node-RED para manejar la recepción. Se reciben datos JSON que contienen información de temperatura y humedad, y luego el valor de temperatura se juzga mediante reglas. Cuando la temperatura cambia, el valor de temperatura actualmente modificado se envía nuevamente a través de MQTT. Un caso de uso sencillo.

Primero arrastramos un nodo MQTT a la página en la barra de menú de la izquierda. Después de hacer doble clic en el nodo, aparece una página de configuración para editar nodos MQTT a la derecha. Seguimos las instrucciones del contenido para crear un. nueva conexión Después de completar la información, complete otra información de conexión MQTT y haga clic en el botón Listo para guardar la información del nodo.

Datos de acceso: Arrastramos un nodo JSON a la página. Podemos configurar una Acción en la página de configuración del nodo JSON. Lo configuramos para Convertir siempre a objeto JavasScript porque no podemos determinar qué se está enviando. Los datos están en formato JSON o una cadena JSON, por lo que el primer paso es realizar una conversión JSON en el mensaje recibido. Una vez completada la configuración, conectamos el nodo con el MQTT en node.

Filtrado de datos

Después de haber configurado y formateado los datos del mensaje enviado, podemos arrastrar un nodo de filtro a la página, y también hacer doble clic en el nodo para configurarlo en la configuración. Reglas de página, primero seleccionamos un Modo, lo configuramos en blcok a menos que el valor cambie, la regla de filtrado requiere que el valor de los datos recibidos actualmente cambie, debido a que los datos actuales están en formato JSON, lo que juzgamos es un cierto valor en el Datos JSON, por lo que debemos establecer el valor aquí en msg.payload.temperature en Propiedad. Una vez completada la configuración, hacemos clic en el botón Listo para guardar la configuración del nodo de filtrado de datos y finalmente conectamos el nodo al JSON. nodo después de la configuración en el paso anterior.

Usar plantillas

Después de filtrar los datos, arrastre un nodo de plantilla a la página, haga doble clic en el nodo y configure el contenido de la plantilla para que los datos filtrados se puedan filtrar a través de la plantilla. Se emiten datos. Por supuesto, también puede generar directamente los datos filtrados sin este paso.

Después de completar el procesamiento y filtrado de datos anterior, finalmente usaremos MQTT para enviar los datos procesados, arrastraremos un nodo de salida MQTT a la página, completaremos los nodos de entrada y MQTT con la misma información de conexión. configure un tema para que los usuarios reciban datos. Una vez completado el guardado final, conéctelo al nodo de plantilla y haga clic en el botón Implementar en la esquina superior derecha para implementar la aplicación de reglas actual en línea.

Después de completar la orquestación funcional de todo el procesamiento de datos de flujo, utilizamos la herramienta cliente MQTT 5.0 - MQTT X para probar y verificar la usabilidad de esta función. Creamos una nueva conexión, nos conectamos a la dirección del servicio en la nube MQTT que acabamos de configurar en Node-RED y luego ingresamos el MQTT en Tema en el nodo para enviar un mensaje para que Node-RED pueda recibir los datos MQTT que enviamos.

Luego nos suscribimos a un tema configurado en el nodo de salida MQTT en MQTT X para recibir datos de mensajes procesados. Después de enviar un mensaje que contiene temperatura y humedad, podemos recibir un mensaje enviado de acuerdo con la plantilla de mensaje que configuramos, pero no podremos recibirlo si lo enviamos nuevamente.

Debido a que el valor de temperatura no ha cambiado en este momento, cuando volvamos a modificar el valor de temperatura, encontraremos que hemos recibido otro mensaje que contiene un recordatorio de que el valor de temperatura ha cambiado.

En este punto, hemos completado todo el proceso de instalación y uso de Node-RED para conectarnos al servicio en la nube MQTT, filtrar y procesar los datos de los mensajes MQTT y finalmente enviar los mensajes de datos procesados ​​al servidor MQTT. .

La interacción y el uso de Node-RED, es decir, el uso de la interfaz de usuario para describir la lógica empresarial general, puede reducir el umbral para que los desarrolladores no profesionales comiencen y utilizar una herramienta visual para crear rápidamente lo necesario. Tareas de ejecución complejas. El nodo simple, es decir, la conexión de nodo, se puede utilizar para crear tareas complejas, especialmente para algunos escenarios de aplicaciones de Internet de las cosas, lo cual es muy útil.