İçeriğe geç

MQTT

MQTT, bir WebSocket isteğinde mqtt protokolü seçildiğinde kullanılabilir.

Bir MQTT sekmesi: konu, QoS, Sakla seçeneği, bağlantıda abonelik, istemci tanımlayıcısı, keepalive, son vasiyet (LWT) ve yayınlanan yük

AlanRolü
URLAracının adresi (mqtt://, mqtts:// ya da WebSocket)
KonuOlay alanında taşınan konu
MesajYayınlanan yük
QoS0, 1 ya da 2 — hem yayında hem de abonelikte kullanılır
Sakla (retain)Mesajı aracı tarafından saklanacak şekilde işaretler
İstemci tanımlayıcısıHandlebars ile çözümlenir; boş bırakılırsa otomatik üretilir
Kullanıcı / ParolaAracının kimlik bilgileri; parola Gizli türünde bir değer kabul eder
KeepaliveSaniye cinsinden
Konuya abone olVarsayılan olarak etkin: bağlantı kurulduğunda Restorm isteğin konusuna abone olur

Konu {{variables}} kabul eder — capteurs/{{site}}/{{capteurId}} tamamen geçerli bir konudur.

Dört alan, istemciniz aniden ortadan kaybolduğunda aracının yayınlayacağı mesajı tanımlar: vasiyetin konusu, yükü, QoS değeri ve saklanma durumu.

Sisteminizin kirli bir bağlantı kesilmesi karşısındaki davranışını sınamak için tam olarak gereken şey budur: bir son vasiyet tanımlayın, bağlantıyı koparın ve abonenin tepki verdiğini doğrulayın.

MQTT istemcisi otomatik olarak yeniden bağlanır; üst sınır on denemedir.

MQTT bağlantısı (isteğin konusuna abone olur ve alınan her mesaj için bir olay yayar), MQTT yayını (isteğin QoS ve saklama ayarlarıyla yayın yapar) ve MQTT bağlantısını kapat. Bkz. Bağlantılar ve akışlar.

Restorm yerel bir MQTT aracısı barındırabilir: port başına bir aracı, ham TCP üzerinden ve bir MQTT-üzerinden-WebSocket ağ geçidiyle erişilebilir. Bkz. WebSocket, Socket.IO ve MQTT’yi simüle etme.

Kanalları mqtt protokolünü kullanan bir AsyncAPI belgesi doğrudan MQTT istekleri üretir (kanal başına bir tane, yayın ve abonelik için), mesaj şemasından oluşturulmuş örnek yüklerle birlikte. Bkz. AsyncAPI belgesini içe aktarma.