Conectar el Sensor S210X a Microsoft Azure IoT Central a través de Node-RED
SenseCAP S210X es una serie de sensores inalámbricos LoRaWAN®. Puede cubrir un rango de transmisión de 2km en escenas urbanas y 10km en escenas de línea de vista mientras mantiene un menor consumo de energía durante el proceso de transmisión. Junto con una batería reemplazable que soporta hasta 10 años de uso y una carcasa industrial IP66. Soporta temperatura de funcionamiento de -40 ~ 85℃ y puede ser desplegado en entornos hostiles. SenseCAP S210X es compatible con el protocolo LoRaWAN® V1.0.3 y puede trabajar con gateway LoRaWAN®. Los usuarios pueden instalar el dispositivo, vincularlo usando el código QR y configurar la red, luego los datos pueden ser visualizados desde el portal SenseCAP, que soporta protocolos IoT populares como HTTP y MQTT.
En este tutorial, introduciremos cómo conectar los sensores de la serie S210X a Microsoft Azure IoT Central a través de Node-RED.
SenseCAP & Node-RED
Este capítulo, el primero de una serie, te guía a través de la instalación y uso de Node-red y la llamada a la API de SenseCAP para conectar a Node-RED.
Este capítulo es para facilitar a nuestros usuarios la conexión de datos desde la plataforma SenseCAP a varias otras plataformas Paas para un procesamiento de datos más profundo.
Node-RED
Node-RED es una herramienta de programación para conectar dispositivos de hardware, APIs y servicios en línea de maneras nuevas e interesantes. Proporciona un editor basado en navegador que facilita la conexión de flujos usando la amplia gama de nodos en la paleta que pueden ser desplegados a su tiempo de ejecución con un solo clic.
Instalar Node.Js
Para instalar Node-RED localmente necesitarás una versión soportada de Node.js.
Node-RED actualmente recomienda Node 14.x LTS.
Instalando Node-RED con npm
Para instalar Node-RED puedes usar el comando npm que viene con node.js:
sudo npm install -g --unsafe-perm node-red
Si estás usando Windows, no inicies el comando con "sudo".
Este comando instalará Node-RED como un módulo global junto con sus dependencias. Una vez instalado como módulo global, puedes usar este comando para iniciar Node-RED en tu terminal.
node-red
Luego puedes acceder al editor de Node-RED dirigiendo tu navegador a http://localhost:1880.
Obtener la API de SenseCAP
Antes de proceder a esta sección, asegúrate de haber vinculado tu dispositivo S210x en la consola de SenseCAP.
Inicia sesión en la consola de SenseCAP. En la barra desplegable a la derecha del nombre de usuario en la parte superior del panel, podemos encontrar la Información de la Organización, por favor selecciónala para obtener el ID de Organización
Luego, también necesitamos obtener la clave API para SenseCAP. Por favor haz clic en Security -> Access API keys en el lado izquierdo del panel. Luego Crea una Clave de Acceso.
Haz clic en el API ID que creaste y obtendrás sus Access API keys, por favor cópialas junto con el ID de Organización, los usaremos en los pasos posteriores.
Configuración de Node-RED
- Paso 1. Agregar un nuevo nodo mqtt-broker
Arrastra un nodo mqtt in, haz doble clic en él para entrar a la página de configuración, luego haz clic en el botón editar después de Add new mqtt-broker.
La configuración del mqtt-broker debe completarse de la siguiente manera:
Server:openstream.api.sensecap.seeed.cc
Port:1883
Protocol: MQTT V3.1.1
Client ID format:org-"Organization ID" "Random ID"
Organization ID: Obtenido de tu Organization information
Random ID: Usa tus propios números generados aleatoriamente y letras minúsculas.
Ejemplo:org-43243***23-test
Luego completamos el campo de opciones de Security con el Username y Password:
Username: org-"Organization ID"
Organization ID: Tu ID de organización. Lo hemos obtenido antes
Password: Completa con las Access API keys que obtuvimos antes.
Agregar Topic
Topic: Configurar un topic en un formato específico determina el tipo de dispositivo y tipo de datos a recibir.
Formato del Topic: /device_sensor_data/"OrgID"/"DeviceEUI"/"Channel"/"Reserved"/"MeasurementID"
OrgID | Puedes encontrar el id en la información de tu organización |
---|---|
DeviceEUI | Puedes encontrar el EUI en las Propiedades Básicas del Dispositivo o en la etiqueta del dispositivo |
Channel | Una interfaz física en el dispositivo para conectar al sensor, por defecto:1 |
Reserved | Campo reservado |
MeasurementID | measurement_list |
"+" indica que este campo no tiene condiciones de filtro y puede coincidir con todo. "/+/+/+/+" significa escuchar todos los "DeviceEUI", "Channel", "Reserved", "MeasurementID"
Ejemplo:/device_sensor_data/424988****44/2CF7F***0002/+/+/+
Este tema significa recibir todos los datos de detección remota del dispositivo actual.
- Paso 2. Agregar nodo de depuración
Arrastra un nodo debug, conéctalo al nodo mqtt-in, luego haz clic en Deploy
Después de que el despliegue sea exitoso, verás "Connected" bajo el bloque de construcción mqtt in, el intervalo de reporte de datos está determinado por el sensor que conectamos. Después de recibir los datos, la ventana de depuración de la derecha mostrará los datos sin procesar.
SenseCAP & Node-RED & Azure IoT Central
Microsoft Azure IoT Central es una solución SaaS (software como servicio) de IoT global completamente administrada que facilita la conexión, monitoreo y gestión de sus activos de IoT a escala. Es altamente segura, escala con su negocio a medida que crece, asegura que sus inversiones sean repetibles y se integra con sus aplicaciones comerciales existentes. También cierra la brecha entre sus aplicaciones comerciales y los datos de IoT. Finalmente, ofrece gestión centralizada para reconfigurar y actualizar sus dispositivos.
El contenido de este capítulo continuará usando el Node-RED introducido anteriormente y facilitará la gestión del conjunto de sensores S210X en Microsoft Azure IoT Central mediante el uso de Node-RED.
Configuración de Microsoft Azure IoT Central
- Paso 1. Iniciar sesión en Azure IoT Central.
Por favor visita el sitio web de Azure IoT Central, haz clic en Build desde el menú de navegación de la izquierda, y haz clic en Custom apps.
- Paso 2. Completa el Application name y elige el Pricing plan. La URL de la aplicación se creará automáticamente cuando completes el nombre de la aplicación.
Nota: Si eres un nuevo usuario de Azure IoT Central, recomendamos que selecciones Free ya que esto no consumirá tus tarifas.
- Paso 3. Haz clic en Create para crear la nueva aplicación. ¡Ahora has configurado exitosamente Azure IoT Central!
- Paso 4. Crear una Plantilla de Dispositivo
Por favor crea una nueva plantilla de dispositivo haciendo clic en Device templates en la barra de menú de la izquierda.
Nombra tu plantilla de dispositivo y haz clic en create
- Paso 5. Crear un Dispositivo
Haz clic en Devices -> S2103 bajo la barra de menú de la izquierda.
Una vez que hayas creado el dispositivo, verás el dispositivo que acabamos de crear bajo Device, por favor toca el dispositivo y haz clic en el botón Connect en la esquina superior izquierda.
Por favor toma nota de esta información, que usaremos en los siguientes pasos.
Configuración de Node-RED
- Paso 1. Instalar Paletas de Azure IoT
Haz clic en la barra de menú superior derecha y selecciona Settings
Busca e instala "node-red-contrib-azure-iot-central" en Paletts - Install
- Paso 2. Configurar el nodo de Azure IoT Central
Arrastra el nodo Azure IoT Central desde la barra function de la izquierda, haz doble clic en él para entrar a la página de configuración, luego haz clic en el botón de edición para editar el nodo Azure IoT Central
La configuración debe completarse de la siguiente manera:
Transport: MQTT
Authentication: SAS
Scope ID/Device ID/Primary Key: Los hemos obtenido anteriormente
- Paso 3. Configurar el nodo de función
El reporte de datos a Azure IoT Central necesita seguir un formato de datos específico, por lo que es necesario agregar un bloque de construcción de función para procesar el formato de datos.
Arrastra el nodo function desde la barra de función de la izquierda, haz doble clic en él para entrar a la página de edición, luego copia el código a On Message.
Código:
{
var payload = msg.payload;
var topic = msg.topic;
var strs = topic.split("/");
var length = strs.length
if (length >= 2) {
var measurementId = strs[length - 1]
var body = {}
var value = payload.value
if (measurementId == 4097) {
body.AirTemperature = value
} else if (measurementId == 4098) {
body.AirHumidity = value
} else if (measurementId == 4100) {
body.CO2 = value
}
msg.payload = body;
}
return msg;
}
Si deseas ver la información de registro de los datos, puedes agregar un nodo de depuración después del nodo de función.
Una vez que el Sensor S210X comience a encenderse y funcionar y comience a enviar datos al servidor SenseCAP PaaS, entonces podemos verificar los datos en Azure IoT Central.
Presentación de Datos
Los datos visibles en la columna Datos sin procesar se colocan en Datos sin modelar, por lo que necesitamos analizar los datos según el código anterior.
Agrega la capacidad que necesites, luego haz clic en guardar y publicar
Entonces podemos verificar claramente los datos sin procesar cargados por el sensor.
Si deseas enriquecer tu página de panel de datos, también puedes configurarla para que se muestre en Resumen.
Haz clic en Resumen en el menú de navegación izquierdo.
Colapsa el menú desplegable comienza con dispositivos y selecciona la telemetría que deseas visualizar.
Haz clic en Agregar mosaico y verás el mosaico agregado al Panel de Azure IoT Central.
¡Así que a continuación, personaliza tu panel de monitoreo de datos del sensor a tu gusto!
Después de terminar tus cambios, simplemente haz clic en guardar y publicar
¡Ahora puedes ver los datos de tu sensor a través de tu panel personalizado!