MQTT (
MQ Telemetry Transport) je jednoduchý "
Internet of Things" komunikační protokol. Je založen na předávání zpráv mezi klienty prostřednictvím centrálního serveru –
brokeru.
Klienti mohou být typu
Publisher - zasílají na určenou
topic (adresu, téma) svou zprávu.
Publisher může být například snímač, čidlo nebo měřící jednotka.
Opakem je
Subscriber, který se k odběru hodnot z
topic adresy přihlásí a pak hodnoty odebírá (přijímá) a dále s nimi pracuje nebo je zobrazuje.
Klient může být
Publisher i
Subscriber současně.
Díky tomu, že klienti komunikují jen se zprostředkovatelem (se serverem -
brokerem), nemusí klienti znát topologii sítě, ani nepotřebují vědět navzájem o svojí existenci – stačí jim pouze informace o tom, jak se spojit s
brokerem.
V přihlašovací sekvenci se využívá identifikace každého klienta pomocí
"ClientID" a pak volitelně i pomocí uživatelského jména
"Username" a hesla
"Password". Ale podpora
SSL/TSL není prozatím v systému PROMOTIC implementována.
Protokol
MQTT definuje tři úrovně potvrzení zpráv
QoS (
Quality of Service)
QoS 0 - zpráva je odeslána bez potvrzení a není zaručeno její doručení (at-most-once).
QoS 1 - zpráva je doručena alespoň jednou (at least once).
QoS 2 - každá zpráva je doručena jen jednou (exactly once).
Klient typu
Publisher může zasílat data také s příznakem
Retained (0/1 = nebudou/budou na brokeru data zachována) a s příznakem
DUP (0/1 = žádné/další opakování zaslané zprávy)
Podle požadované úrovně šifrování komunikace, protokol
MQTT předepisuje následující 3 síťové porty:
1883 - (podporováno) nešifrovaný přenos (unencrypted)
8883 - (nepodporováno) šifrovaný přenos (encrypted) SSL/TLS
8884 - (nepodporováno) šifrovaný přenos (encrypted) + certifikát klienta (client certificate) SSL/TLS + klient musí poskytnout i certifikát o autenticitě vydávaný brokerem
Viz:
Wikipedia: Seznam čísel portů TCP a UDP používaných protokoly pro provoz síťových aplikací.
Omezení: Systém PROMOTIC prozatím nepodporuje šifrovaný přenos (podporuje pouze port
1883).
Odkazy a návody
Komunikace aplikace PROMOTIC s MQTT brokerem
Přihlášený klient je typu
Publisher a
Subscriber. Klient
Subscriber se přihlásí k odběru na brokeru na definované
topic adrese. Klient
Publisher na tuto adresu odesílá své data, které klient
Subscriber přijímá.
Pro čtení těchto údajů je vhodné použít předkonfiguraci: