Quiero comunicar varios datos de sensores en una red de sensores.
Encontré MQTT y MQTT-SN como protocolos adecuados para eso. Este último es más adecuado para redes de sensores con soporte para dispositivos durmientes, comunicación predefinida, alternativas a TCP, etc. ( https://stackoverflow.com/a/29083422 )
Sin embargo, ambos son independientes de la carga útil. El mensaje enviado puede ser de formato y contenido arbitrario. ¿Existe un formato común específico para datos de sensores con un tamaño reducido?
Me gustaría comunicar un valor de medición de una unidad y dimensionalidad específicas. Tal vez con una tolerancia especificada/error esperado. Podría crear un formato personalizado y simplemente meterlo en la carga útil, pero no quiero reinventar la rueda y más bien usar formatos existentes, si es que existen. Eso también aseguraría la compatibilidad con otras redes que usan este formato.
encontré
una propuesta experimental para una extensión de XMPP que admite cosas como Unit
o Timestamp
. Sin embargo, la sobrecarga del formato basado en XML lo hace indeseable para mi aplicación.
<message from='device@example.org'
to='client@example.org/amr'>
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='1' done='true'>
<node nodeId='Device01'>
<timestamp value='2013-03-07T16:24:30'>
<numeric name='Temperature' momentary='true' automaticReadout='true' value='23.4' unit='°C'/>
</timestamp>
</node>
</fields>
</message>
Home Assistant , que especifica un formato que también tiene unit_of_measurement
y value_template
. Pero se trata más de extraer datos de mensajes MQTT arbitrarios en un formato de la plataforma en lugar de especificar un formato para el mensaje MQTT en sí. De hecho, la gente escribe extensiones para usar JSON en el mensaje MQTT.
¿Simplemente no existe un formato de mensaje ligero estándar (o al menos común) para los datos del sensor?
Los tipos de medios para el lenguaje de marcado de sensores (SENML) pueden ser de su interés.
Capítulo 6.1.1. te da un ejemplo:
{"e":[{ "n": "urna:desarrollo:ow:10e2073a01080063", "v":23.5 }]}
cruz