Conectando SenseCAP a Grafana a través de Node-RED
SenseCAP K1100 - El Kit de Prototipo de Sensores representa a Seeed Studio concentrando la esencia de la comunicación LoRa® en tecnología y productos de inteligencia de borde, para el despliegue y dominio más fácil de aplicaciones LoRa® e IoT.

Actualizable a Sensores Industriales
Con el controlador S2110 de SenseCAP y el registrador de datos S2100, puedes convertir fácilmente el Grove en un sensor LoRaWAN®. Seeed no solo te ayuda con el prototipado, sino que también te ofrece la posibilidad de expandir tu proyecto con la serie SenseCAP de sensores industriales robustos.
La carcasa IP66, configuración Bluetooth, compatibilidad con la red global LoRaWAN®, batería integrada de 19 Ah y el potente soporte de la APP hacen del SenseCAP S210x la mejor opción para aplicaciones industriales. La serie incluye sensores para humedad del suelo, temperatura y humedad del aire, intensidad de luz, CO2, EC, y una estación meteorológica 8 en 1. Prueba el último SenseCAP S210x para tu próximo proyecto industrial exitoso.
Grafana
Grafana es una solución de código abierto para ejecutar análisis de datos, obteniendo métricas que dan sentido a la cantidad masiva de datos y para monitorear nuestras aplicaciones con la ayuda de paneles personalizables geniales. Grafana se conecta con todas las fuentes de datos posibles, comúnmente referidas como bases de datos tales como Graphite, Prometheus, Influx DB, ElasticSearch, MySQL, PostgreSQL, etc. Grafana, siendo una solución de código abierto, también nos permite escribir plugins desde cero para la integración con varias fuentes de datos diferentes. La herramienta nos ayuda a estudiar, analizar y monitorear datos durante un período de tiempo, técnicamente llamado análisis de series temporales.
Nos ayuda a rastrear el comportamiento del usuario, el comportamiento de la aplicación, la frecuencia de errores que aparecen en producción o un entorno de pre-producción, el tipo de errores que aparecen y los escenarios contextuales proporcionando datos relativos.
El contenido de este capítulo continuará usando el Node-RED introducido anteriormente y usará Grafana para visualizar datos de su instancia InfluxDB 2.4.
Antes de hacerlo, por favor prepare lo siguiente.
-
Si no ha instalado o no sabe qué es Node-RED, por favor consulte Tutoriales de Node-RED y SenseCAP.
-
Comience desplegando SenseCAP a InfluxDB's Node RED, cuyos detalles se pueden encontrar en el wiki Conectar SenseCAP a InfluxDB vía Node-RED.
Crear Nodo MQTT
Paso 1. Iniciar Node-RED
Inicie Node-RED escribiendo el comando node-red
en la terminal y abra un navegador e ingrese la dirección http://localhost:1880 en la barra de direcciones para acceder al editor de Node-RED.
Paso 2. Crear Nodo MQTT
Usamos el nodo Network -> mqtt in y configuramos mqtt en el formato de la API de SenseCAP como se solicita en el tutorial anterior.
-
Server: openstream.api.sensecap.seeed.cc
-
Port: 1883
-
Protocol: MQTT V3.1.1
-
Client ID: El formato es
org-<Organization ID>-<Random ID>
<Orgnization ID>
Su ID de organización. Lo hemos obtenido en Obtener la API de SenseCAP.<Random ID>
usa sus propios números generados aleatoriamente o letras minúsculas.
-
Topic Format:
/device_sensor_data/<OrgID>/<DeviceEUI>/<Channel>/<Reserved>/<MeasurementID>
OrgID | Su ID de organización. Lo hemos obtenido en Obtener la API de SenseCAP. |
DevEUI | Identificación única de dispositivos sensores. Esta información se puede encontrar en la etiqueta en la parte posterior del Grove - Wio E5, así como en el dispositivo de la consola SenseCAP. |
Channel | Una interfaz física en el dispositivo al cual está conectado el sensor. Para el kit K1100, el valor predeterminado aquí es 1. |
Reserved | Campos Reservados. |
MeasurementID | ID del valor medido. Este ID se puede encontrar en la sección Measurement IDs de la documentación de SenseCAP |
Paso 3. Validar nodos MQTT
Una vez configurado, haga clic en el botón Deploy en la esquina superior derecha para verificar si la configuración fue exitosa. Si está completado correctamente, entonces se mostrará la palabra Connected.

Iniciar InfluxDB OSS
Puede consultar el tutorial detallado proporcionado por InfuxDB para completar la instalación e implementación de InfluxDB, que es compatible con diferentes sistemas. Lo siguiente guiará la instalación usando un sistema Windows 11 como ejemplo.
Paso 1. Descargar InfluxDB v2.4
Haga clic aquí para descargar el archivo zip de InfluxDB v2.4.
Extraiga el archivo descargado en C:\Program Files\InfluxData\
y renombre los archivos si lo desea.
Paso 2. Iniciar InfluxDB
En Powershell, navegue a C:\Program Files\InfluxData\influxdb
e inicie InfluxDB ejecutando el daemon influxd:
cd -Path 'C:\Program Files\InfluxData\influxdb'
.\influxd
Usa Powershell o WSL para ejecutar los comandos influx e influxd. Los ejemplos de línea de comandos en esta documentación usan influx e influxd como si estuvieran instalados en el PATH
del sistema. Si estos binarios no están instalados en tu PATH
, reemplaza influx e influxd en los ejemplos proporcionados con .\influx
y .\influxd
respectivamente.
Por defecto, InfluxDB usa el puerto TCP 8086
para la comunicación cliente-servidor a través de la API HTTP de InfluxDB.

Configurar InfluxDB
Paso 1. Registrar una cuenta de InfluxDB
Continúa con los pasos anteriores y registra una cuenta en la página que se abre.

Por favor, toma nota del Nombre de la Organización que estableces aquí, lo usaremos más tarde en la configuración de Node RED.
Paso 2. Obtener URL
Por defecto, InfluxDB usa el puerto TCP 8086
para la comunicación cliente-servidor a través de la API HTTP de InfluxDB.
http://localhost:8086/
Para esta sección, la URL de InfluxDB es la siguiente, por favor anótala, la usaremos más tarde en la configuración de Node RED.
Paso 3. Obtener Token de API
Ve a la página de Tokens de API como se muestra a continuación, crea una nueva interfaz de API para Node RED y anota el Token.


Configurar Node-RED
Paso 1. Descargar Paletas de InfluxDB
Haz clic en la barra de menú superior derecha y selecciona Configuración.

Busca e instala node-red-contrib-influxdb en Paletas -> Instalar.

Añade influx.batch desde la barra de almacenamiento de la izquierda, haz doble clic en él para entrar a la página de configuración, luego haz clic en el botón editar para editar el nodo influx.batch.

Paso 2. Editar el nodo influx.batch:
- Versión: 2.0.
- URL: http://localhost:8086/
- TOKEN: El que generaste en la sección Obtener Token de API.
Cuando hayas terminado, haz clic en el botón Añadir en la esquina superior derecha para volver a la página de propiedades del influx batch, en este punto por favor completa tu Nombre de Organización y nombre de Bucket.

Paso 3. Configurar el nodo de función
El reporte de datos a InfluxDB necesita seguir un formato de datos específico, por lo que es necesario añadir un nodo de función para procesar el formato de datos.

