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

Материал из EWiki
Перейти к навигации Перейти к поиску

Фиксированный заголовок (2 байта)

Биты:

0-2 - версия

3-5 - формат данных (00 - binary, 01 - json)

6-9 - тип данных

ID Тип Реализация
0 null
1 bool byte
2 float64
3 int8
4 uint8
5 int16
6 uint16
7 int32
8 uint32
9 int64
10 uint64
11 string utf-8
12 blob binary


10 - массив (не поддерживается для типов данных null и string)

11-12 - тип метрики (00 - счетчик (только растет), 01 - замер (может увеличиваться и уменьшаться))

13 - наличие метки времени

14-15 - резерв

используется little endian

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"}