MQTT-Tutorial
MQTT verstehen: den Weg einer Nachricht von Ende zu Ende verfolgen
Verbinden Sie einen Client, veröffentlichen Sie Telemetrie, abonnieren Sie ein Topic und machen Sie das Design anschließend mit bewussten Entscheidungen zu QoS, Sitzungen, Retain-Nachrichten und Sicherheit produktionsbereit.
MQTT in vier Konzepten
MQTT hält Clients schlank, indem Verbindungsverwaltung, Topic-Matching und Zustellungskoordination in den Broker verlagert werden.
Client
Topic
Nachricht
Veröffentlichen und empfangen Sie Ihre erste Nachricht
Verwenden Sie zwei Terminals, damit Sie sehen können, wie der Broker den Veröffentlichungsclient vom Abonnenten entkoppelt.
- 01
Starten Sie den Abonnenten
Stellen Sie die Verbindung mit einer eindeutigen Client-ID her und abonnieren Sie das Topic vor dem Publish, damit die erste Live-Nachricht sichtbar ist.
- 02
Telemetriedaten veröffentlichen
Senden Sie mit demselben Broker und passenden Zugangsdaten eine kleine JSON-Payload exakt an dieses Topic.
- 03
Lieferung überprüfen
Prüfen Sie Topic, Payload, QoS, Zeitstempel und Client-Identität, bevor Sie Wildcards oder Retained Messages hinzufügen.
mosquitto_sub \
-h "$MQTT_HOST" -p 8883 \
-u "$MQTT_USERNAME" -P "$MQTT_PASSWORD" \
-i "tutorial-sub-01" \
-t "factory/line-1/motor-7/telemetry" \
-q 1 -vmosquitto_pub \
-h "$MQTT_HOST" -p 8883 \
-u "$MQTT_USERNAME" -P "$MQTT_PASSWORD" \
-i "tutorial-pub-01" \
-t "factory/line-1/motor-7/telemetry" \
-q 1 \
-m '{"temperature":61.8,"vibration":2.1}'Wählen Sie QoS aus der Geschäftskonsequenz
Eine höhere QoS-Stufe erfordert zusätzliche Handshakes und mehr Zustand. Dadurch wird die Anwendung nicht automatisch korrekt.
| QoS-Ebene | Lieferung | Geeignet für | Abwägung |
|---|---|---|---|
| QoS 0 | Höchstens einmal; keine Bestätigung | Häufige Telemetrie, bei der der nächste Messwert den letzten ersetzt | Geringster Overhead, aber Verlust ist möglich |
| QoS 1 | Mindestens einmal; Duplikate sind möglich | Zustandsänderungen, Warnungen und Befehle mit idempotenten Consumern | Bestätigung und Deduplizierung sind erforderlich |
| QoS 2 | Genau einmal auf der Protokollebene MQTT | Seltene Arbeitsabläufe mit einer genau einmal gemessenen Anforderung | Vierteiliger Handshake, mehr Status und mehr Latenz |
Topics für Eigentum und Autorisierung gestalten
Ein Topic-Baum wird zu einem API. Sorgen Sie für Stabilität, dokumentieren Sie jede Ebene und machen Sie die Berechtigungsgrenzen deutlich.
factory/{site}/{line}/{device}/{channel}
factory/shanghai/line-1/motor-7/telemetry
factory/shanghai/line-1/motor-7/state
factory/shanghai/line-1/motor-7/command
# Subscribe to telemetry from one line
factory/shanghai/line-1/+/telemetry
# Reserve broad multi-level subscriptions for trusted services
factory/shanghai/#Wechseln Sie von einer erfolgreichen Demo zu einem zuverlässigen System
Eine Identität pro Gerät
Bewusst konfigurierte Sessions
Gemessene Kapazität
Nachvollziehbarer Betrieb
Häufig gestellte Fragen zum MQTT-Tutorial
Funktioniert MQTT ohne Broker?
Das standardmäßige MQTT-Publish-Subscribe-Modell verwendet einen Broker, um Verbindungen zu akzeptieren, Topics abzugleichen und Nachrichten zuzustellen. Clients entdecken einander nicht oder leiten sie nicht direkt aneinander weiter.
Welchen MQTT QoS sollte ich zuerst wählen?
Beginnen Sie mit QoS 0 für häufig austauschbare Telemetrie und QoS 1 für Statusänderungen oder Befehle, die eintreffen müssen. Verwenden Sie QoS 2 erst, nachdem Sie die Kosten gemessen und eine genau einmalige Anforderung nachgewiesen haben.
Ist eine aufbewahrte Nachricht dasselbe wie der Nachrichtenverlauf?
Nein. Eine Retained Message speichert für neue Subscriber nur den letzten beibehaltenen Wert eines Topics. Verwenden Sie eine Datenbank oder einen Stream-Speicher, wenn Consumer Verlauf, Abfragen oder Replay benötigen.
Wofür werden die Ports 1883 und 8883 verwendet?
Port 1883 überträgt normalerweise einfach MQTT über TCP. Port 8883 überträgt üblicherweise MQTT über TLS. Produktionsclients sollten Zertifikate validieren und verschlüsselten Transport verwenden.
Lernen Sie weiter
Nutzen Sie die öffentliche Sandbox für einmalige Tests und vertiefen Sie dann die Sicherheits- und Architekturentscheidungen, die in der Produktion wichtig sind.
Öffentlicher MQTT-Broker
Kopieren Sie die Testverbindungsdetails und machen Sie sich mit den Sandbox-Grenzwerten vertraut.
MQTT-Sicherheit
Sichern Sie Transport, Identität, Topic-Zugriff und Lebenszyklus von Anmeldeinformationen.
MQTT-QoS-Labor
Reproduzieren Sie QoS 0, 1 und 2 Paketflüsse, erneute Verbindungen und die Duplikatbehandlung.
Verwaltete Brokerbeweise
Prüfen Sie einen datierten, reproduzierbaren Testlauf für TLS/WSS, QoS, Sessions, ACLs und kontrollierte Last.
Browser MQTT über WSS
Wählen Sie zwischen MQTT, nativem WebSocket und MQTT über WSS und führen Sie das reproduzierbare Sandbox-Beispiel aus.