MQTT
Połącz się z brokerem MQTT i odczytuj wartości publikowane w tematach, z opcjonalnym QoS i szyfrowaniem.
MQTT odczytuje wartości publikowane w tematach na brokerze MQTT. Łączysz się z brokerem raz i tworzysz tag dla każdego tematu, który chcesz odczytywać.
Łączenie z brokerem
| Ustawienie | Działanie |
|---|---|
| Nazwa | Identyfikuje urządzenie (z opcjonalną nazwą niestandardową). |
| Włączony | Czy THMI łączy się z brokerem. Wyłącz tę opcję, aby zatrzymać komunikację i zbieranie wartości bez usuwania urządzenia. |
| Temat bazowy | Przedrostek dodawany do tematów poszczególnych tagów, dzięki czemu każdy tag potrzebuje tylko własnego podtematu. |
| Protokół | Sposób łączenia THMI z brokerem: MQTTS (TLS, zalecany), MQTT (bez szyfrowania), WSS (MQTT przez bezpieczny WebSocket) lub WS (zwykły WebSocket). |
| Host | Nazwa hosta lub adres IP brokera. |
| Port | Port brokera, zwykle 8883 dla MQTTS lub 1883 dla MQTT. |
| Nazwa użytkownika / Hasło | Dane logowania, jeśli broker ich wymaga. |
Jakość usługi i zachowane wiadomości
- Jakość usługi (QoS): niezawodność dostarczania wiadomości: 0 – co najwyżej raz, 1 – co najmniej raz lub 2 – dokładnie raz. Wyższe poziomy dają większą pewność odbioru kosztem większego ruchu.
- Zachowana: sprawia, że ostatnia wiadomość w danym temacie jest przechowywana przez broker i dostarczana nowym subskrybentom zaraz po połączeniu, dzięki czemu tag ma wartość od razu, zamiast czekać na następną publikację.
- Potwierdzenie odbioru: wysyła potwierdzenie po pomyślnym odebraniu wiadomości. Jest niezbędne do poprawnego działania QoS 1 i QoS 2 na urządzeniu docelowym.
Szyfrowanie danych
Opcjonalnie możesz włączyć szyfrowanie danych dla payloadu wiadomości, wybierając algorytm (AES lub DES) oraz podając klucz i wektor inicjujący (ich wymagane rozmiary zależą od algorytmu).
Kontrola kondycji
Opcjonalnie możesz włączyć kontrolę kondycji, która okresowo sprawdza połączenie, z ustawieniami Interwał (domyślnie 60 sekund) i Limit czasu (domyślnie 10 sekund).
Odczyt wartości: temat
Każdy tag MQTT odczytuje jeden temat, dołączany do tematu bazowego urządzenia. THMI traktuje temat wartości jako bazę i wymienia wiadomości JSON w dwóch podtematach poniżej niego:
| Podtemat | Kierunek | Payload |
|---|---|---|
{base topic}/{topic}/read | broker → THMI (wartość) | { "v": <value> } |
{base topic}/{topic}/write | THMI → broker (zapisy) | { "v": <value> } |
Tag z tematem bazowym building-a i tematem boiler/temp odczytuje więc dane z
building-a/boiler/temp/read. Ustaw typ danych zgodnie z publikowaną
wartością (zobacz Typy danych). Opcja
Zapisywalny pozwala użytkownikom z odpowiednim uprawnieniem publikować
wartość w podtemacie …/write (zobacz Wartości).