SERVICE

MQTT Engine

MQTT für die Cams Geräteflotte. Die MQTT Engine ist ein Backend-Consumer hinter EMQX, der gemeinsame Anwesenheits- und Präsenz-Topics abonniert, Ereignisse in dieselbe Anwesenheits-Pipeline wie die HTTP- und TCP-Transporte einspeist und Befehlsumschläge vom Server zum Gerät veröffentlicht.

Überblick

Eine MQTT-Transport-Engine, die Anwesenheitsereignisse aufnimmt und Gerätebefehle über einen EMQX-Broker sendet – gebaut für große vernetzte Geräteflotten.

Die MQTT Engine ist der MQTT-Transport in der Cams Engine-Familie, das Gegenstück zu HTTP und persistentem TCP. Sie läuft als Backend-Consumer hinter einem EMQX-Broker: Sie abonniert die gemeinsamen Anwesenheits- und Präsenz-Topics unter api/mqtt/v1/{sn}/, speist jedes Ereignis in die gemeinsame Pipeline ein und veröffentlicht Befehle vom Server zum Gerät auf dem Command-Topic als vorwärtskompatible JSON-Umschläge. EMQX terminiert TLS-Sitzungen der Geräte, Authentifizierung, QoS und Last-Will; mehrere Engine-Instanzen verteilen die Last bei großen Geräteflotten über EMQX Shared Subscriptions.

SERVICEMQTTEMQXTLSJSONC++
MQTT-Topic-Schema (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":{} }

Funktionen

Was er kann

Aufnahme über MQTT

Abonniert die gemeinsamen Ereignis-Topics und speist jedes Anwesenheitsereignis in dieselbe Speicher- und Push-Pipeline wie bei HTTP und TCP ein.

Präsenz verfolgen

Verarbeitet das Präsenz-Topic und Last-Will, sodass vom Broker erkannte Verbindungsabbrüche ein Gerät als offline markieren.

Befehle senden

Veröffentlicht eingereihte Befehle vom Server zum Gerät auf dem Command-Topic des jeweiligen Geräts als JSON-Umschläge mit QoS 1.

Horizontale Skalierung

EMQX Shared Subscriptions verteilen die Anwesenheit für große Geräteflotten auf mehrere Engine-Instanzen.

Merkmale

Alles inklusive

  • MQTT-Transport-Frontend für Anwesenheit, gleichrangig mit den HTTP- und nativen TCP-Engines
  • Topic-Schema api/mqtt/v1/{sn}/{evt|cmd|st}, abgestimmt auf die App und die EMQX-ACL
  • Backend-Consumer hinter EMQX: Shared Subscriptions verteilen die Last auf N Instanzen
  • Nimmt Anwesenheitsereignisse, deren Payload dem HTTP-Punch-Body entspricht, in die gemeinsame Pipeline auf
  • Präsenz und Last-Will über das Status-Topic, sodass Verbindungsabbrüche Geräte als offline markieren
  • Befehls-Push vom Server zum Gerät als vorwärtskompatibler JSON-Umschlag {id, op, data} mit QoS 1
  • TLS zum Broker mit CA-Verifizierung; die Engine nutzt ein Backend-Konto, keine Geräte-Seriennummer
  • Plattformübergreifender Build (Linux und Windows) auf Eclipse Paho C++

Mit der MQTT Engine entwickeln

Schlüssel holen, Dokumentation lesen und live gehen. Unser Team unterstützt Sie bei Ihrer ersten Integration.

FAQ

Häufige Fragen

In welchem Verhältnis steht die MQTT Engine zu EMQX?

EMQX bleibt der Broker, der TLS-Sitzungen der Geräte, Authentifizierung, QoS und Last-Will terminiert. Die MQTT Engine ist ein Backend-Consumer, der gemeinsame Topics abonniert, um Anwesenheit aufzunehmen, und Befehle an Geräte veröffentlicht.

Kann ich mehrere MQTT-Engine-Instanzen betreiben?

Ja. EMQX Shared Subscriptions verteilen die Anwesenheits- und Präsenz-Topics auf alle laufenden Instanzen, sodass Sie durch Hinzufügen von Instanzen skalieren.

Wie sieht das Befehlsformat vom Server zum Gerät aus?

Ein JSON-Umschlag {id, op, data} auf dem Command-Topic mit QoS 1, wobei op das einzige Pflichtfeld ist und unbekannte Operationen von älteren Geräten aus Gründen der Vorwärtskompatibilität ignoriert werden.

Verwandt

Mehr von der Plattform entdecken