MQTT (Message Queuing Telemetry Transport) je jednoduchý protokol pro výměnu zpráv mezi zařízeními. Často se používá v aplikacích internetu věcí.
Protokol MQTT je určen pro velké sítě s malým datovým provozem a je navržen tak, aby minimalizoval objemy dat.
Přenos dat pomocí MQTT
Přenos dat pomocí MQTT probíhá prostřednictvím protokolu TCP. Může být šifrován pomocí SSL. Používá se model přenosu dat "vydavatel-odběratel". To znamená, že zprávy jsou vyměňovány pomocí jednoho centrálního uzlu (zprostředkovatele MQTT).
Nejprve klient (zařízení nebo uzel) naváže spojení se zprostředkovatelem MQTT prostřednictvím protokolu TCP. Nejčastěji se používá port 1883 nebo 8883 pro připojení TLS.
MQTT broker
Zprostředkovatel MQTT je centrální uzel (obvykle v cloudu ve veřejném internetu), který spojuje vydavatele MQTT s odběrateli MQTT. Vydavatelé MQTT odesílají zprávy a odběratelé MQTT se přihlašují k odběru zpráv. Ke stejnému "tématu" může existovat několik odběratelů MQTT.
Zprávy jsou rozděleny do "témat"; zařízení může dané téma buď "publikovat", nebo se k němu "přihlásit". V rámci tématu se zprávy vyměňují tak, jak je přijímá zprostředkovatel MQTT, a poté se odesílají přihlášeným zařízením.
Zařízení (elektrická zásuvka) může být současně vydavatelem pro některá témata (zveřejňuje naměřené hodnoty) a odběratelem pro jiná témata (reaguje na příkazy pro řízení výstupu).
MQTT subscriber
Odběratel MQTT přijímá zprávy MQTT od zprostředkovatele MQTT. Zprávy jsou rozděleny do témat, která lze odebírat.
MQTT publisher
Vydavatel MQTT odesílá zprávy MQTT zprostředkovateli MQTT.
Klient MQTT může publikovat zprávy, pokud je připojen ke zprostředkovateli MQTT. Protokol MQTT kategorizuje zprávy podle tématu. Každá zpráva musí obsahovat téma, které může zprostředkovatel MQTT použít k předání zprávy přihlášeným odběratelům MQTT. Každá zpráva má užitečné zatížení, které je tímto způsobem doručeno odběratelům. Může nést libovolný obsah.
V kontextu NETIO products
- Inteligentní zásuvky NETIO 4x využívají MQTT jako standardní M2M API, například pro připojení ke cloudovým řešením MS Azure nebo jiným cloudovým službám.
- MQTT-flex je rozšíření, které umožňuje uživateli definovat komunikační strukturu MQTT.
Užitečné odkazy:
- Pro první kroky s MQTT doporučujeme AN12 MQTT ovládání inteligentních soketů NETIO pomocí brokeru HiveMQ.
- Informace pro vývojáře ke stažení: NETIO specifikace MQTT API
- Aplikační poznámka: AN40: Začínáme s PowerCable MQTT-flex přes HiveMQ MQTT broker do mobilní aplikace.