СЕРВІС

MQTT Engine

MQTT для парку пристроїв Cams. MQTT Engine — це бекенд-споживач за EMQX, що підписується на спільні топіки відвідуваності та присутності, спрямовує події в той самий конвеєр відвідуваності, що й транспорти HTTP і TCP, та публікує конверти команд «сервер — пристрій».

Огляд

Транспортний рушій MQTT, що приймає події відвідуваності й надсилає команди пристроям через брокер EMQX — створений для великих підключених парків.

MQTT Engine — це транспорт MQTT у родині рушіїв Cams, відповідник HTTP і постійного TCP. Він працює як бекенд-споживач за брокером EMQX: підписується на спільні топіки відвідуваності та присутності під api/mqtt/v1/{sn}/, спрямовує кожну подію у спільний конвеєр і публікує команди «сервер — пристрій» у топіку команд як JSON-конверти, сумісні з майбутніми версіями. EMQX завершує TLS-сеанси пристроїв, автентифікацію, QoS і last-will; кілька екземплярів рушія балансують навантаження через спільні підписки EMQX для великих парків.

СЕРВІСMQTTEMQXTLSJSONC++
Схема топіків MQTT (EMQX)
# device -> server (attendance)
api/mqtt/v1/{sn}/evt   { "user_id":"1001", "att_time":"...", "att_state":1 }
# device -> server (presence / LWT)
api/mqtt/v1/{sn}/st    { "online": true }
# server -> device (command)
api/mqtt/v1/{sn}/cmd   { "id":"c1", "op":"sync_user", "data":{} }

Можливості

Що він робить

Приймання через MQTT

Підписується на спільні топіки подій і спрямовує кожну подію відвідуваності в той самий конвеєр зберігання й передавання, що й HTTP та TCP.

Відстеження присутності

Споживає топік присутності та last-will, тож розриви, виявлені брокером, позначають пристрій як офлайн.

Надсилання команд

Публікує команди «сервер — пристрій» із черги в топіку команд кожного пристрою як JSON-конверти з QoS 1.

Горизонтальне масштабування

Спільні підписки EMQX балансують навантаження відвідуваності між кількома екземплярами рушія для великих парків пристроїв.

Можливості

Усе включено

  • Транспортний фронтенд MQTT для відвідуваності, рівноправний із рушіями HTTP і рідним TCP
  • Схема топіків api/mqtt/v1/{sn}/{evt|cmd|st}, узгоджена із застосунком і ACL EMQX
  • Бекенд-споживач за EMQX: спільні підписки балансують навантаження між N екземплярами
  • Приймає події відвідуваності, ідентичні за вмістом тілу відмітки HTTP, у спільний конвеєр
  • Присутність і last-will через топік статусу, тож розриви позначають пристрої як офлайн
  • Надсилання команд «сервер — пристрій» як сумісного з майбутніми версіями JSON-конверта {id, op, data} із QoS 1
  • TLS до брокера з перевіркою CA; рушій використовує бекенд-акаунт, а не серійний номер пристрою
  • Кросплатформна збірка (Linux і Windows) на Eclipse Paho C++

Створюйте з MQTT Engine

Візьміть ключ, прочитайте документацію й запускайте. Наша команда допоможе з першою інтеграцією.

Поширені запитання

Поширені запитання

Як MQTT Engine пов’язаний з EMQX?

EMQX залишається брокером, що завершує TLS-сеанси пристроїв, автентифікацію, QoS і last-will. MQTT Engine — це бекенд-споживач, що підписується на спільні топіки для приймання відвідуваності та публікує команди для пристроїв.

Чи можна запустити кілька екземплярів MQTT Engine?

Так. Спільні підписки EMQX балансують навантаження топіків відвідуваності та присутності між усіма запущеними екземплярами, тож ви масштабуєтеся, додаючи екземпляри.

Який формат команд «сервер — пристрій»?

JSON-конверт {id, op, data} у топіку команд із QoS 1, де op — єдине обов’язкове поле, а невідомі op ігноруються старішими пристроями для сумісності з майбутніми версіями.

Повʼязане

Дізнайтеся більше про платформу