Przejdź do treści

Klient MQTT

Protokół MQTT przeznaczony jest przede wszystkim do wymiany danych pomiędzy urządzeniami Internetu Rzeczy a serwerami i urządzeniami klienckimi np. smartfonami.

Główną jego zaletą jest utrzymywanie połączenia w obie strony, dzięki czemu możliwe jest proste sterowanie Lan Kontrolerem znajdującym się w sieci lokalnej z telefonu będącego w lokalnej sieci operatora.

MQTT Client

Elementy strony

  1. Status połączenia z serwerem MQTT.
  2. Fragment adresu MAC urządzenia używany przez nie jako clientID przy łączeniu się z serwerem.
  3. Formularz konfiguracji połączenia.
    • Włączenie klienta MQTT.
    • Włączenie uwierzytelniania użytkownik/hasło.
    • Użyj TLS.
    • Użyj LWT (aby opublikować stan połączenia na temat [Prefix tematu]/connected, 1 - połączony, 0 - rozłączony).
    • Wyślij przez modem GSM (zamiast połączenia Ethernet).
    • Adres serwera może być podany jako adres IP lub nazwa hosta.
    • Port komunikacji, domyślnie wykorzystywany do połączeń bez szyfrowania jest 1883.
    • Login/nazwa użytkownika, wykorzystywana do uwierzytelnienia.
    • Hasło wykorzystywane do uwierzytelnienia.
    • Prefix to bazowa część tematów, wykorzystywanych przez LK. Wszystkie tematy wysyłania oraz temat subskrypcji zaczynają się od prefixu.
    • Okres wysyłania, czyli co ile sekund będą wysyłane wybrane dane.
    • Parametr keep-alive.
    • Wybór odczytów do cyklicznego wysyłania (zaznaczyć pożądane).
    • Wybór odczytów, które będą wysłane przy zmianie.
  4. Przyciski zapisania ustawień oraz link do serwisu mqtt.ats.pl, który pozwala na wykorzystanie klienta MQTT na LK.

Usługa mqtt.ats.pl

Usługa mqtt.ats.pl jest darmowa i pozwala na połączenie do 5-ciu urządzeń.

Dane z podłączonych urządzeń są archiwizowane i dostępne do wglądu na wykresach.

Możliwe jest też definiowanie zdarzeń podobnych do tych w zakładce Zdarzenia, przy czym warunki mogą obejmować wiele urządzeń - zdarzenie na jednym może być wykorzystane do sterowania innym.

Za pomocą klienta MQTT WebSocket dostępnego na serwisie można zdalnie sterować swoimi urządzeniami. Dostępna jest również aplikacja mobilna pozwalająca na podgląd odczytów oraz sterowanie urządzeniami.

Instrukcję połączenia LK3 z serwerem znajdziesz w dokumentacji mqtt.ats.pl.

Polecenia MQTT

Do Lan Kontrolera można wysyłać polecenia za pośrednictwem protokołu MQTT. Należy je wysyłać na temat <Prefiks tematu>/cmd, a potwierdzenia/odpowiedzi z LK odbierać na temacie <Prefiks tematu>/cmdr.

Dostępne są następujące polecenia (dla wersji SW 1.44):

  • outX=1 - włącz wyjście, gdzie X określa numer wyjścia (0 – 5)
  • outX=0 - wyłącz wyjście, gdzie X określa numer wyjścia (0 – 5)
  • pwmX=1 - włącz wyjście PWM, gdzie X określa numer wyjścia PWM (0 – 3)
  • pwmX=0 - wyłącz wyjście PWM, gdzie X określa numer wyjścia PWM (0 – 3)
  • pwmfX=Y - ustaw częstotliwość PWM, gdzie X określa grupę wyjść PWM (0 dla PWM0, 1 dla PWM1-PWM3), a Y to cęstotliwość w Hz (50-100000)
  • pwmdX=Y - ustaw współczynnik wypełnienia dla wyjścia, gdzie X określa numer wyjścia PWM (0 – 3), a Y wartość w procentach (0-100)
  • eventX=Y - ustaw wartość wirtualnej zmiennej EVENT, gdzie X określa numer zmiennej (1-8), a Y wartość (0 lub 1)
  • read - wyślij wszystkie odczyty wybrane do okresowego wysyłania po MQTT (akcja nie wpływa na okresowe wysyłanie)

Uwagi

Uwaga odnośnie zapisywania formularza

Pola login i hasło są wymagane nawet w razie nie używania uwierzytelniania ze względu na pewne założenia po stronie urządzenia. W związku z tym należy wtedy w wspomniane pola wpisać cokolwiek, np. spację.

Uwaga na temat LK 3.0

LK 3.0 nie obsługuje TLS, funkcji LWT i wysyłania odczytów przy zmianie ich stanu.