Uživatelské nástroje

Nástroje pro tento web


mqtt

MQTT (Message Queuing Telemetry Transport)

MQTT je jednoduchý a efektivní protokol typu Publish-Subscribe. Původně byl vyvinut v roce 1999 pro monitorování ropovodů prostřednictvím satelitních spojů, ale dnes dominuje světu chytrých domácností, průmyslové automatizace a propojených zařízení (IoT).

Pracuje nad protokolem TCP/IP a je navržen tak, aby měl co nejmenší režii (hlavička zprávy může mít pouhé 2 bajty).

Architektura: Publish-Subscribe

Na rozdíl od klasického modelu klient-server (např. HTTP), kde klient přímo žádá server o data, v MQTT spolu zařízení nekomunikují přímo. Vše probíhá přes centrální uzel:

  • Broker (Zprostředkovatel): Centrální server, který přijímá všechny zprávy a distribuuje je příjemcům.
  • Publisher (Odesílatel): Zařízení (např. senzor teploty), které odesílá data na určité téma (Topic).
  • Subscriber (Příjemce): Zařízení (např. mobilní aplikace nebo termostat), které se přihlásí k odběru konkrétního tématu.

Témata (Topics) a struktura

Témata v MQTT fungují jako hierarchické adresy oddělené lomítkem. Umožňují efektivní filtrování zpráv: * Příklad: `dum/obyvak/teplota` * Wildcards (Zástupné znaky):

  • `+` : Nahrazuje jednu úroveň (např. `dum/+/teplota` vybere teplotu ve všech místnostech).
  • `#` : Nahrazuje všechny následující úrovně (např. `dum/#` odebírá úplně všechna data z domu).

Kvalita služeb (QoS - Quality of Service)

MQTT umožňuje definovat, jak spolehlivě má být zpráva doručena:

Úroveň Název Popis
QoS 0 At most once „Pošli a zapomeň“. Zpráva je odeslána jednou, doručení není potvrzeno (nejrychlejší).
QoS 1 At least once Zpráva je doručena alespoň jednou. Příjemce musí potvrdit přijetí, jinak se posílá znovu.
QoS 2 Exactly once Zpráva je doručena právě jednou. Nejspolehlivější, ale vyžaduje nejvíce komunikace (4-cestný handshake).

Klíčové funkce pro IoT

  • Last Will and Testament (LWT): Klient si u brokera uloží zprávu pro případ, že se nečekaně odpojí (např. dojde baterie). Broker pak tuto zprávu rozešle ostatním, aby věděli, že je zařízení offline.
  • Retained Messages: Broker si uloží poslední zprávu daného tématu. Když se připojí nový odběratel, okamžitě dostane aktuální stav, aniž by musel čekat na nové vysílání senzoru.
  • Keep Alive: Pravidelné „ping“ zprávy, kterými zařízení potvrzuje, že je stále online, i když zrovna neposílá žádná data.

Srovnání: MQTT vs. HTTP

Vlastnost HTTP MQTT
Model Request/Response Publish/Subscribe
Hlavička Stovky bajtů (textová) Jednotky bajtů (binární)
Spotřeba Vysoká Velmi nízká
Stav Bezestavový Udržuje trvalé spojení

Využití v praxi

  1. Chytrá domácnost: Propojení žárovek, vypínačů a senzorů (např. software Home Assistant).
  2. Průmysl 4.0: Sběr telemetrie ze strojů ve výrobních halách.
  3. Doprava: Sledování polohy vozidel v reálném čase.
  4. Facebook Messenger: Využívá upravenou verzi MQTT pro rychlé doručování zpráv s nízkou spotřebou baterie na mobilu.
Populární brokeři: Mosquitto (nejpoužívanější open-source), HiveMQ, EMQX nebo cloudové služby jako AWS IoT Core.

Viz také: AMQP, Internet věcí (IoT), TCP/IP, Home Assistant

mqtt.txt · Poslední úprava: autor: admin