MQTT

MQTT:
Internet věcí vyžaduje obrovskou škálovatelnost v síťovém prostoru, aby zvládl nárůst zařízení. IETF 6LoWPAN se používá k připojení zařízení k IP sítím. S miliardami zařízení, které jsou přidávány do internetového prostoru, hraje IPv6 hlavní roli při řešení škálovatelnosti síťové vrstvy. CoAP od IETF, ZeroMQ a MQTT poskytly odlehčený přenos dat. „MQ“ v „MQTT“ pochází z produktové řady IBM MQ řady zpráv:
(Message Queuing Telemetry Transport) 
Zdroj: Wikipedia


MQTT je tedy jednoduchý centralizovaný protokol sloužící nejčastěji pro použití s nejrůznějšími senzory IoT (Internetu věcí).
Lze jej však využít i pro přenos mnoha jiných, například telemetrických dat. Základem je princip typu zveřejnit/odebírat (publish/subscribe). Zařízení s funkcí zveřejnit odesílají zprávy zprostředkovateli (broker), který na základě přihlášených odběrů provede třídění a přeposlání uživatelům. Klient-uživatel může zároveň publikovat i odebírat.

Pro naše základní pokusy s MQTT jsme vytvořili „kufr“ – a následně jsme sjednotili SW program pod jeden MQTT-slave modul, který se hodí k testování našich desek pro IoT i mechatronické projekty na RobotBoard

Máme například klienty co publikují:
teploměr, klávesnice, čidlo vlhkosti, potenciometr…
a k tomu připojíme klienty, co poslouchají (a vykonávají jim určené příkazy, na základě přijatých dat)
displeje, relé, serva, PWM ovládání LED pásku…

Propojení může být různé – zde se nabízí nejčastější:
teploměr na jednom místě -> displej jinde (kdekoli „na Zeměkouli“)
potenciometr -> natočení serva (třeba u pozice kamery)
čidlo vlhkosti -> relé, které spíná čerpadlo zavlažování
…..



Odkaz na zdrojové kódy:
https://github.com/octopusengine/octopuslab/blob/master/esp32-micropython/_examples/mqtt-examples/mqtt-slave.py

vize plně konfigurovatelných modulů

Na githubu se MQTT chceme věnovat samostatně a podrobněji zde:
https://github.com/octopusengine/octopusLAB_mqtt