Tovább a tartalomhoz

MQTT

Az MQTT úgy érhető el, hogy egy WebSocket kérésen az mqtt protokollt kell kiválasztani.

MQTT-lap: a topic, a QoS, a Retain beállítás, a feliratkozás csatlakozáskor, a Client ID, a keepalive, az utolsó akarat (LWT) és a közzétett hasznos teher

MezőSzerepe
URLA bróker címe (mqtt://, mqtts:// vagy WebSocket)
TopicA téma (topic), amelyet az Esemény mező hordoz
ÜzenetA közzétett hasznos teher
QoS0, 1 vagy 2 — a közzétételnél és a feliratkozásnál is érvényes
RetainA brókeren megtartottként jelöli meg az üzenetet
Client IDHandlebars oldja fel; ha üresen marad, automatikusan generálódik
Felhasználó / JelszóA bróker hitelesítő adatai; a jelszó elfogad Titok típusú értéket
KeepaliveMásodpercben
Feliratkozás a topicraAlapértelmezés szerint bekapcsolva: csatlakozáskor a Restorm feliratkozik a kérés topicjára

A topic elfogad {{variables}} hivatkozásokat — a capteurs/{{site}}/{{capteurId}} teljesen érvényes topic.

Négy mező határozza meg azt az üzenetet, amelyet a bróker közzétesz, ha a kliens váratlanul eltűnik: az utolsó akarat topicja, hasznos terhe, QoS-a és megtartása.

Pontosan erre van szükség ahhoz, hogy a rendszer viselkedése egy csúnya kapcsolatvesztés esetén tesztelhető legyen: be kell állítani egy utolsó akaratot, meg kell szakítani a kapcsolatot, majd ellenőrizni, hogy a feliratkozó reagál-e.

Az MQTT-kliens automatikusan újrakapcsolódik, legfeljebb tíz kísérlet erejéig.

MQTT-kapcsolat (feliratkozik a kérés topicjára, és minden beérkezett üzenetről eseményt bocsát ki), MQTT-közzététel (közzétesz, a kérés QoS-ával és megtartásával), valamint MQTT-kapcsolat bezárása. Lásd: Kapcsolatok és folyamok.

A Restorm helyi MQTT-brókert is képes üzemeltetni: portonként egy brókert, amely nyers TCP-n és egy MQTT-WebSocket átjárón keresztül is elérhető. Lásd: WebSocket, Socket.IO és MQTT szimulálása.

Az olyan AsyncAPI-dokumentum, amelynek csatornái az mqtt protokollt használják, közvetlenül MQTT-kéréseket állít elő (csatornánként egyet, közzétételi és feliratkozási módban), az üzenetsémából felépített példa hasznos terhekkel. Lásd: AsyncAPI importálása.