MQTT API
Версия: 2.0
Назначение
Основной канал внесения текущих измерительных данных с приборов и шлюзов в облако. Дополнительно — реестр прибора и обновление прошивки (OTA).
Учётные данные выдаются на уровне объекта мониторинга в веб-кабинете (диалог «Подключение объекта», QR-код).
Подключение
| Параметр | Значение |
|---|---|
| Протокол | MQTT поверх TLS (MQTTS) |
| Хост | relsibcloud.com |
| Порт | 8883 |
| Логин | mqtt_login объекта |
| Пароль | mqtt_passw объекта |
| ClientId | Уникальный на устройство (например gateway_<serial>) |
| Keep Alive | Рекомендуется 30–120 с |
Строка подключения в кабинете и QR:
relsibcloud.com:8883:<mqtt_login>:<mqtt_passw>
Клиент обязан проверять TLS-сертификат сервера (*.relsibcloud.com).
Топик телеметрии
data/<mqtt_login>
Шлюз публикует сообщения в этот топик. Retain для телеметрии не рекомендуется.
Формат payload
Тело сообщения — одна текстовая строка UTF-8, поля через пробел. Каналы измерений:
<ch>:<type>:<val>:<err>
| Поле | Описание |
|---|---|
ch | Номер канала |
type | ID типа параметра (см. «Типы приборов и параметров») |
val | Значение |
err | Код ошибки канала (0 — без ошибки) |
Базовый формат (без префикса R)
<unix_ts> <dtype> <sernum> <zone_id> [<ch>:<type>:<val>:<err> …]
| Поле | Описание |
|---|---|
unix_ts | Время измерения (Unix, секунды). Можно передать один символ (0) — тогда берётся время сервера |
dtype | Тип прибора (ID шаблона) |
sernum | Заводской / серийный номер |
zone_id | ID зоны контроля |
Пример:
1735689600 25 753903045 905 1:1:23.5:0 2:2:45.0:0
Расширенные форматы R2 / R3 / R4
Если сообщение начинается с R и цифры версии, перед базовыми полями идут дополнительные:
| Префикс | Дополнительные поля (после Rx ) |
|---|---|
R2 | lat lon — широта и долгота (float) |
R3 | lat lon sig bat — координаты, уровень сигнала, батарея |
R4 | lat lon factor course speed sig bat — координаты ×10⁷ (целые), фактор, курс, скорость, сигнал, батарея |
Далее — те же unix_ts dtype sernum zone_id и каналы.
Пример R4:
R4 0 0 0 0 0 -52 99 1735689600 25 753903045 905 1:1:23.5:0 2:2:45.0:0
QoS
- Телеметрия: QoS 0 или 1.
- Retain на
data/<mqtt_login>не рекомендуется.
Реестр прибора и OTA
Дополнение к телеметрии. Формат и топик data/<mqtt_login> не меняются.
| Топик | Кто пишет | Назначение |
|---|---|---|
<PID>/<SERIAL>/ | шлюз (retained) | Info: VERSION, BLOCKSIZE (+ HW, BUILD) |
<PID>/<SERIAL>/1/<ADDR>/ | оба | Блоки настроек |
<PID>/<SERIAL>/2/<ADDR>/ | оба | Блоки мониторинга |
<PID>/<SERIAL>/3/<ADDR>/ | облако → шлюз | Блоки OTA, QoS = 1 |
После CONNECT шлюз обязан:
SUBSCRIBE <PID>/<SERIAL>/#(QoS = 1);- опубликовать retained info в
<PID>/<SERIAL>/(QoS = 1, retain = true); - продолжать телеметрию в
data/<mqtt_login>.
Пример info:
VERSION=1.4.0 BLOCKSIZE=1024 HW=A1 BUILD=20260821
Диагностика
- Нет данных в кабинете: логин/пароль объекта, топик
data/<mqtt_login>, привязка прибора к зоне. - TLS: порт
8883, проверка сертификата. - Частые разрывы: уникальный ClientId, стабильный канал, корректный Keep Alive, без дублей ClientId.
- OTA не доходит: подписка
<PID>/<SERIAL>/#и актуальный retainedBLOCKSIZE.
Просмотров: 212
Сохранено: 08.04.2026