Формат данных для MQTT
Формат Payload
Бинарный формат (например, struct)
Формат: Фиксированная структура байтов.
- 2 байта - битовый описатель.
0-2 версия
3-5 - формат данных (00 - binary, 01 - json) для данного пакета 00
6 бит - наличие времени
7-10 бит – int/float/string
(null/bool(byte)/float64/(u)int8/(u)int16/(u)int32/(u)int64/string(utf-8)/blob ) LE
11 - array true/false (нельзя null, string)
счетчик. замер
- Пример: 8 байт на время ms (uint64) - может отсутсвовать
- Переменная часть для значения (данные).
JSON формат
- 2 байта - битовый описатель (01 - json)
- данные Формат: {"t":<время>, "v":<значение>, "d":<описатель>}
Пример: {"t":"2025-03-28T05:29:24.413Z", "v":50.5, }
Для сложного значения: {"t":1617234567890, "v":[10,20,30], "d":"disk_iops"}