MQTT

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

MQ Telemetry Transport (MQTT) – oparty o wzorzec 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 1999r.

MQ w nazwie MQTT pochodzi od nazwy linii produktów firmy IBM (message queuing). Najnowsza wersja protokołu to MQTTv3.1.1.

Broker MQTT[edytuj]

Broker pełni rolę serwera, z którym łączą się klienci, aby za jego pośrednictwem publikować informacje. Najpopularniejsze obecnie brokery, to: Mosquitto[1], RabbitMQ[2], HiveMQ[3], IBM MessageSight[4], VerneMQ[5].

Działanie MQTT[edytuj]

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[edytuj]

Z protokołu MQTT korzysta min. Facebook 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ę.

Przypisy

  1. Mosquitto. [dostęp 2016-02-18].
  2. RabbitMQ. [dostęp 2016-02-18].
  3. HiveMQ. [dostęp 2016-02-18].
  4. IBM MessageSight. [dostęp 2016-02-18].
  5. VerneMQ. [dostęp 2017-02-08].

Linki zewnętrzne[edytuj]