Формат данных для MQTT

Материал из EWiki
Версия от 07:26, 28 марта 2025; 192.168.99.249 (обсуждение) (Новая страница: « === Формат 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)int1...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Формат 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"}