MQTT API

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Номер канала
typeID типа параметра (см. «Типы приборов и параметров»)
valЗначение
errКод ошибки канала (0 — без ошибки)

Базовый формат (без префикса R)

<unix_ts> <dtype> <sernum> <zone_id> [<ch>:<type>:<val>:<err> …]
ПолеОписание
unix_tsВремя измерения (Unix, секунды). Можно передать один символ (0) — тогда берётся время сервера
dtypeТип прибора (ID шаблона)
sernumЗаводской / серийный номер
zone_idID зоны контроля

Пример:

1735689600 25 753903045 905 1:1:23.5:0 2:2:45.0:0

Расширенные форматы R2 / R3 / R4

Если сообщение начинается с R и цифры версии, перед базовыми полями идут дополнительные:

ПрефиксДополнительные поля (после Rx )
R2lat lon — широта и долгота (float)
R3lat lon sig bat — координаты, уровень сигнала, батарея
R4lat 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 шлюз обязан:

  1. SUBSCRIBE <PID>/<SERIAL>/# (QoS = 1);
  2. опубликовать retained info в <PID>/<SERIAL>/ (QoS = 1, retain = true);
  3. продолжать телеметрию в 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>/# и актуальный retained BLOCKSIZE.

Просмотров: 212
Сохранено: 08.04.2026







Выбор
...
OK Отмена

Пожалуйста подождите.

Хорошая погода, не так ли?
Тут нужно что-то ввести


Продолжить Отменить

Ура, всё отлично!


Ошибка

0.027684926986694