mały|Logo protokołu MQTT mały|Ilustracja przedstawia budowę oraz zastosowanie protokołu, opisy są w języku portugalskim MQ Telemetry Transport (MQTT) – oparty na wzorcu publikacja/subskrypcja, ekstremalnie prosty, lekki protokół transmisji danych. Przeznaczony jest do transmisji dla urządzeń niewymagających dużej przepustowości. Poprzez ograniczenie prędkości transmisji, protokół zapewnia większą niezawodność. Protokół ten idealnie sprawdza się przy połączeniach maszyna-maszyna, w Internecie rzeczy (IoT), w urządzeniach mobilnych, oraz tam, gdzie wymagana jest oszczędność przepustowości oraz energii.
Protokół MQTT został stworzony przez Andy’ego Stanforda-Clarka z firmy IBM, oraz przez Arlena Nippera z firmy Arcom (obecnie Eurotech) w 1999 roku.
MQ w nazwie MQTT pochodzi od nazwy linii produktów firmy IBM (message queuing). Najnowsza wersja protokołu to MQTT Version 5.0 z 7 marca 2019.
Domyślny nieszyfrowany port komunikacji to 1883, szyfrowany 8883.
Broker MQTT Broker pełni rolę serwera, z którym łączą się klienci, aby za jego pośrednictwem publikować informacje. Niektóre brokery, to: Mosquitto, RabbitMQ, HiveMQ, IBM MessageSight, VerneMQ, EMQ X, ejabberd.
Działanie MQTT Każdy z klientów łączy się z brokerem, a następnie subskrybuje dany temat/tematy, może również publikować informacje w danym temacie. Kiedy klient opublikuje jakieś informacje, każdy klient, który subskrybuje ten sam temat, otrzyma tę informację. Tematy nie muszą być wcześniej tworzone oraz mogą mieć dowolną nazwę.
Klienci łącząc się z brokerem MQTT używają kilku funkcji do zarządzania transmisją: Connect – ustanawia połączenie z brokerem. Subscribe – subskrybuje (nasłuchuje) zadany temat na brokerze Publish – publikuje (wysyła) informację na podany temat, poprzez broker, do wszystkich klientów subskrybujących dany temat. Unsubscribe – przestaje subskrybować dany temat. Disconnect – zamyka połączenie z brokerem.
MQTT w praktyce Z protokołu MQTT korzysta m.in. komunikator internetowy Messenger. Dzięki zastosowaniu tego protokołu w łatwy sposób możemy przenosić się podczas rozmowy z jednego urządzenia na drugie i kontynuować konwersację.
Protokół znajduje szerokie zastosowanie w rozwiązaniach dla tzw. inteligentnych domów.
Home Assistant, czyli jeden z najpopularniejszych systemów inteligentnego domu umożliwia instalację dodatku zawierającego broker MQTT.
Supla, czyli polski system automatyki budynkowej umożliwia publikację przypisanych do konta urządzeń do brokera MQTT. Dzięki temu możemy sterować nimi za pośrednictwem tego protokołu.
Istnieje również implementacja klienta protokołu na Arduino.
Przypisy
Linki zewnętrzne Oficjalna strona MQTT
Kategoria:Protokoły sieciowe Kategoria:Protokoły warstwy aplikacji Kategoria:Transmisja danych