Broker MQTT w automatyce - Klucz do stabilnej komunikacji?

Robert Borkowski .

11 kwietnia 2026

Bezpieczny broker MQTT chroni dane z laptopa i urządzenia IoT za pomocą ikony kłódki i tarczy.

W systemach automatyki broker MQTT pełni rolę centralnego węzła wymiany danych: odbiera komunikaty od urządzeń, filtruje je po tematach i przekazuje dalej tylko do tych klientów, którzy rzeczywiście ich potrzebują. To rozwiązanie dobrze sprawdza się tam, gdzie masz czujniki, sterowniki, panele operatorskie i system nadrzędny, a zależy Ci na prostym, przewidywalnym przepływie informacji. W tym tekście pokazuję, jak działa taki model, kiedy daje najwięcej korzyści i jakie ustawienia decydują o tym, czy instalacja będzie stabilna.

Najważniejsze rzeczy do zapamiętania przed wdrożeniem

  • Broker nie steruje procesem sam z siebie - zarządza ruchem wiadomości między nadawcami i odbiorcami.
  • W automatyce najlepiej sprawdza się do telemetrii, alarmów, stanów urządzeń i prostych komend, a nie do twardej pętli czasu rzeczywistego.
  • Najbardziej praktyczne mechanizmy to QoS, retained messages, Last Will, TLS, ACL i porządna hierarchia tematów.
  • Przy większej liczbie urządzeń broker upraszcza okablowanie logiczne: zamiast wielu połączeń punkt-punkt masz jeden wspólny punkt komunikacji.
  • Złe nazewnictwo tematów, brak autoryzacji i zbyt szerokie wildcardy są częstszym problemem niż sam protokół.

Schemat połączenia telefonu z Androidem, routera Pentagram i maszyny wirtualnej z brokerem MQTT Mosquitto na Ubuntu.

Jak działa broker MQTT w praktyce

Najprościej mówiąc, broker stoi między nadawcą a odbiorcą. Urządzenie publikuje wiadomość do określonego tematu, a broker przekazuje ją wszystkim klientom, którzy na ten temat zasubskrybowali. Dzięki temu czujnik temperatury nie musi wiedzieć, czy jego dane czyta PLC, panel HMI, system SCADA czy aplikacja analityczna.

W praktyce to ogromna różnica organizacyjna. Zamiast budować wiele połączeń punkt-punkt, tworzysz jedną warstwę pośrednią, która porządkuje ruch. Jeśli publikuję dane z czujnika jako `hala/linia1/temperatura`, to mogę je jednocześnie wysłać do wizualizacji, alarmowania i archiwizacji bez dokładania kolejnych integracji po stronie źródła.

Publikowanie i subskrypcja rozdzielają role

W modelu publish/subscribe nadawca i odbiorca nie znają się nawzajem. To właśnie dlatego MQTT tak dobrze pasuje do systemów rozproszonych. Jeden klient może publikować status maszyny, drugi odbierać go do analizy trendów, a trzeci reagować tylko wtedy, gdy pojawi się zmiana stanu. Taki układ jest odporniejszy na modyfikacje niż klasyczne połączenia między konkretnymi urządzeniami.

Tematy porządkują komunikację

Temat jest tutaj kluczowy, bo to on decyduje, kto dostanie wiadomość. Dobrze zaprojektowana hierarchia tematów pozwala oddzielić linie produkcyjne, strefy budynku, typy danych i poziomy dostępu. Ja zwykle pilnuję, żeby topiki były czytelne od samego początku, bo późniejsza przebudowa struktury bywa bardziej kosztowna niż sama implementacja.

Retained message i sesje pomagają odtworzyć stan

Retained message pozwala brokerowi przechować ostatnią wiadomość dla danego tematu, dzięki czemu nowy subskrybent od razu dostaje aktualny stan, zamiast czekać na kolejną publikację. To przydatne przy wartościach zmieniających się rzadko, na przykład przy trybie pracy urządzenia, stanie zaworu albo zadanej temperaturze. Z kolei sesje pomagają zachować ciągłość komunikacji, gdy klient rozłącza się i wraca do sieci.

Gdy ten model jest już jasny, łatwiej ocenić, dlaczego broker ma w automatyce znaczenie większe niż zwykły serwer wiadomości.

Dlaczego w automatyce ma to większe znaczenie niż się wydaje

W sterowaniu liczy się nie tylko sam transfer danych, ale też liczba zależności między elementami systemu. Gdy masz 10 czujników i 5 systemów odbiorczych, układ bez brokera może oznaczać 50 osobnych połączeń logicznych. Przy brokerze każdy klient łączy się z jednym punktem, więc całość robi się prostsza do utrzymania, testowania i rozbudowy.

Obszar Bez brokera Z brokerem
Liczba połączeń Wiele relacji punkt-punkt, które rosną wykładniczo Jeden wspólny punkt komunikacji dla wszystkich klientów
Zmiana odbiorcy Często wymaga poprawiania źródła danych Wystarczy zmienić subskrypcję po stronie odbiorcy
Rozbudowa systemu Coraz trudniejsza wraz z liczbą urządzeń Nowy klient dołącza bez przebudowy całej logiki
Diagnostyka Trzeba śledzić wiele relacji między urządzeniami Łatwiej obserwować ruch w jednym punkcie

Właśnie ta redukcja złożoności robi największą różnicę w budynkach, liniach produkcyjnych i systemach pomiarowych. Jeśli później trzeba dołożyć nowy panel operatorski albo kolejny analizator danych, nie ruszam źródłowych urządzeń, tylko dopinam nowy subskrybent. To oszczędza czas i zmniejsza ryzyko błędów podczas zmian serwisowych. Następny krok to funkcje, które decydują o niezawodności takiego układu.

Które funkcje naprawdę robią różnicę

Nie każda opcja protokołu jest równie ważna w praktyce. W automatyce najczęściej wracam do kilku mechanizmów, bo to one wpływają na stabilność i czytelność całego systemu. Reszta bywa dodatkiem, ale bez tych podstaw wdrożenie szybko zaczyna sprawiać kłopoty.

QoS nie jest jednym wyborem do wszystkiego

MQTT daje trzy poziomy QoS. QoS 0 oznacza wysłanie bez potwierdzenia, więc nadaje się do danych, które mogą okazjonalnie zniknąć, na przykład do szybkiej telemetrii. QoS 1 zapewnia dostarczenie co najmniej raz, ale trzeba liczyć się z możliwymi duplikatami, więc odbiorca powinien umieć je bezpiecznie przetworzyć. QoS 2 daje najwyższy poziom kontroli, ale kosztem większego narzutu i złożoności, dlatego stosuję go tylko tam, gdzie naprawdę ma to sens.

Praktyczna zasada jest prosta: im ważniejsza wiadomość, tym bardziej pilnuję potwierdzeń, ale nie zakładam, że wyższy QoS automatycznie rozwiąże problem projektu. Duplikaty, opóźnienia i błędy logiki aplikacyjnej nadal trzeba obsłużyć po stronie systemu.

Retained messages i Last Will porządkują stan urządzeń

Retained messages sprawdzają się przy prezentowaniu ostatniego znanego stanu. Jeśli urządzenie publikuje tylko wtedy, gdy coś się zmieni, nowy subskrybent dostaje od razu aktualną wartość i nie musi czekać na następną zmianę. To szczególnie ważne przy statusach pracy, zadanych wartościach i stanach awaryjnych.

Last Will działa z kolei jak komunikat awaryjny zapisany wcześniej w brokerze. Jeśli klient rozłączy się nieprawidłowo, broker może opublikować przygotowaną wiadomość w jego imieniu. W automatyce bardzo pomaga to przy wykrywaniu zaników komunikacji, rozłączeń paneli i awarii modułów edge.

Przeczytaj również: LAD w PLC - Jak pisać czytelne programy? Poradnik

Shared subscriptions ułatwiają skalowanie

Jeśli kilka usług ma analizować ten sam strumień danych, a jednocześnie nie chcesz, żeby każda wiadomość trafiała do wszystkich, przydają się subskrypcje współdzielone. Broker rozdziela wtedy wiadomości między klientów z tej samej grupy. To dobre rozwiązanie przy pracy równoległej, kolejkach zadań i obróbce dużej liczby zdarzeń.

Mechanizm Po co go używać Na co uważać
QoS 0 Szybka telemetria, gdy pojedyncza strata nie boli Brak potwierdzenia dostarczenia
QoS 1 Alarmy, stany i większość praktycznych zastosowań Możliwe duplikaty
QoS 2 Najbardziej wymagające wiadomości Większy narzut i niższa prostota
Retained Szybkie odtworzenie ostatniego stanu Trzeba pilnować porządku w danych
Last Will Wykrywanie nieplanowanego zniknięcia klienta Nie zastępuje pełnej logiki alarmowej

Gdy te elementy są dobrze dobrane, broker zaczyna pracować przewidywalnie. Później najważniejsze staje się już nie samo „czy działa”, ale „na czym to postawić i jak to utrzymać”.

Jak wybrać brokera do konkretnej instalacji

Nie ma jednego najlepszego wyboru dla każdej automatyki. Ja patrzę przede wszystkim na skalę, liczbę urządzeń, wymagania dotyczące dostępności i to, czy broker ma być tylko lekkim przekaźnikiem wiadomości, czy elementem większej platformy z regułami, monitoringiem i integracjami. Inny serwer wybiorę do małego obiektu, a inny do środowiska z wieloma lokalizacjami i dużym ruchem danych.

Typ rozwiązania Kiedy pasuje Mocne strony Ograniczenia
Lekki broker open-source Małe i średnie instalacje, laboratoria, pojedyncze obiekty Prosty start, niski narzut, łatwa konfiguracja Mniej zaawansowanych mechanizmów zarządzania i skalowania
Rozbudowany broker platformowy Kilkaset urządzeń, wiele tematów, potrzeba integracji i monitoringu Lepsza obserwowalność, clustering, większa elastyczność Większa złożoność wdrożenia i utrzymania
Usługa zarządzana Gdy liczy się czas wdrożenia i ograniczenie administracji Mniej pracy po stronie zespołu, prostsze utrzymanie infrastruktury Mniej kontroli nad pełnym stosem i zależność od dostawcy

Najczęstszy błąd, jaki widzę, to wybór brokera „na zapas” albo odwrotnie: zbyt małego, który po kilku miesiącach zaczyna być wąskim gardłem. Lepiej dobrać narzędzie do realnego scenariusza niż do ogólnej opinii z forum. Skoro to mamy ustalone, trzeba jeszcze domknąć bezpieczeństwo i konfigurację.

Bezpieczeństwo i konfiguracja, których nie warto odkładać

W praktyce właśnie tu najczęściej wychodzą błędy wdrożeniowe. Sam protokół jest lekki, ale to nie znaczy, że można go zostawić bez kontroli. Jeśli broker pracuje poza zamkniętą siecią testową, traktuję TLS, uwierzytelnianie i ACL jako standard, a nie opcję dodatkową.

  • TLS na porcie 8883 - szyfruje ruch i chroni dane przed podsłuchem.
  • Uwierzytelnianie klienta - użytkownik, hasło lub certyfikaty zależnie od skali i wymagań.
  • ACL - reguły, które określają, kto może publikować i kto może subskrybować konkretne topiki.
  • Unikalne client ID - bez tego łatwo o przypadkowe rozłączanie urządzeń.
  • Spójna polityka keepalive - broker szybciej zauważy martwy klient, ale bez nadmiernych fałszywych alarmów.
  • Monitorowanie - liczba połączeń, kolejki wiadomości, błędy autoryzacji i rozłączenia to dane, które warto mieć pod ręką od pierwszego dnia.

W środowisku przemysłowym pilnuję też porządku w nazwach tematów. Jedna linia, jedno urządzenie i jeden typ danych powinny mieć przewidywalny schemat, bo wtedy łatwiej ustawić uprawnienia i diagnozować awarie. Z takim porządkiem przejście do realnych zastosowań jest dużo prostsze.

Gdzie broker naprawdę pomaga, a gdzie lepiej go nie wciskać

MQTT bardzo dobrze sprawdza się w nadzorze i komunikacji zdarzeniowej. Poniżej kilka typowych scenariuszy, które w automatyce widzę najczęściej.

Scenariusz Co publikuje urządzenie Co robi odbiorca Dlaczego to działa
Pomiar temperatury Wartość z czujnika i status błędu SCADA, archiwum, dashboard Dane można rozdzielić na kilka systemów bez dublowania logiki
Status maszyny Praca, postój, awaria, tryb ręczny Panel operatorski i system raportowy Retained message od razu pokazuje aktualny stan
Alarm awarii Komunikat o zaniku komunikacji lub błędzie procesu System alarmowy i dyspozytor Last Will pozwala szybko wykryć zniknięcie klienta
Zadana wartość Setpoint dla wentylacji, ogrzewania lub pompy Sterownik wykonawczy Łatwo rozdzielić nadzór od wykonania
Energia i media Stan liczników, przepływy, zużycie Analiza kosztów i optymalizacja Broker porządkuje duży strumień danych z wielu punktów

Jest jednak granica, której nie ignoruję: MQTT nie jest dobrym wyborem do twardej, deterministycznej pętli sterowania w czasie rzeczywistym. Jeśli reakcja musi być liczona w pojedynczych milisekundach albo chodzi o funkcje bezpieczeństwa, zostawiam to lokalnej logice PLC, odpowiedniemu fieldbusowi lub układowi bezpieczeństwa, a broker wykorzystuję wyżej, do nadzoru i integracji. To podejście zwykle daje lepszy balans między elastycznością a niezawodnością.

Lista kontrolna przed uruchomieniem instalacji

  • Sprawdziłem, czy każdy klient ma unikalny identyfikator.
  • Uporządkowałem strukturę tematów tak, żeby dało się ją łatwo rozwijać.
  • Ustawiłem poziomy QoS zgodnie z wagą wiadomości, a nie „na wszelki wypadek”.
  • Włączyłem retained tam, gdzie chodzi o ostatni znany stan, a nie o historię.
  • Zdefiniowałem ACL dla publikacji i subskrypcji.
  • Przetestowałem rozłączenie klienta, ponowne połączenie i restart brokera.
  • Monitoruję połączenia, błędy autoryzacji i kolejki wiadomości od pierwszego dnia.

Jeśli te punkty są domknięte, broker przestaje być tylko techniczną przejściówką, a staje się stabilną warstwą komunikacyjną całej automatyki. I właśnie wtedy najlepiej widać, że dobrze zaprojektowany przepływ wiadomości oszczędza więcej czasu niż najbardziej efektowny panel operatorski.

FAQ - Najczęstsze pytania

Broker MQTT to centralny węzeł, który odbiera wiadomości od urządzeń (np. czujników) i przekazuje je tylko do tych klientów, którzy subskrybują dany temat. W automatyce upraszcza komunikację między wieloma urządzeniami, redukując złożoność połączeń punkt-punkt.
Najważniejsze mechanizmy to QoS (poziomy jakości usług), Retained Messages (przechowywanie ostatniego stanu), Last Will (komunikat o rozłączeniu klienta), TLS (szyfrowanie), ACL (kontrola dostępu) oraz dobrze zaprojektowana hierarchia tematów. Zapewniają one stabilność i bezpieczeństwo systemu.
MQTT jest idealne do telemetrii, alarmów, statusów urządzeń i prostych komend, zwłaszcza w systemach rozproszonych. Nie nadaje się jednak do twardej pętli sterowania w czasie rzeczywistym, gdzie wymagane są milisekundowe reakcje lub funkcje bezpieczeństwa.
Częste błędy to złe nazewnictwo tematów, brak autoryzacji i zbyt szerokie wildcardy. Ważne jest też niedocenianie bezpieczeństwa (brak TLS, uwierzytelniania) oraz wybór brokera niedopasowanego do skali i wymagań instalacji.
Broker MQTT znacznie redukuje złożoność systemu, ponieważ każde urządzenie łączy się tylko z jednym punktem. Ułatwia to rozbudowę, diagnostykę i utrzymanie, a także pozwala na elastyczne dodawanie nowych odbiorców danych bez zmian w źródle.

Oceń artykuł

Średnia: 0.0 / 5 · 0 ocen

Tagi

broker mqtt broker mqtt automatyka przemysłowa mqtt w sterowaniu zastosowanie mqtt w przemyśle jak działa broker mqtt mqtt dla systemów scada
Autor Robert Borkowski
Robert Borkowski
Nazywam się Robert Borkowski i od 7 lat zajmuję się tematyką techniki warsztatowej, elektryki oraz automatyki. Moje zainteresowanie tymi dziedzinami zaczęło się już w młodości, kiedy to zafascynowały mnie różnorodne mechanizmy i urządzenia. Lubię dzielić się wiedzą na temat rozwiązywania problemów związanych z elektroniką oraz automatyzacją, co sprawia, że każdy artykuł piszę z myślą o tym, aby był zrozumiały i przydatny dla czytelników. W swojej pracy staram się zawsze weryfikować źródła informacji i porównywać różne podejścia do omawianych zagadnień. Zależy mi na tym, aby moje teksty były nie tylko aktualne, ale także przystępne, co pozwala na łatwiejsze przyswajanie skomplikowanych tematów. Dzięki temu mam nadzieję, że mogę pomóc innym w lepszym zrozumieniu techniki warsztatowej oraz elektryki i automatyki, a także śledzić najnowsze trendy w tych obszarach.

Komentarze (0)

Dodaj komentarz