Формат данных для MQTT: различия между версиями
Перейти к навигации
Перейти к поиску
Нет описания правки |
Нет описания правки |
||
| Строка 88: | Строка 88: | ||
"t":"2025-03-28T05:29:11.481Z", // время | "t":"2025-03-28T05:29:11.481Z", // время | ||
"v": 42.13, // значение | "v": 42.13, // значение | ||
"m": 2 // тип метрики | "m": 2 // тип метрики (опционально) | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Текущая версия от 08:09, 28 марта 2025
Фиксированный заголовок (1 байта)
[править | править код]Биты:
0-2 - версия
3-5 - формат данных (0 - binary, 1 - json)
6-7 - резерв
Binary формат
[править | править код]Заголовок бинарного формата (1 байт)
[править | править код]0-3 - тип данных
| 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 |
4 - массив (не поддерживается для типов данных null и string)
5-6 - тип метрики (0 - не определено, 1 - счетчик (только растет), 2 - замер (может увеличиваться и уменьшаться))
7 - наличие метки времени
Метка времени - опционально (8 байт)
[править | править код]В наносекундах
Полезная нагрузка
[править | править код]Используется little endian.
JSON формат
[править | править код]{
"t":"2025-03-28T05:29:11.481Z", // время
"v": 42.13, // значение
"m": 2 // тип метрики (опционально)
}