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 topicu má adresářovou strukturu – jednotlivé úrovně jsou oddělené symbolem
/- Topic může být
bedroom/temperature,kitchen/light/setatd.
- Topic může být
- 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/setpřihlásí odběrbedroom/light/set,kitchen/light/setatd.
- např.
- Zástupný znak
#přihlásí odběr všech podřízených topiců zadaného topicu-
např.
kitchen/#přihlásí odběrkitchen/light/set,kitchen/light/get,kitchen/temperature/getatd.cautionZástupný znak # lze použít pouze na konci názvu topicu
-
- Zástupný znak
Můžete si přečíst více o MQTT topicech a o tom, jak je používat.
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:
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
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.