MQTT

Plugin MQTT umożliwia komunikację z brokerem (serwerem) MQTT w sieci. Miniserver zawsze działa jako klient MQTT i obsługuje wysyłanie („publikowanie”) danych do i odbieranie („subskrybowanie”) danych od brokera.

MQTT (Message Queuing Telemetry Transport) to prosty i lekki protokół, który może być wykorzystywany do komunikacji między urządzeniami. Jest szeroko stosowany w aplikacjach „Internetu rzeczy” (IoT), np. do zbierania danych z czujników lub sterowania inteligentnymi urządzeniami.

Wymagany jest broker MQTT, do którego Miniserver może subskrybować i publikować. Miniserver może zarządzać 16 subskrypcjami (wejściami) oraz 16 publikacjami (wyjściami).

Należy pamiętać, że Miniserver Gen. 1 nie jest obsługiwany.

Spis treści


Tworzenie i konfigurowanie obiektu

Wtyczka MQTT jest zintegrowana poprzez peryferia sieciowe:

Jedna wtyczka MQTT może jednocześnie łączyć się tylko z jednym brokerem. Skonfiguruj ustawienia w następujący sposób:


Wysyłanie/odbieranie danych

Aby otrzymywać dane od brokera (subskrybować) lub wysyłać dane do brokera (publikować), należy utworzyć odpowiedni obiekt:

Wysyłanie i odbieranie wiadomości jest zawsze oparte na tematach, które służą jako ścieżka lub adres identyfikujący dane. Subskrypcje mogą nasłuchiwać wielu tematów jednocześnie przy użyciu (symboli wieloznacznych). Publikacje nie obsługują symboli wieloznacznych.

Przykład tematu:
Jeśli dane mają zostać wysłane do czujnika temperatury w salonie, odpowiedni temat może wyglądać następująco:
home/livingroom/temperature

Subskrypcja:

Subskrybuj (odbierz):
Odbiera wartości w określonym temacie od brokera.
Inne urządzenie lub aplikacja może subskrybować ten temat, aby odbierać przesyłane wiadomości. Na przykład termostat może zasubskrybować temat home/livingroom/temperature, aby uzyskać dane dotyczące temperatury.

Jeśli odbierane są dane w formacie JSON lub podobnym, zaleca się użycie bloku „Rozpoznawanie poleceń” w celu wyodrębnienia wartości analogowej z danych.

Zmiany wartości subskrypcji są oceniane co najwyżej raz na 2 sekundy. Jeśli zmiana wartości nastąpi w ciągu 2 sekund od poprzedniej, nowa zmiana zostanie zapisana w pamięci podręcznej. Po upływie 2-sekundowego interwału przetworzona zostanie najnowsza zmiana. Takie podejście pomaga zmniejszyć obciążenie Miniservera, zwłaszcza gdy wiele zmian jest wysyłanych do tematu w krótkim czasie.

Symbole wieloznaczne w subskrypcjach:
Aby uniknąć konieczności subskrybowania każdego tematu z osobna, MQTT obsługuje symbole wieloznaczne, które umożliwiają subskrypcję wielu tematów jednocześnie:

Jednopoziomowy symbol wieloznaczny (+): Zastępuje dokładnie jeden poziom tematu w ścieżce tematu.

Przykład:
home/+/temperature

Ta subskrypcja odbiera wiadomości ze wszystkich pomieszczeń w domu, które wysyłają dane o temperaturze, takie jak:
home/livingroom/temperature
home/kitchen/temperature
$

Wielopoziomowy symbol wieloznaczny (#): Obejmuje wszystkie kolejne poziomy tematu w ścieżce tematu i musi być użyty na końcu ścieżki.

Przykład:
home/#

Ta subskrypcja odbiera wszystkie wiadomości zaczynające się od home/, niezależnie od liczby kolejnych poziomów, takich jak:
home/livingroom/temperature
home/kitchen/humidity
home/garage/car/battery

Tylko subskrypcje obsługują symbole wieloznaczne, publikacje nie. Urządzenie może wysyłać wiadomości tylko do określonego tematu, a nie do wielu tematów jednocześnie.

Publikacja:

Opublikuj (wyślij):
Urządzenie (klient) wysyła wiadomość do określonego tematu. W powyższym przykładzie czujnik temperatury wysłałby aktualną temperaturę do home/livingroom/temperature.


Czujniki

Krótki opis Jednostka
Subscription Tekst




Aktory

Krótki opis Jednostka
Publish Tekst




Wejścia diagnostyczne

Krótki opis Opis Jednostka Zakres wartości
Onlinestatus Wskazuje, czy urządzenie jest dostępne przez Miniserver.
Diagnostyka urządzeń Air
Diagnostyka urządzeń Tree
Diagnostyka rozszerzeń
Cyfrowy 0/1




Właściwości

Krótki opis Opis Zakres wartości Wartość standardowa
Adres brokera Adres sieciowy brokera MQTT - -
Port brokera Port sieciowy brokera MQTT (domyślnie: 1883) 0...65535 -
Wersja protokołu Wersja protokołu MQTT obsługiwana przez brokera MQTT (domyślnie: MQTTv5) - -
Client ID Identyfikator tego klienta MQTT. Identyfikator musi być unikalny podczas łączenia się z brokerem MQTT! W przypadku korzystania z protokołu MQTTv3 identyfikator jest skracany do 23 znaków. - -
Nazwa użytkownika Nazwa użytkownika do uwierzytelniania w brokerze MQTT. Pozostaw puste dla anonimowego logowania (jeśli zezwala na to broker MQTT). - -
Hasło Hasło do uwierzytelniania w brokerze MQTT. Pozostaw puste dla logowania anonimowego (jeśli zezwala na to broker MQTT). - -
Używanie SSL/TLS Użyj połączenia SSL/TLS z brokerem MQTT. - -
Monitoruj usługę Jeśli zaznaczone, zostaniesz powiadomiony przez Status systemu lub Cloud Mailer, jeśli ta usługa nie jest już dostępna lub jest offline. - -