< Wszystkie tematy

MQTT (Message Queuing Telemetry Transport)

MQTT to lekki protokół przesyłania wiadomości typu publikuj-subskrybuj (Publish-Subscribe) oparty na TCP. Jest on wykorzystywany w systemach IoT i Przemyśle 4.0, ponieważ doskonale sprawdza się w środowiskach o niskiej przepustowości oraz wysokich opóźnieniach.

Broker MQTT

MQTT jest obsługiwany za pośrednictwem centralnego brokera, który przesyła opublikowane wiadomości przez wydawców (publishers) do zainteresowanych subskrybentów (subscribers), którzy obserwują konkretny temat (topic). Więc komunikacja nie odbywa się bezpośrednio między wydawcami a subskrybentami. Przykładem wykorzystywanych brokerów MQTT w branży jest HiveMQ MQTT Broker i Mosquitto od Cedalo. Dostawcy chmury, tacy jak Microsoft i Amazon, również dostarczają własnych brokerów MQTT z Azure IoT Hub oraz AWS IoT Core.

Temat (Topic)

Pozwala publikować wiadomości na brokerze co umożliwia stworzenie hierarchii. Dla człowieka temat wygląda jak hierarchiczna ścieżka pliku. Jako subskrybent, za pomocą tematów można łatwo znaleźć konkretne wiadomości spośród wszystkich dostępnych na brokerze. W przypadku gdy subskrybent chce uzyskać wiadomości z wielu tematów może użyć symbolu wieloznacznego (wildcard).

Ładunek (Payload)

Wiadomości przesyłane przez MQTT zwierają treść tzw. ładunek (payload), w którym są zapisane informacje, np. o temperaturze maszyny. Struktura ładunku może być dowolnie definiowana przez wydawcę. Zdefiniowana struktura ładunku może okazać się pomocna gdy wiadomość ma zostać odczytana przez inne urządzenie lub oprogramowanie. Najbardziej popularną strukturą wśród MQTT jest JSON ale można wykorzystać również XML lub OPC UA. W przypadku zdefiniowanej struktury, komunikacja będzie wydajniejsza, ponieważ urządzenia i oprogramowanie będą komunikować się za
pomocą tej samej struktury.

Zabezpieczenia

Brokerzy często obsługują różne zabezpieczenia, takie jak szyfrowanie TLS w celu ochrony transmisji danych oraz mechanizmy uwierzytelniania, aby zapewnić, dostęp tylko autoryzowanym urządzeniom i użytkownikom.

Główne zalety MQTT to:

  1. Niskie użycie zasobów sieciowych.
  2. Model publikacja/subskrypcja – umożliwia łatwą skalowalność.
  3. Możliwość pracy w niestabilnych sieciach (np. w aplikacjach mobilnych).

MQTT często współpracuje z OPC UA, gdzie dane z serwera OPC są publikowane jako tematy MQTT i subskrybowane przez inne systemy.

Oprogramowanie OPC UA Forge posiada funkcjonalność publikowania/subskrybowania wiadomości na zewnętrznych brokerach oraz możliwość uruchomienia zintegrowanego brokera MQTT .Również KEPServerEX jak i OPC Router umożliwiają publikowanie i subskrybowanie wiadomości na brokerach MQTT.

Przykład wykorzystania oprogramowania OPC Router do pobierania danych z brokera MQTT a następnie zapisania ich na serwerze OPC UA Forge:

MQTT (Message Queuing Telemetry Transport)