SERVICIU

MQTT Engine

MQTT pentru flota de dispozitive Cams. MQTT Engine este un consumator de backend aflat în spatele EMQX, care se abonează la topicurile partajate de prezență și stare, direcționează evenimentele în același pipeline de prezență ca transporturile HTTP și TCP și publică plicuri de comenzi de la server către dispozitive.

Prezentare generală

Un motor de transport MQTT care preia evenimentele de prezență și trimite comenzi către dispozitive printr-un broker EMQX — creat pentru flote mari de dispozitive conectate.

MQTT Engine este transportul MQTT din familia de motoare Cams, omologul HTTP și TCP persistent. Rulează ca un consumator de backend în spatele unui broker EMQX: se abonează la topicurile partajate de prezență și stare de sub api/mqtt/v1/{sn}/, direcționează fiecare eveniment în pipeline-ul comun și publică comenzi de la server către dispozitive pe topicul de comenzi, sub formă de plicuri JSON compatibile în viitor. EMQX preia sesiunile TLS ale dispozitivelor, autentificarea, QoS și last-will; mai multe instanțe ale motorului își distribuie sarcina prin abonamentele partajate EMQX pentru flote mari.

SERVICIUMQTTEMQXTLSJSONC++
Schema topicurilor 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":{} }

Capabilități

Ce face

Ingestie prin MQTT

Se abonează la topicurile partajate de evenimente și direcționează fiecare eveniment de prezență în același pipeline de stocare și transmitere ca HTTP și TCP.

Urmărirea prezenței dispozitivelor

Consumă topicul de stare și last-will, astfel încât deconectările detectate de broker marchează un dispozitiv ca offline.

Trimiterea comenzilor

Publică comenzile aflate în coadă, de la server către dispozitiv, pe topicul de comenzi al fiecărui dispozitiv, ca plicuri JSON la QoS 1.

Scalare orizontală

Abonamentele partajate EMQX distribuie prezența între mai multe instanțe ale motorului, pentru flote mari de dispozitive.

Funcționalități

Tot ce este inclus

  • Front-end de transport MQTT pentru prezență, la același nivel cu motoarele HTTP și TCP native
  • Schema de topicuri api/mqtt/v1/{sn}/{evt|cmd|st}, aliniată cu aplicația și cu ACL-ul EMQX
  • Consumator de backend în spatele EMQX: abonamentele partajate distribuie sarcina între N instanțe
  • Preia în pipeline-ul comun evenimente de prezență cu un payload identic cu corpul pontajului HTTP
  • Prezență și last-will prin topicul de stare, astfel încât deconectările să marcheze dispozitivele ca offline
  • Trimiterea comenzilor de la server către dispozitiv ca plic JSON {id, op, data}, compatibil în viitor, la QoS 1
  • TLS către broker cu verificarea CA; motorul folosește un cont de backend, nu un număr de serie de dispozitiv
  • Build multiplatformă (Linux și Windows) pe Eclipse Paho C++

Construiți cu MQTT Engine

Luați o cheie, citiți documentația și lansați. Echipa noastră vă ajută cu prima integrare.

Întrebări frecvente

Întrebări frecvente

Cum se leagă MQTT Engine de EMQX?

EMQX rămâne brokerul care preia sesiunile TLS ale dispozitivelor, autentificarea, QoS și last-will. MQTT Engine este un consumator de backend care se abonează la topicurile partajate pentru a prelua prezența și publică comenzi către dispozitive.

Pot rula mai multe instanțe MQTT Engine?

Da. Abonamentele partajate EMQX distribuie topicurile de prezență și stare între toate instanțele aflate în funcțiune, deci scalați adăugând instanțe.

Care este formatul comenzilor de la server către dispozitiv?

Un plic JSON {id, op, data} pe topicul de comenzi la QoS 1, în care op este singurul câmp obligatoriu, iar operațiile necunoscute sunt ignorate de dispozitivele mai vechi, pentru compatibilitate în viitor.

Conexe

Explorați mai mult din platformă