Protokół MQTT. Najłatwiejszy sposób przesyłania danych do chmury
Materiał prasowy (ELMARK Automatyka) drukuj
Poprawa jakości życia od zawsze była główną motywacją do poszukiwania nowych, lepszych technologii. Obecny trend podłączania coraz większej liczby urządzeń do Internetu sprawia, że opracowanie niezawodnych urządzeń do aplikacji IIoT staje się ogromnym wyzwaniem. Wspomniane urządzenia, zwane często urządzeniami brzegowymi, zwykle dostarczają dane do systemu centralnego. Dokładne i efektywne zbieranie danych z takich urządzeń wymaga wdrażania nowych rozwiązań.
Do zbierania danych z urządzeń brzegowych można wykorzystać kilka protokołów, takich jak np. MQTT, AMQP czy CoAP. Najchętniej wykorzystywanym przez programistów protokołem do tworzenia aplikacji IIoT jest ten pierwszy. Używa go ponad połowa programistów IoT, co przedstawiono na wykresie.
Jak działa MQTT?
Protokół MQTT został opracowany w 1999 r. przez firmy IBM oraz Circus Link, a w 2013 r. oficjalnie uznany jako standard ISO. MQTT oparty jest na wzorcu publish-subscribe. W takiej architekturze wiadomości wysyłane przez nadawców (publisher) trafiają do serwera pośredniczącego (broker), a nie bezpośrednio do odbiorców (subscriber). Wiadomość jest publikowana na tzw. temacie (topic). Klienci którzy subskrybują dany temat (topic) otrzymują opublikowane na nim wiadomości. Dane publikowane przy użyciu protokołu MQTT są danymi tekstowymi. Oznacza to, że z łatwością można przekształcić strukturę danych do formatu JSON (lub innego dowolnego formatu tekstowego), a następnie ją opublikować.
W odróżnieniu od innych protokołów działających na zasadzie zapytanie – odpowiedź, MQTT pozwala rozwiązać powszechny problem z dostępnością urządzeń. Standardowo klient oraz serwer muszą być on-line w tym samym czasie, aby nawiązać komunikację i wymienić między sobą informacje. W przypadku aplikacji IIoT, w których urządzenia często umieszczone są na obiektach przemysłowych, gdzie mogą występować częste utrudnienia związane z komunikacją, rozwiązanie klient – serwer nie zawsze jest odpowiednie. Do tego celu idealnie nadaje się protokół MQTT. Wymagane jest jedynie, aby broker był aktywny cały czas. Przed przesłaniem wiadomości broker sprawdza, czy klient jest aktywny. Jeżeli nie, może czekać z wysłaniem wiadomości do czasu, gdy klient będzie on-line. Klienci, zarówno publikujący, jak i subskrybujący informacje, mogą być aktywni tylko wtedy, gdy wysyłają lub odbierają informacje.
Broker MQTT
Klienci nie komunikują się ze sobą bezpośrednio, a w oparciu o element pośredniczący, którym jest broker. Broker pełni rolę serwera, z którym łączą się klienci, aby za jego pośrednictwem publikować informacje. Jego zadaniem jest odbieranie wiadomości od klientów publikujących i rozsyłanie jej do odpowiednich klientów subskrybujących. Taki model pozwala na udostępnianie danych innym klientom bez znajomości ich adresu IP. Dzięki temu możliwa jest wymiana danych między wieloma klientami w tym samym czasie.
Taki serwer można zaimplementować samodzielnie. Dostępna jest jednak spora liczba gotowych i sprawdzonych rozwiązań, np. broker Mosquitto, VerneMQ. Broker MQTT można z powodzeniem zainstalować nawet na bardzo kompaktowych komputerach Moxa z systemem Linux – UC-2100.
MGate 5105-MB-EIP – bramka przemysłowa na MQTT
Firma MOXA oferuje szereg rozwiązań kontrolno-pomiarowych, które umożliwiają przesyłanie danych i sygnałów bezpośrednio do chmury. Na szczególną uwagę zasługuje konwerter protokołów MGate 5105-MB-EIP. Może on odczytywać dane z urządzeń wyposażonych w protokół Modbus RTU, Modbus TCP, EtherNet/IP, ale możliwe jest też przesyłanie danych z chmury do MGate, tak aby wysłał on zapytania typu „write”, czyli kontrolujące. Funkcjonalność ta pozwala niskim kosztem i nakładem sił zbudować system monitorowania danych z urządzeń, takich jak liczniki energii, liczniki mediów, czujniki ciśnienia, dataloggery itp., i eksportować takie dane do chmury, np. w celu archiwizacji, dalszej analizy czy wizualizacji. MGate 5105-MB-EIP zapewnia komunikację dwustronną, a opcja wysyłania komendy z chmury do urządzeń końcowych daje duże możliwości w zakresie reagowania, np. na określone trendy w monitorowanych wartościach. Pozwala także na zdalną kontrolę urządzeń, za pośrednictwem Internetu i protokołu MQTT.
Bramy przemysłowe we współpracy z usługami chmurowymi tworzą bardzo ciekawą synergiczną mieszankę, która pozwala na tworzenie nowoczesnych systemów w myśl idei Przemysłu 4.0 i IIoT. Urządzenia Moxa umożliwiają wysyłanie danych z sieci przemysłowych do dostawców chmurowych, a tam dalszą ich obróbkę, przetwarzanie, wizualizowanie, wysyłanie powiadomień e-mail/SMS, uczenie maszynowe, predictive maintenance, przechowywanie, wizualizowanie, upublicznianie i wiele więcej. Zapraszamy na stronę naszego bloga www.moxa.elmark.com.pl, gdzie można znaleźć szczegółowe informacje o sposobach konfiguracji wspomnianych urządzeń i technologii.
ELMARK AUTOMATYKA Sp. z o.o.
ul. Bukowińska 22 lok. 1B, 02-703 Warszawa
e-mail: moxa@elmark.com.pl
www.moxa.elmark.com.pl
źródło: Automatyka 5-6/2020
Słowa kluczowe
automatyka, chmura, chmura przemysłowa, Elmark Automatyka, Protokół MQTT, transmisja danych
Komentarze
blog comments powered by Disqus