Tutorial: Parsear datos MQTT de Eelink con Node.js

Guía práctica para ingenieros IoT y de datos: un script Node.js que se conecta a MQTT, detecta JSON, Base64 y TLV Hex, y normaliza payloads en un esquema único para analítica, por Q2BSTUDIO.

9 sept 2025 • 4 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Introducción para ingenieros IoT, ingenieros de datos y cualquier persona que quiera transformar uplinks crudos de dispositivos en JSON listo para analítica. En este tutorial aprenderá a crear un script en Node.js que se suscribe a mensajes MQTT, detecta automáticamente codificaciones comunes de payload como JSON, Base64 y un ejemplo de Hex TLV, y las normaliza en un único esquema para almacenamiento, alertas o streaming. Este contenido ha sido preparado por Q2BSTUDIO, empresa de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad y servicios cloud aws y azure.

Requisitos y configuración previa: Node.js 18 instalado. Un broker MQTT accesible localmente o en la nube. Instalar dependencias con los comandos npm init -y y npm install mqtt dotenv yargs. Crear un archivo .env con variables como MQTT_URL=mqtts://broker.example.com:8883 MQTT_USERNAME=tu-usuario MQTT_PASSWORD=tu-password MQTT_TOPIC=devices/+/up El topic devices/+/up suscribe a todos los dispositivos usando el comodín de un nivel. Ajuste según su esquema de topics.

Ejemplos de topics y payloads: Ejemplo de payload JSON típico con campos deviceId ELK-123456 ts 2025-09-08T06:01:22Z gnss con lat 22.543096 lon 114.057865 speedKph 48.3 heading 180 batteryPct 87 status con valores IGN_ON y MOVING. Ejemplo de payload Hex TLV de demostración donde cada campo sigue Tag 1 byte Len 1 byte Value N bytes con contenidos como 01 07 454C4B2D313233343536 para deviceId ASCII ELK-123456, 02 04 66A29C16 para timestamp epoch uint32 big endian, 03 04 0135E0F0 para lat en i32 dividido entre 1e6, 04 04 044DA4A1 para lon i32 /1e6, 05 02 01E5 para velocidad en 0.1 kph y 06 01 57 para nivel de batería en porcentaje. Reemplace el ejemplo TLV por la especificación oficial de su dispositivo en producción.

Estrategia de parseo y normalización: El script detecta el formato entrante y convierte a un esquema consistente. Detecciones principales: JSON cuando el payload comienza con llave izquierda o corchete izquierdo. Base64 cuando una cadena decodificada desde base64 produce JSON válido o un TLV válido. Hex TLV cuando la carga es una cadena hex pura de longitud par y los tags coinciden con su mapeo. Si no se detecta ninguno de estos formatos se guarda el contenido en un campo _raw para auditoría. El objeto normalizado incluye campos como sourceTopic rawFormat deviceId ts lat lon speedKph heading batteryPct statusFlags con subcampos ignOn moving tamper y opcionalmente _raw.

Resumen del script: el script en Node.js usa los paquetes mqtt dotenv y yargs. Se conecta al broker, se suscribe al topic configurado y para cada mensaje aplica la lógica de detección y decodificación. Las entradas se validan y se limpian antes de serializarse como una línea JSON por mensaje. Opcionalmente se guardan en un fichero NDJSON para ingestión por pipelines. Recomendaciones de implementación: no use validación de certificados deshabilitada en producción. Para alto rendimiento, evite escrituras síncronas en el handler de mensajes y prefiera colas o batch writes. Para evitar duplicados en una base de datos deduplique por deviceId y ts.

Comandos de ejemplo para ejecutar: node parse-eelink-mqtt.js --save out.ndjson o pasando opciones completas por línea de comandos como node parse-eelink-mqtt.js --broker mqtts://broker.example.com:8883 --username alice --password secret --topic devices/+/up --save out.ndjson --insecure Use la opción insecure solo en pruebas.

Salida de ejemplo y uso: por cada mensaje el script emite una línea JSON normalizada que puede consumirse directamente por motores de analítica, brokers o bases de datos. Un registro típico contiene sourceTopic devices/ELK-123456/up rawFormat json deviceId ELK-123456 ts en formato ISO lat lon speedKph heading batteryPct y statusFlags con ignOn y moving cuando proceda. Para payloads TLV el rawFormat será hex|tlv y los campos numéricos se convertirán a unidades legibles como kph o grados.

Limitaciones y siguientes pasos: reemplace el decodificador TLV de ejemplo con la especificación oficial de sus dispositivos. Aumente el rendimiento usando colas, batch writes y mecanismos asíncronos. Implemente métricas y trazas para detectar errores de decodificación. Considere integrar las salidas normalizadas con soluciones de inteligencia de negocio y dashboards como Power BI para visualizar rutas, telemetría y alertas en tiempo real.

Sobre Q2BSTUDIO: somos una empresa de desarrollo de software a medida y aplicaciones a medida especializada en soluciones a medida para empresas. Ofrecemos servicios de inteligencia artificial y ia para empresas, agentes IA, ciberseguridad y pentesting, y servicios cloud aws y azure. Si necesita una solución de software a medida para integrar ingestión y normalización de datos IoT o construir pipelines de analítica, podemos ayudarle con desarrollo, seguridad y despliegue en la nube. Conozca nuestras capacidades en desarrollo de aplicaciones y software a medida en servicios de software a medida y descubra nuestras propuestas de inteligencia artificial en soluciones de inteligencia artificial para empresas.

Palabras clave incorporadas naturalmente para SEO: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Contacte con Q2BSTUDIO para diseñar e implementar una solución completa que lleve sus uplinks IoT desde el dispositivo hasta sus cuadros de mando y sistemas de negocio.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat