loading...

Protokół transmisji danych MQTT doskonale sprawdza się w połączeniach machine-to-machine (M2M) i coraz częściej stosowany jest również w IIoT (Industrial Internet of Things).


Stworzony został przez dr. Andy’ego Stanford-Clarka i Arlena Nippera w 1999 roku po to, żeby w łatwy sposób zbierać dane z wielu urządzeń, a następnie je udostępniać. Protokół ciągle będzie zyskiwał na znaczeniu, ponieważ liczba urządzeń podłączonych do Internetu dynamicznie rośnie. Według serwisu www.statista.com, w 2018 roku mieliśmy 23,14 miliarda urządzeń podłączonych do sieci!

W dobie postępującej cyfryzacji firmy coraz częściej decydują się na przejście z tradycyjnych systemów na rozwiązania w chmurze. Do dyspozycji mamy wiele protokołów łączności z chmurą, takich jak: AMQP,XMPP, HTTP czy CoAP, ale najbardziej popularny jest MQTT. Jest on bardzo lekki, więc idealnie nadaje się do zdalnego monitoringu, szczególnie w połączeniach M2M, gdzie np. przepustowość sieci jest ograniczona.

Zalety protokołu MQTT

  • Efektywna dystrybucja danych
  • Zwiększona skalowalność rozwiązania komunikacyjnego
  • Zdecydowanie zmniejszona konsumpcja przepustowości sieci
  • Dostosowanie do czujników, a także do sterowania
  • Maksymalizacja dostępnej przepustowości
  • Bezpieczeństwo
  • Zastosowanie przez producentów rozwiązań chmurowych: Microsoft, Amazon etc.
  • Wykorzystanie w wielu obszarach przemysłowych, np. w przemyśle motoryzacyjnym czy wydobywczym
  • Krótki czas wdrożenia protokołu
  • Udostępnienie dużo więcej danych w porównaniu do tradycyjnych protokołów, np. MODBUS, na tej samej przepustowości
  • Dostępność wielu bibliotek w wielu językach programowania obsługujących protokół MQTT

Architektura

MQTT jest zorientowany na komunikat, co oznacza, że:

  • każda wiadomość jest dyskretnym fragmentem danych
  • każda wiadomość jest publikowana (nadawana) na adres zwany tematem (topic)
  • w tym przypadku nie tworzymy/usuwamy tematów – po prostu wysyłamy dane
  • urządzenia mogą subskrybować (odbierać) wiele tematów (topic pattern)
  • każde urządzenie, które subskrybuje dany temat otrzymuje każdą wiadomość opublikowaną w temacie
  • odbiorca nie posiada informacji na temat nadawcy, nadawca nie ma informacji na temat odbiorcy
  • odbiorca dostaje tylko te wiadomości, które go interesują.

Protokół MQTT oparty jest o model publish/subscribe (publikuj/subskrybuj). W takiej architekturze każde urządzenie działa jako klient, który może być zarówno nadawcą (publisher), jak i odbiorcą (subscriber). Wiadomości nie są jednak wysyłane bezpośrednio pomiędzy nimi, ale trafiają do serwera, czyli tzw. brokera. Z brokerem łączą się klienci, którzy wysyłają wiadomości w danym temacie (topic) oraz mają możliwość odbierania wybranych tematów (topic pattern).

Broker

Jest to serwer pośredniczący w komunikacji. Klienci podłączeni do brokera mogą wysyłać oraz odbierać dane.

Publisher

Klient, który nadaje (publish) wiadomość w konkretnym temacie (topic). Wiadomość wysłana przez nadawcę posiada formę tekstową zwykle w formacie JSON lub XML.

Subscriber

Klient odbierający wiadomość. Może uczestniczyć w wybranych tematach (topic).

Protokół MQTT z WAGO

Protokół MQTT działa w modelu publish/subscribe (opublikuj/subskrybuj)

Przykład:

  • Sieć składa się z trzech klientów i brokera (serwera)
  • Wszystkie urządzenia typu klient mają otwarte połączenie z brokerem
  • Klienci: Alexa oraz komputer PC subskrybują temat „/Napięcie”
  • Sterownik WAGO jako klient publikuje w temacie „/Napięcie” wartość „10”
  • Broker przekierowuje otrzymana wartość do wszystkich klientów, którzy subskrybują temat.

Jak używać protokołu MQTT z wykorzystaniem urządzeń WAGO?

W tym celu odsyłam do not aplikacyjnych, dzięki którym łatwo można przejść konfigurację sterowników z serii PFC w celu wykorzystania protokołu MQTT. Istnieje możliwość integracji z dowolnym rozwiązaniem chmurowym.

Link:

W przypadku korzystania z powyższych bibliotek, warto zapoznać się z językiem ST oraz takimi elementami jak tablice oraz struktury ze względu na złożoność funkcji oraz bloków funkcyjnych.
Do testów komunikacji proponuję wykorzystać platformę prototypową IoT: https://shiftr.io/

Maciej Kurantowicz, WAGO.PL

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *