SERVICE

MQTT Engine

MQTT voor het Cams-apparaatpark. De MQTT Engine is een backend-consumer achter EMQX die zich abonneert op gedeelde aanwezigheids- en presence-topics, events naar dezelfde aanwezigheidspipeline leidt als de HTTP- en TCP-transporten en command-envelopes van server naar apparaat publiceert.

Overzicht

Een MQTT-transportengine die aanwezigheidsevents opneemt en apparaatcommando's pusht via een EMQX-broker — gebouwd voor grote gekoppelde apparaatparken.

De MQTT Engine is het MQTT-transport in de Cams-enginefamilie, het tegenstuk van HTTP en permanent TCP. Hij draait als backend-consumer achter een EMQX-broker: hij abonneert zich op de gedeelde aanwezigheids- en presence-topics onder api/mqtt/v1/{sn}/, leidt elk event naar de gedeelde pipeline en publiceert commando's van server naar apparaat op het command-topic als forward-compatible JSON-envelopes. EMQX beëindigt TLS-sessies van apparaten, auth, QoS en last-will; meerdere engine-instanties verdelen de belasting via gedeelde EMQX-abonnementen voor grote apparaatparken.

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

Mogelijkheden

Wat het doet

Opnemen via MQTT

Abonneert zich op de gedeelde eventtopics en leidt elk aanwezigheidsevent naar dezelfde opslag- en pushpipeline als HTTP en TCP.

Aanwezigheid bijhouden

Verwerkt het presence-topic en last-will, zodat door de broker gedetecteerde verbrekingen een apparaat als offline markeren.

Commando's pushen

Publiceert commando's van server naar apparaat uit de wachtrij op het command-topic per apparaat als JSON-envelopes met QoS 1.

Horizontaal schalen

Gedeelde EMQX-abonnementen verdelen aanwezigheid over meerdere engine-instanties voor grote apparaatparken.

Functies

Alles inbegrepen

  • MQTT-transport-front-end voor aanwezigheid, gelijkwaardig aan de HTTP- en native TCP-engines
  • Topicschema api/mqtt/v1/{sn}/{evt|cmd|st} afgestemd op de app en de EMQX-ACL
  • Backend-consumer achter EMQX: gedeelde abonnementen verdelen de belasting over N instanties
  • Neemt aanwezigheidsevents op in de gedeelde pipeline, met een payload die identiek is aan de HTTP-punchbody
  • Presence en last-will via het statustopic, zodat verbrekingen apparaten als offline markeren
  • Commando-push van server naar apparaat als forward-compatible {id, op, data}-JSON-envelope met QoS 1
  • TLS naar de broker met CA-verificatie; de engine gebruikt een backendaccount, geen apparaatserienummer
  • Cross-platform build (Linux en Windows) op Eclipse Paho C++

Bouw met MQTT Engine

Haal een sleutel op, lees de docs en ga live. Ons team helpt u bij uw eerste integratie.

FAQ

Veelgestelde vragen

Hoe verhoudt de MQTT Engine zich tot EMQX?

EMQX blijft de broker die TLS-sessies van apparaten, auth, QoS en last-will beëindigt. De MQTT Engine is een backend-consumer die zich abonneert op gedeelde topics om aanwezigheid op te nemen en commando's naar apparaten publiceert.

Kan ik meerdere MQTT Engine-instanties draaien?

Ja. Gedeelde EMQX-abonnementen verdelen de aanwezigheids- en presence-topics over alle draaiende instanties, dus u schaalt door instanties toe te voegen.

Wat is het commandoformaat van server naar apparaat?

Een JSON-envelope {id, op, data} op het command-topic met QoS 1, waarbij op het enige verplichte veld is en onbekende ops door oudere apparaten worden genegeerd voor forward-compatibiliteit.

Gerelateerd

Ontdek meer van het platform