Czym jest MQTT? Praktyczne wprowadzenie
MQTT – Transport telemetrii kolejkowania wiadomości
MQTT (Message Queuing Telemetry Transport) to protokół przesyłania wiadomości dla ograniczonych sieci o niskiej przepustowości i urządzeń IoT o ekstremalnie wysokich opóźnieniach. Ponieważ Message Queuing Telemetry Transport jest wyspecjalizowany w środowiskach o niskiej przepustowości i wysokich opóźnieniach, jest idealnym protokołem do komunikacji maszyna-maszyna (M2M).
MQTT działa na zasadzie wydawcy/subskrybenta i jest obsługiwany za pośrednictwem centralnego brokera. Oznacza to, że nadawca i odbiorca nie mają bezpośredniego połączenia. Źródła danych raportują swoje dane za pośrednictwem publikacji, a wszyscy odbiorcy zainteresowani określonymi wiadomościami („oznaczeni tematem”) otrzymują dostarczone dane, ponieważ zarejestrowali się jako subskrybenci.
W IoT i IIoT MQTT jest używany aż do łączenia środowisk w chmurze. Dowiedz się wszystkiego, co musisz wiedzieć o korzystaniu z MQTT w naszym praktycznym wyjaśnieniu z naciskiem na przemysł. Odkryj wszystko, co musisz wiedzieć o korzystaniu z MQTT w naszym praktycznym przykładzie i wyjaśnieniach przemysłowych.
1. Co oznacza MQTT?
MQTT to skrót od Message Queuing Telemetry Transport. Jest to niezwykle prosty i lekki protokół przesyłania wiadomości (subskrybuj i publikuj) przeznaczony dla ograniczonych urządzeń i sieci o dużym opóźnieniu, niskiej przepustowości lub zawodnych sieciach. Jego zasady projektowania mają na celu zmniejszenie przepustowości sieci i wymagań dotyczących zasobów urządzeń oraz zapewnienie bezpieczeństwa dostaw. Ponadto zasady te są korzystne dla urządzeń M2M (machine-to-machine) lub IoT, ponieważ wydajność baterii i przepustowość są bardzo ważne.
2. Czym jest temat MQTT?
Dzięki MQ Telemetry Transport urządzenia IoT o ograniczonych zasobach mogą wysyłać lub publikować informacje na określony temat na serwerze, który działa jako broker wiadomości MQTT. Następnie broker przesyła informacje do klientów, którzy wcześniej zasubskrybowali temat klienta. Dla człowieka temat wygląda jak hierarchiczna ścieżka pliku. Klienci mogą subskrybować określony poziom hierarchii tematu lub używać symbolu wieloznacznego, aby subskrybować wiele poziomów.
Protokół MQTT jest dobrym wyborem dla sieci bezprzewodowych, które mają zmienne opóźnienia z powodu sporadycznych ograniczeń przepustowości lub zawodnych połączeń. Jeśli połączenie od subskrybującego klienta do brokera zostanie przerwane, broker buforuje wiadomości i wysyła je do subskrybenta, gdy subskrybent będzie ponownie online. Jeśli połączenie od klienta publikującego do brokera zostanie rozłączone bez powiadomienia, broker może się rozłączyć i wysłać subskrybentowi buforowaną wiadomość z instrukcjami od wydawcy.
3. Czym jest broker MQTT?
Broker MQTT jest centrum każdego protokołu Publish/Subscribe. W zależności od implementacji, broker może zarządzać nawet tysiącami jednocześnie podłączonych klientów MQTT. Broker jest odpowiedzialny za odbieranie wszystkich wiadomości, filtrowanie wiadomości, określanie, kto zasubskrybował każdą wiadomość i wysyłanie wiadomości do tych subskrybowanych klientów. Broker obsługuje również sesje wszystkich stałych klientów, w tym subskrypcje i pominięte wiadomości. Innym zadaniem brokera jest uwierzytelnianie i autoryzacja klientów. Zazwyczaj broker jest rozszerzalny, co ułatwia niestandardowe uwierzytelnianie, autoryzację i integrację z systemami zaplecza. Integracja jest szczególnie ważna, ponieważ broker jest często komponentem bezpośrednio wystawionym w Internecie, obsługuje wielu klientów i musi przekazywać wiadomości do systemów analizy i przetwarzania w dół rzeki. Krótko mówiąc, broker jest centralnym węzłem, przez który musi być kierowana każda wiadomość. Dlatego ważne jest, aby Twój broker był wysoce skalowalny, mógł być zintegrowany z systemami zaplecza, był łatwy do monitorowania i oczywiście był odporny na awarie. Brokerzy MQTT wykorzystywani w branży to na przykład 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 i AWS IoT Core.
4. Czym jest ładunek MQTT?
Wiadomości są udostępniane innym urządzeniom lub oprogramowaniu za pośrednictwem brokera przy użyciu protokołu MQTT. Każda wiadomość ma temat, na podstawie którego może być dalej przetwarzana przez brokera. Ponadto każda wiadomość zawiera treść wiadomości, tzw. ładunek. Ładunek MQTT nie jest związany z określoną strukturą i może być swobodnie projektowany. Jednak pomocne jest określenie konkretnej struktury dla treści wiadomości, aby mogła być odczytana przez inne urządzenia lub oprogramowanie. Potencjalne struktury wiadomości to JSON, XML lub OPC UA. Zdefiniowana struktura umożliwia płynną komunikację wewnętrzną, gdy tylko wszystkie urządzenia i oprogramowanie komunikują się za pomocą tej samej struktury.
5. Czym jest klient MQTT i jak działa?
Wszystkie urządzenia i oprogramowanie, takie jak OPC Router, które są w jakiś sposób podłączone do brokera, są nazywane klientami MQTT. Klient może wysyłać wiadomości do brokera (publikować) i odbierać wiadomości od brokera (subskrybować). Wysyłając wiadomość do brokera, należy określić temat MQTT, który może zostać użyty do dalszego przetwarzania wiadomości. Wiadomości mogą być wysyłane z różną jakością usługi (QoS):
-
- Jakość usługi 0: Wiadomość klienta jest wysyłana dokładnie raz, niezależnie od tego, czy dotarła do brokera.
- Jakość usługi 1: Wiadomość klienta jest wysyłana wielokrotnie, aż broker odpowie potwierdzeniem odbioru. Może to spowodować, że wiadomość dotrze do brokera wiele razy.
- Jakość usługi 2: Klient wysyła wiadomość raz i jednocześnie upewnia się, że dotarła do brokera. Komunikacja Quality of Service 2 wymaga większej przepustowości niż Quality of Service 0 lub 1.
Jednocześnie klient może subskrybować temat MQTT u brokera, dzięki czemu broker automatycznie otrzymuje wszystkie informacje, które docierają do brokera z tym tematem MQTT. Na przykład plant1 / hall1 / temperature. Używając symboli wieloznacznych, klient może otrzymywać wiele informacji od brokera. Na przykład otrzymuje wszystkie wpisy z listy plant1 / hall1 z tematem MQTT plant1 / hall1 / #. Z tematem plant1 / + / temperature wysyłane są wszystkie wpisy dotyczące temperatury z plant1.
Na koniec klient MQTT ma funkcję „Last Will”. Jeśli połączenie z brokerem zostanie utracone, wysyłana jest ostatnia wiadomość, dzięki czemu błąd połączenia jest zauważany przez brokera i może zostać przekazany użytkownikowi.
6. Kiedy należy stosować MQ Telemetry Transport, a kiedy nie?
Dzięki Message Queuing Telemetry Transport dane są wysyłane z dużej liczby maszyn do jednego miejsca docelowego – chmury – gdzie dane mogą być analizowane, interpretowane i przekazywane dalej.
Chmura hostuje brokera MQTT – pośrednika między maszynami a innymi maszynami i/lub ludźmi. I jest to ważne rozróżnienie, ponieważ maszyny nie komunikują się bezpośrednio ze sobą, ale za pośrednictwem brokera.
MQTT wykorzystuje koncepcję „tematów” do organizowania swoich danych oraz model publikowania/subskrybowania do komunikowania tematów innym stronom za pośrednictwem chmury.
Na przykład: system klimatyzacji wysyła (lub publikuje) dane o „stanie” swoich sprężarek do chmury. Wszystkie zainteresowane strony z zatwierdzonymi uprawnieniami – maszyna lub człowiek – mogą subskrybować ten temat, aby otrzymywać informacje.
Subskrybentami mogą być inżynierowie ds. konserwacji (człowiek), systemy zaopatrzenia w części (oprogramowanie/maszyna) lub systemy planowania konserwacji (oprogramowanie/maszyna). Nagle każdy aspekt cyklu życia maszyny staje się dostępny do wglądu, co stanowi ekscytującą i wyjątkową okazję do wykorzystania tych informacji w celu znalezienia usterek, obniżenia kosztów, zwiększenia wydajności i zaplanowania działań w ramach Internetu rzeczy.
7. Do czego służy MQ Telemetry Transport w IoT (Internecie Rzeczy)?
Słowo Temat odnosi się do ciągu UTF-8, którego broker używa do filtrowania wiadomości dla każdego podłączonego klienta. Temat składa się z jednego lub więcej poziomów tematów. Każdy poziom tematu jest oddzielony ukośnikiem (separator poziomów tematów). W porównaniu do kolejki wiadomości, tematy MQTT są bardzo proste. Klient nie musi tworzyć żądanego tematu przed opublikowaniem lub subskrypcją. Broker akceptuje każdy prawidłowy temat bez wcześniejszej inicjalizacji. Należy pamiętać, że każdy temat musi zawierać co najmniej jeden znak, a ciąg tematu dopuszcza spacje. Tematy są rozróżniane wielkością liter. Na przykład _myhome / temperature i _MyHome / Temperature to dwa różne tematy. Ponadto sam ukośnik jest prawidłowym tematem.
Zasadniczo możesz nazwać swoje tematy MQTT według własnego uznania. Istnieje jednak jeden wyjątek: __ Tematy, które zaczynają się od symbolu $, mają inny cel. __ Te tematy nie są częścią subskrypcji, jeśli subskrybujesz wielopoziomowy symbol zastępczy jako Temat (#). Tematy z symbolem $ są zarezerwowane dla wewnętrznych statystyk brokera MQTT. Klienci nie mogą zamieszczać wiadomości na te tematy. Obecnie nie ma oficjalnego standardu dla takich tematów. Zwykle $ SYS / jest używany dla wszystkich poniższych informacji, ale implementacja brokerów jest różna. Sugestią dla tematów $ SYS jest wiki MQTT-GitHub.
8. Jak łatwo rozpocząć pracę z MQ Telemetry Transport?
Aby zapewnić łatwy start, zaleca się HiveMQ jako brokera MQTT. HiveMQ to broker oparty na otwartych standardach IoT. W rezultacie zapewnia dostęp do szerokiej gamy klientów MQTT. Został stworzony do szybkiego, wydajnego i niezawodnego przesyłania danych do i z podłączonych urządzeń i serwerów.
Protokół MQTT zapewnia prostą metodę wykonywania wiadomości przy użyciu modelu publish/subscribe. Dzięki temu jest szczególnie odpowiedni dla aplikacji IoT i chmurowych, takich jak czujniki o niskim poborze mocy lub urządzenia mobilne, takie jak telefony, komputery wbudowane lub mikrokontrolery.
W połączeniu z OPC Routerem połączenia można łatwo przeszukiwać. Pobierz brokera HiveMQ tutaj i przetestuj go samodzielnie.
Prosta komunikacja MQTT w praktyce
Protokół komunikatów MQTT jest szczególnie odpowiedni dla środowisk o niskiej przepustowości i dużym opóźnieniu, a także dla komunikacji maszyna-maszyna (M2M). Dlatego zasada publikuj-i-subskrybuj, obsługiwana przez centralnego brokera, jest bardzo popularna w IoT.
Praktyczną zaletą komunikacji za pośrednictwem MQTT jest to, że odciąża ona sieć wewnętrzną i nadal może komunikować się z dowolną liczbą różnych systemów. Za pomocą specjalnego oprogramowania, takiego jak OPC Router, dane mogą być publikowane w innych systemach. Systemami tego rodzaju mogą być na przykład SAP, OPC UA, SQL lub REST. Dane ze źródeł nieobsługujących MQTT mogą być przesyłane do innych systemów w celu dalszego przetwarzania jako Publisher. Niezawodny protokół komunikatów MQTT może przyspieszyć komunikację wewnętrzną i tworzyć przepustowości.
To może Cię również zainteresować

Model architektoniczny REST stał się wiodącym standardem integracji systemów. Połączenie systemowe za pośrednictwem REST jest skuteczne i proste. Ze względu na bezstanowość REST możliwa jest łatwa skalowalność, a zatem REST jest szeroko stosowany w branży. Zapewniamy niezbędną podstawową wiedzę na temat REST i REST API w naszej Bazie wiedzy.

Potrzeba wymiany danych wzrosła wraz z internetem i ogólnym sieciowaniem systemów komputerowych. W przypadku systemów internetowych niezależność platformy jest tutaj bardzo ważna. Dzięki JSON-owi, format danych oszczędzający zasoby, czytelny dla ludzi i maszyn, stał się w tym celu. Możesz znaleźć praktyczną podstawową wiedzę na temat JSON-a i przydatne wskazówki dotyczące jego wykorzystania tutaj.

OPC UA umożliwia standaryzowany dostęp do maszyn, urządzeń i innych systemów w Industrie 4.0, zapewniając tym samym niezależną od producenta wymianę danych. W naszej Bazie wiedzy znajdziesz przegląd funkcjonalności i terminów najważniejszego protokołu komunikacyjnego dla Industrie 4.0 i Przemysłowego Internetu Rzeczy (IIoT).

W naszej Bazie wiedzy znajdziesz szczegółowe instrukcje krok po kroku dotyczące łączenia się z naszą wtyczką MQTT dla następujących obszarów: Amazon AWS IoT Cloud, Microsoft Azure IoT Hub, IBM Watson, Google IoT Core i Siemens MindSphere IoT.
Pozwól swoim systemom komunikować się ze sobą za pomocą protokołu MQTT
Przetestuj teraz bezpłatnie i bez zobowiązań OPC Router z wtyczką MQTT lub zapisz się do naszego newslettera, aby być na bieżąco ze zmianami i nowościami.
Nie znalazłeś jeszcze odpowiednich informacji?
Tutaj znajdziesz więcej informacji o naszym oprogramowaniu, a także przegląd wszystkich dostępnych wtyczek OPC Router. Udostępniamy również bezpłatne demo, dzięki któremu możesz przetestować w pełni funkcjonalną wersję OPC Router.
Tel. +48 32 235 45 60 E-mail: info@inee.pl
© Wszystkie prawa zastrzeżone INEE Sp. z o.o. 2024 - 2025