Mosquitto: Zrozumienie tematów MQTT

Ta dokumentacja jest częścią przewodnika Pierwsze kroki. Pełny przewodnik znajdziesz tutaj: Jak zacząć z Mosquitto.

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje gotowe do użycia rozwiązanie Mosquitto MQTT cloud, które zapewnia wiele korzyści, w tym:

  • Nieograniczoną wymianę i transfer wiadomości.
  • Nieograniczoną autoryzację urządzeń za pomocą zewnętrznego API.
  • Zaawansowane ACL na tematy, użytkowników i działania.
  • Dostosowywalną nazwę domeny zabezpieczoną za pomocą HTTPS (na przykład, https://mqtt.twoja-firma.com).
  • Łatwe aktualizacje za pomocą jednego kliknięcia.
  • Optymalną wydajność i solidne bezpieczeństwo dzięki prywatnej i dedykowanej VM.

Oszczędzaj czas i upraszczaj swoje życie: wystarczy 5 minut, aby wypróbować rozwiązanie Mosquitto MQTT cloud hosting Stackhero!

MQTT organizuje komunikację w "tematy", które działają jako kanały do publikowania i subskrybowania danych. Urządzenia publikują wiadomości na określonych tematach lub subskrybują je, aby otrzymywać odpowiednie aktualizacje.

Tematy w MQTT są wrażliwe na wielkość liter, muszą zawierać znaki UTF-8 i wymagać co najmniej jednego znaku. Hierarchia w tematach jest definiowana za pomocą znaku ukośnika (/).

Oto przykład konfiguracji dla urządzeń IoT zbierających dane o temperaturze i wilgotności, identyfikowanych przez ich adresy MAC:

  • Dla urządzenia z adresem MAC 00:00:00:00:00:00:

    • Temperatura: devices/00:00:00:00:00:00/temperature
    • Wilgotność: devices/00:00:00:00:00:00/humidity
  • Dla urządzenia z adresem MAC 11:11:11:11:11:11:

    • Temperatura: devices/11:11:11:11:11:11/temperature
    • Wilgotność: devices/11:11:11:11:11:11/humidity

Aplikacje mogą subskrybować konkretny temat, taki jak devices/00:00:00:00:00:00/temperature, aby otrzymywać dane z odpowiedniego urządzenia IoT.

MQTT obsługuje symbole wieloznaczne dla efektywnego zarządzania tematami:

  • Symbol + pasuje do jednego poziomu w hierarchii tematów. Na przykład, subskrybując devices/+/temperature, obejmuje tematy takie jak devices/1/temperature, ale nie devices/1/2/temperature.

  • Symbol # pasuje do wielu poziomów. Na przykład, devices/# obejmuje tematy takie jak devices/1/temperature, devices/2/humidity i devices/1/2/somethingElse.