Sparkplug B es una especificación de protocolo ligera y eficiente diseñada para mejorar las comunicaciones MQTT en aplicaciones industriales de IoT. Define un formato estructurado para la transmisión de datos, asegurando una mensajería consistente entre dispositivos, gateways y plataformas. Al estandarizar la forma en que se codifican los datos, Sparkplug B simplifica la integración con plataformas como Ubidots.
Sparkplug reduce el consumo de ancho de banda al transmitir solo los cambios de datos relevantes, mejorando el rendimiento de los dispositivos que operan en entornos remotos o con limitaciones de ancho de banda. Sus capacidades de gestión de estado garantizan la integridad de los datos, minimizando el riesgo de información incompleta o desactualizada.
Consciente de la necesidad de proporcionar soporte para esta especificación, Ubidots ha incorporado Sparkplug en su broker MQTT.
Aprenda cómo reenviar fácilmente los datos de sus dispositivos habilitados para Sparkplug a Ubidots.
1. ¿Cómo enviar datos a Ubidots usando Sparkplug B?
Para enviar datos desde sus dispositivos compatibles con Sparkplug B a Ubidots, siga estos pasos:
1.1. Configure su dispositivo
Asegúrese de que su dispositivo esté configurado para publicar datos utilizando el protocolo Sparkplug B. La estructura del tema debe seguir este formato:
spBv1.0/<group_id>/<message_type>/<edge_node_id>/<device_id>
Donde:
group_id
: Identifica el grupo de dispositivos.message_type
: Indica el tipo de mensaje (por ejemplo,NBIRTH
,DBIRTH
,NDATA
,DDEATH
).edge_node_id
: Identifica el gateway o nodo que envía los datos.device_id
: El ID único del dispositivo, que se convertirá en la Etiqueta del Dispositivo en Ubidots.
1.2. Autenticación
La autenticación de Sparkplug es la misma que en MQTT estándar, donde solo necesita su token de Ubidots como nombre de usuario. La contraseña puede dejarse vacía.
1.3. Visualización de datos en Ubidots
Una vez que sus datos lleguen a Ubidots, se mapearán automáticamente de la siguiente manera:
Cada dispositivo Sparkplug B aparecerá en Ubidots como un dispositivo con una etiqueta que coincide con su
<device_id>
.Las variables numéricas definidas como
temp
yhumidity
(o cualquier otra) estarán disponibles como variables independientes dentro del dispositivo.La variable
sparkplug_data
contendrá puntos de datos no numéricos,group_id
yedge_node_id
.
Por ejemplo, con este tema (que sigue la especificación de Sparkplug):
spBv1.0/myGroup/DDATA/myNode/myDevice
Su dispositivo (y sus variables) se verán así en Ubidots:
Notas:
|