Mosquitto: Verständnis von MQTT-Themen

Diese Dokumentation ist Teil des Erste Schritte-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie man mit Mosquitto beginnt.

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite Mosquitto MQTT Cloud Lösung, die zahlreiche Vorteile bietet, darunter:

  • Unbegrenzter Nachrichtenaustausch und -transfer.
  • Unbegrenzte Geräteauthentifizierung über eine externe API.
  • Erweiterte ACLs für Themen, Benutzer und Aktionen.
  • Anpassbarer Domainname gesichert mit HTTPS (zum Beispiel, https://mqtt.ihre-firma.com).
  • Mühelose Updates mit nur einem Klick.
  • Optimale Leistung und robuste Sicherheit durch eine private und dedizierte VM.

Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Mosquitto MQTT Cloud Hosting Lösung von Stackhero auszuprobieren!

MQTT organisiert die Kommunikation in "Topics", die als Kanäle zum Veröffentlichen und Abonnieren von Daten dienen. Geräte veröffentlichen Nachrichten zu bestimmten Themen oder abonnieren diese, um relevante Updates zu erhalten.

Themen in MQTT sind groß- und kleinschreibungssensitiv, müssen UTF-8-Zeichen enthalten und erfordern mindestens ein Zeichen. Die Hierarchie innerhalb der Themen wird durch das Schrägstrich-Zeichen (/) definiert.

Hier ist ein Beispiel für die Einrichtung von IoT-Geräten, die Temperatur- und Feuchtigkeitsdaten sammeln, identifiziert durch ihre MAC-Adressen:

  • Für ein Gerät mit der MAC-Adresse 00:00:00:00:00:00:

    • Temperatur: devices/00:00:00:00:00:00/temperature
    • Feuchtigkeit: devices/00:00:00:00:00:00/humidity
  • Für ein Gerät mit der MAC-Adresse 11:11:11:11:11:11:

    • Temperatur: devices/11:11:11:11:11:11/temperature
    • Feuchtigkeit: devices/11:11:11:11:11:11/humidity

Anwendungen können ein spezifisches Thema abonnieren, wie z.B. devices/00:00:00:00:00:00/temperature, um Daten vom entsprechenden IoT-Gerät zu erhalten.

MQTT unterstützt Wildcards für eine effiziente Themenverwaltung:

  • Das +-Wildcard entspricht einer einzelnen Ebene in der Themenhierarchie. Zum Beispiel erfasst das Abonnieren von devices/+/temperature Themen wie devices/1/temperature, aber nicht devices/1/2/temperature.

  • Das #-Wildcard entspricht mehreren Ebenen. Zum Beispiel entspricht devices/# Themen wie devices/1/temperature, devices/2/humidity und devices/1/2/somethingElse.