Protokół MQTT w modułach telemetrycznych MT-331

Dynamicznie rozwijający się świat Internetu Rzeczy w dalszym ciągu dotknięty jest brakiem standaryzacji protokołów transmisyjnych. Ostatnio jednak na znaczeniu zyskuje protokół MQTT (Message Queue Telemetry Transport), którego specyfikacja bardzo dobrze pasuje do wymagań stawianych transmisji w świecie rozproszonych urządzeń. To jeszcze nie jest obwiązujący standard, ale mnogość implementacji powoduje, że wielu producentów życzliwie przygląda się jego implementacji w aplikacjach M2M i Internecie Rzeczy. Również i Inventia zdecydowała się zaimplementować protokół MQTT  w pierwszym ze swoich produktów.

Wybraliśmy w tym celu moduł MT-331, konstrukcję świetnie sprawdzającą się w zastosowaniach IIoT (Industrial Internet of Things). Możliwość dostosowania typu i liczby wejść/wyjść do aktualnych potrzeb, energooszczędny tryb pracy pozwalający na zasilanie bateryjne, magazynowanie energii w wewnętrznym akumulatorze litowym, możliwość bezpośredniego zasilania z paneli słonecznych, wbudowany rejestrator danych, wbudowany modem 2G/3G i solidna, metalowa obudowa to tylko niektóre zalety tego modelu. Łatwość integracji modułów MT-331 z różnymi rozwiązaniami informatycznymi w chmurze zapewnia obecnie wsparcie dla protokołu MQTT.

Protokół MQTT w modułach telemetrycznych MT-331

MQTT to bardzo lekki i łatwy w obsłudze protokół transmisji danych, który nie wymaga dużej przepustowości kanału transmisyjnego i pozwala oszczędzać energię urządzeń bateryjnych. Przekaz danych wykorzystuje wzorzec publikacja/subskrypcja, w którym nadawcy (np. czujnik, moduł telemetryczny) wysyłają dane do brokera pełniącego rolę serwera pośredniczącego, a odbiorcy danych komunikują się z brokerem na zasadach subskrypcji tematów (topics). Po otrzymaniu nowej wiadomości od nadawcy broker informuje o niej zainteresowanych klientów, którzy dokonali wcześniej subskrypcji danego tematu. Każdy klient może być zarówno nadawcą jak i odbiorcą. Dzięki standaryzacji, dostępności gotowych brokerów i bibliotek klienckich obsługa protokołu MQTT może być łatwo realizowana na różnych platformach. Dzięki temu moduł MT-331 może być standardowym źródłem danych dla systemów różnych dostawców. Moduł MT-331 wykorzystuje szyfrowanie TLS (Transport Layer Security), dzięki czemu zachowana jest poufność  i integralność transmitowanych danych.

Protokół MQTT to zupełnie nowe podejście w przekazie danych. Dotychczasowe metody zawsze bazowały na bezpośrednim połączeniu pomiędzy nadawcą i odbiorcą, co oznaczało konieczność multiplikacji transmisji, jeśli dane miały dotrzeć do wielu odbiorców. W MQTTzadanie to przejmuje oprogramowanie brokera, które otrzymuje dane publikowane przez źródło i już samodzielnie zajmuje się ich przesyłaniem do subskrybujących je odbiorców, dbając również o ich buforowanie do momentu dostępności subskrybenta. Dzięki takiemu podejściu tworzenie sieci jeden do jednego, czy też jeden do wielu jest możliwe bez żadnych ograniczeń, również w przypadkach, gdy zasilane bateryjnie moduły są dostępne jedynie w ograniczonych przedziałach czasu.

Zaakceptowanie przez użytkowników protokołu MQTT nie oznacza znalezienia panaceum na bolączki standaryzacji, gdyż nadal nie jest możliwe bezpośrednie połączenie dwóch urządzeń różnych producentów. Pośrednikiem zawsze musi być oprogramowanie brokera, a użytkownik sam decyduje co i w jakiej formie chce przesyłać i odbierać, czyli de facto odpowiada za poprawną konfigurację protokołu i interpretację danych. Nie umniejsza to jednak zalet przyjętego rozwiązania i daje nadzieję na coraz większą łatwość wymiany danych pomiędzy masowo pojawiającymi się rozwiązaniami IIoT.