Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit IoT Hub können Geräte die folgenden Protokolle für die geräteseitige Kommunikation verwenden:
- MQTT
- MQTT über WebSockets
- Advanced Message Queuing Protocol (AMQP)
- AMQP über WebSockets
- HTTPS
Hinweis
IoT Hub bietet eingeschränkte Featureunterstützung für MQTT. Wenn Ihre Lösung MQTT v3.1.1 oder v5-Unterstützung benötigt, lesen Sie die Übersicht über das MQTT-Broker-Feature in Azure Event Grid. Weitere Informationen finden Sie im Abschnitt Vergleich der MQTT-Unterstützung in IoT Hub und Event Grid unter Kommunizieren Sie mit einem IoT-Hub über das MQTT-Protokoll.
Informationen dazu, wie diese Protokolle bestimmte IoT Hub-Features unterstützen, finden Sie im Leitfaden zur D2C-Kommunikation und im Leitfaden zur C2D-Kommunikation.
Die folgende Tabelle enthält allgemeine Ratschläge für Ihre Protokollauswahl:
| Protocol | Wann Sie dieses Protokoll auswählen sollten |
|---|---|
| MQTT MQTT über WebSockets |
Verwenden Sie dieses Protokoll auf allen Geräten, die sich nicht über dieselbe TLS-Verbindung mit mehreren Geräten verbinden müssen (wobei es für jedes Gerät eigene Anmeldeinformationen gibt). |
| AMQP AMQP über WebSockets |
Verwenden Sie es für Feld- und Cloudgateways, um die Vorteile geräteübergreifender Multiplexingverbindungen zu nutzen. |
| HTTPS | Verwenden Sie dieses Protokoll für Geräte, die keine anderen Protokolle unterstützen können. |
Beachten Sie bei der Auswahl des Protokolls für die geräteseitige Kommunikation folgende Punkte:
C2D-Muster. HTTPS bietet keine effiziente Methode zum Implementieren von Serverpushvorgängen. Daher fragen Geräte IoT Hub bei Verwendung von HTTPS nach Cloud-zu-Gerät (C2D)-Nachrichten ab. Dieser Ansatz ist für das Gerät und auch für IoT Hub sehr ineffizient. Gemäß den aktuellen HTTPS-Richtlinien muss jedes Gerät mindestens alle 25 Minuten eine Abfrage nach Nachrichten durchführen. Die Ausgabe von mehr HTTPS-Empfangsvorgängen führt dazu, dass die Anforderungen von IoT Hub gedrosselt werden. MQTT und AMQP unterstützen Serverpush beim Empfangen von C2D-Nachrichten. Sie ermöglichen sofortiges Nachrichtenpushen von IoT Hub zum Gerät. Wenn die Übermittlungslatenz eine wichtige Rolle spielt, sind MQTT oder AMQP die zu bevorzugenden Protokolle. Bei nur selten verbundenen Geräten funktioniert auch HTTPS.
Bereichsgateways. MQTT und HTTPS unterstützen nur eine einzelne Geräteidentität (Geräte-ID plus Anmeldeinformationen) pro TLS-Verbindung. Aus diesem Grund werden diese Protokolle bei Szenarien mit Bereichsgateways nicht unterstützt, die ein Multiplexing von Nachrichten unter Verwendung mehrerer Geräteidentitäten entweder über eine einzelne Verbindung oder über mehrere Upstreamverbindungen mit IoT Hub erfordern. Solche Gateways können für den Upstreamdatenverkehr ein Protokoll verwenden, das mehrere Geräteidentitäten pro Verbindung unterstützt, wie z. B. AMQP.
Geräte mit eingeschränkten Ressourcen. Die MQTT- und HTTPS-Bibliotheken haben weniger Speicherbedarf als die AMQP-Bibliotheken. Wenn das Gerät begrenzte Ressourcen bereitstellt (z. B. weniger als 1 MB RAM), sind diese Protokolle möglicherweise die einzige verfügbare Protokollimplementierung.
Netzwerkausnahme. Das AMQP-Standardprotokoll verwendet Port 5671, und MQTT lauscht an Port 8883. Die Verwendung dieser Ports könnte Probleme in Netzwerken verursachen, die für Nicht-HTTPS-Protokolle geschlossen sind. Verwenden Sie MQTT über WebSockets, AMQP über WebSockets oder HTTPS in diesem Szenario.
Größe der Nutzlast. MQTT und AMQP sind binäre Protokolle und weisen daher kompaktere Nutzlasten als HTTPS auf.
Warnung
Wenn Geräte das HTTPS-Protokoll verwenden, sollte jedes Gerät nicht mehr als einmal alle 25 Minuten für Cloud-zu-Gerät-Nachrichten abfragen. Bei der Entwicklung kann jedes Gerät bei Bedarf häufiger Abfragen durchführen.
Portnummern
Geräte können mit IoT Hub in Azure über verschiedene Protokolle kommunizieren. In der Regel bestimmen die spezifischen Anforderungen der Lösung die Auswahl des Protokolls. Die folgende Tabelle enthält die ausgehenden Ports, die geöffnet sein müssen, damit ein Gerät ein bestimmtes Protokoll verwenden kann:
| Protocol | Port |
|---|---|
| MQTT | 8883 |
| MQTT über WebSockets | 443 |
| AMQP | 5671 |
| AMQP über WebSockets | 443 |
| HTTPS | 443 |
Die IP-Adresse eines IoT-Hubs kann ohne vorherige Ankündigung geändert werden. Wenn Sie erfahren möchten, wie Sie die Auswirkungen von IP-Adressänderungen bei IoT-Hubs auf Ihre IoT-Lösung und IoT-Geräte verringern können, lesen Sie unter IP-Adressen von IoT Hub den Abschnitt Bewährte Methoden.
Nächste Schritte
Weitere Informationen dazu, wie IoT Hub das MQTT-Protokoll implementiert, finden Sie unter Kommunizieren mit einem IoT-Hub mithilfe des MQTT-Protokolls.