Přeskočit na hlavní obsah

Protokol MQTT

  • MQTT je otevřený, jednoduchý a nenáročný komunikační protokol pro posílání zpráv mezi mnoha klienty, kteří jsou připojeni k centrálnímu MQTT brokeru.
  • Každá zpráva se skládá ze dvou částí – topicu a payloadu
  • Topic popisuje obsah zprávy a identifikuje ji
  • Název topicuadresářovou strukturu – jednotlivé úrovně jsou oddělené symbolem /
    • Topic může být bedroom/temperature, kitchen/light/set atd.
  • MQTT server se nazývá broker a klienti mohou publikovat zprávy a odebírat topicy
  • Úkolem MQTT brokeru je doručovat zprávy od publisherů k odběratelům
  • Při odebírání MQTT topicu můžete použít dva takzvané zástupné znaky (wildcards)
    • Zástupný znak + přihlásí odběr všech topiců v zadaném topicu
      • např. +/light/set přihlásí odběr bedroom/light/set, kitchen/light/set atd.
    • Zástupný znak # přihlásí odběr všech podřízených topiců zadaného topicu
      • např. kitchen/# přihlásí odběr kitchen/light/set, kitchen/light/get, kitchen/temperature/get atd.

        caution

        Zástupný znak # lze použít pouze na konci názvu topicu

MQTT broker Mosquitto

IoT Kit používá open-source MQTT broker Mosquitto. Všechny zprávy jsou směrovány přes MQTT broker. To umožňuje další rozšiřování systému IoT Kit.

Když připojíte Radio Dongle s připojeným vzdáleným uzlem, můžete zobrazit všechny příchozí zprávy pomocí balíčku mosquitto-cli zadáním:

note

Jak nainstalovat MQTT broker Mosquitto si můžete přečíst na odkazu výše, nebo můžete spustit vlastní server na Raspberry Pi.

mosquitto_sub -t "#" -v

Odpověď:

pi@hub:~ $ mosquitto_sub -t "#" -v
node/836d19821664/thermometer/0:1/temperature 24.69
node/836d19821664/thermometer/0:1/temperature 24.94
node/836d19821664/push-button/-/event-count 5
info

Můžete použít HARDWARIO Playground ke správě rádiových zařízení, čtení a odesílání MQTT zpráv a jejich zpracování pomocí Node-RED.