Zum Inhalt springen

MQTT

MQTT ist verfügbar, indem Sie bei einer WebSocket-Anfrage das Protokoll mqtt wählen.

Ein MQTT-Tab: das Sujet, die QoS, die Option „Beibehalten“, das Abonnement bei Verbindung, die Client-ID, der Keepalive, das Testament (LWT) und die veröffentlichte Payload

FeldRolle
URLDie Adresse des Brokers (mqtt://, mqtts:// oder WebSocket)
SujetDas Sujet, getragen vom Feld Ereignis
MessageDie veröffentlichte Payload
QoS0, 1 oder 2 – verwendet sowohl bei der Veröffentlichung als auch beim Abonnement
Beibehalten (retain)Markiert die Nachricht als vom Broker aufbewahrt
Client-IDÜber Handlebars aufgelöst; automatisch generiert, wenn leer gelassen
Benutzer / PasswortAnmeldedaten des Brokers; das Passwort akzeptiert einen Wert vom Typ Secret
KeepaliveIn Sekunden
Sujet abonnierenStandardmäßig aktiviert: Bei der Verbindung abonniert Restorm das Sujet der Anfrage

Das Sujet akzeptiert {{variables}}capteurs/{{site}}/{{capteurId}} ist ein vollkommen gültiges Sujet.

Vier Felder deklarieren die Nachricht, die der Broker veröffentlicht, wenn Ihr Client plötzlich verschwindet: Sujet, Payload, QoS und Retention des Testaments.

Das ist genau das Richtige, um das Verhalten Ihres Systems bei einer unsauberen Trennung zu testen: konfigurieren Sie ein Testament, kappen Sie die Verbindung, und prüfen Sie, ob der Abonnent reagiert.

Der MQTT-Client verbindet sich automatisch neu, mit einer Obergrenze von zehn Versuchen.

MQTT-Verbindung (die das Sujet der Anfrage abonniert und pro empfangener Nachricht ein Ereignis auslöst), MQTT-Veröffentlichung (veröffentlicht, mit der QoS und der Retention der Anfrage) und MQTT-Verbindung schließen. Siehe Verbindungen und Streams.

Restorm kann einen lokalen MQTT-Broker hosten: ein Broker pro Port, erreichbar über rohes TCP und über ein MQTT-über-WebSocket-Gateway. Siehe WebSocket, Socket.IO und MQTT simulieren.

Ein AsyncAPI-Dokument, dessen Kanäle das Protokoll mqtt verwenden, erzeugt direkt MQTT-Anfragen (eine pro Kanal, jeweils als Veröffentlichung und als Abonnement), mit Beispiel-Payloads, die aus dem Nachrichtenschema erstellt werden. Siehe AsyncAPI importieren.