Arrastra el nodo de función desde la barra de funciones 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.

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 == 4100) {
body.co2 = value
measurement = "co2"
} else if (measurementId == 4103) {
body.soilmoisture = value
measurement = "soilmoisture"
} else if (measurementId == 4150) {
body.accelX = value
measurement = "accelX"
} else if (measurementId == 4151) {
body.accelY = value
measurement = "accelY"
} else if (measurementId == 4152) {
body.accelZ = value
measurement = "accelZ"
} else if (measurementId == 4192) {
body.soundintensity = value
measurement = "soundintensity"
} else if (measurementId == 4193) {
body.lightIntensity = value
measurement = "lightIntensity"
} else if (measurementId == 4195) {
body.tvoc = value
measurement = "tvoc"
} else if (measurementId == 4097) {
body.airtemperature = value
measurement = "airtemperature"
} else if (measurementId == 4098) {
body.airhumidity = value
measurement = "airhumidity"
} else if (measurementId == 4175) {
body.AIdetection_1 = value
measurement = "AIdetection_1"
} else if (measurementId == 4176) {
body.AIdetection_2 = value
measurement = "AIdetection_2"
} else if (measurementId == 4177) {
body.AIdetection_3 = value
measurement = "AIdetection_3"
} else if (measurementId == 4178) {
body.AIdetection_4 = value
measurement = "AIdetection_4"
} else if (measurementId == 4179) {
body.AIdetection_5 = value
measurement = "AIdetection_5"
} else if (measurementId == 4180) {
body.AIdetection_6 = value
measurement = "AIdetection_6"
} else if (measurementId == 4181) {
body.AIdetection_7 = value
measurement = "AIdetection_7"
} else if (measurementId == 4182) {
body.AIdetection_8 = value
measurement = "AIdetection_8"
} else if (measurementId == 4183) {
body.AIdetection_9 = value
measurement = "AIdetection_9"
} else if (measurementId == 4184) {
body.AIdetection_10 = value
measurement = "AIdetection_10"
}
msg.payload = [{
measurement: measurement,
fields: body,
tags: {
device: "SenseCAP K1100"
},
timestamp: new Date()
}];
}
return msg;
Luego conectamos todos los nodos y hacemos clic en el botón Deploy y si todo está configurado correctamente podrás ver el nodo mqtt in mostrando conectado.
Si quieres ver la información de registro de los datos, puedes añadir un nodo debug después del nodo function.

Una vez que el Wio Terminal comience a encenderse y funcionar y comience a enviar datos al servidor SenseCAP PaaS, entonces podemos verificar los datos en el registro de depuración de Node-RED.

Configurar Grafana
Paso 1. Instalar Grafana
Grafana se puede instalar en muchos sistemas operativos diferentes. Para una lista de los requisitos mínimos de hardware y software, así como instrucciones sobre la instalación de Grafana, consulta Instalar Grafana.
Tomando Windows 11 como ejemplo, descarga el paquete de instalación desde el sitio web de Grafana y haz doble clic para abrirlo para la instalación.

Paso 2. Iniciar sesión en Grafana
Abre tu navegador web y ve a http://localhost:3000/
. El puerto HTTP predeterminado que Grafana escucha es 3000
a menos que hayas configurado un puerto diferente.
En la página de inicio de sesión, ingresa admin
para el nombre de usuario y contraseña.
Haz clic en Sign in. Si es exitoso, verás una solicitud para cambiar la contraseña.

Paso 3. Añadir Fuente de Datos
En la página principal, hacemos clic en el ícono de engranaje en la parte inferior izquierda y luego hacemos clic en Add data source.

Selecciona InfluxDB de la lista de fuentes de datos disponibles.

Paso 3. Configurar la Fuente de Datos InfluxDB
En la página de configuración de la Fuente de Datos, ingresa un nombre para tu fuente de datos InfluxDB.
Luego, elige o ingresa lo siguiente:
- Query Language: Flux
- Bajo HTTP, haz lo siguiente:
- Bajo Auth, haz lo siguiente:
- Cierra Basic auth.
- Bajo InfluxDB Details, haz lo siguiente:
- Organization: ID de organización. El ID de organización se puede ver en la página About de InfuxDB.
- Token: Tu token de API de InfluxDB.
- Default Bucket: El bucket predeterminado a usar en las consultas Flux.

Haz clic en Save & Test. Grafana intenta conectarse a la fuente de datos InfluxDB 2.4 y devuelve los resultados de la prueba. Si todo va bien, verás el siguiente mensaje de salida.

Consultar y visualizar datos
Con tu conexión de InfluxDB configurada, usa Grafana y Flux para consultar y visualizar datos de series temporales almacenados en tu instancia de InfluxDB.
Para más información sobre el uso de Grafana, consulta la documentación de Grafana. Si estás aprendiendo Flux, consulta Comenzar con Flux.
¡También te invitamos a enviarnos tus paneles de datos, y esperamos con interés tu trabajo!
Soporte Técnico y Discusión de Productos
¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.