Geräteinfrastruktur und -konnektivität
In dieser Übersicht werden die wichtigsten Konzepte für die Verbindung von Geräten mit der Cloud in einer typischen Azure IoT-Lösung vorgestellt. Außerdem werden optionale Infrastrukturelemente wie Gateways und Brücken erläutert. Jeder Abschnitt enthält Links zu Inhalten, die weitere Details und Anleitungen enthalten.
IoT Central-Anwendungen nutzen intern die Dienste IoT Hub und Device Provisioning Service (DPS). Daher gelten die Konzepte in diesem Artikel unabhängig davon, ob Sie IoT Central verwenden, um ein IoT-Szenario zu untersuchen, oder Ihre Lösung mithilfe von IoT Hub und DPS erstellen.
Das folgende Diagramm zeigt eine allgemeine Übersicht der Komponenten in einer typischen IoT-Lösung. Dieser Artikel konzentriert sich auf die Konnektivität zwischen den Geräten und den IoT-Clouddiensten, einschließlich Gateways und Brücken, die im Diagramm dargestellt sind.
Grundtypen
Azure IoT-Geräte verwenden die folgenden Grundtypen, um Daten mit Clouddiensten auszutauschen. Geräte verwenden:
- Gerät-zu-Cloud-Nachrichten zum Senden von Zeitreihen-Telemetriedaten an die Cloud. Beispielsweise Temperaturdaten, die von einem Sensor erfasst werden, der an das Gerät angeschlossen ist.
- Gerätezwillinge zum Freigeben und Synchronisieren von Statusdaten mit der Cloud. Beispielsweise kann ein Gerät den Gerätezwilling verwenden, um den aktuellen Status eines von ihm gesteuerten Ventils an die Cloud zu melden und eine gewünschte Zieltemperatur von der Cloud zu empfangen.
- Digitale Zwillinge zum Darstellen eines Geräts in der digitalen Welt. Beispielsweise kann ein digitaler Zwilling den physischen Standort eines Geräts, seine Funktionen und seine Beziehungen zu anderen Geräten darstellen.
- Dateiuploads für Mediendateien, z. B. erfasste Bilder und Videos. Zeitweilig verbundene Geräte können Telemetrie-Batches senden. Geräte können Uploads komprimieren, um Bandbreite zu sparen.
- Direkte Methoden zum Empfangen von Befehlen aus der Cloud. Eine direkte Methode kann Parameter enthalten und eine Antwort zurückgeben. Beispielsweise kann die Cloud eine direkte Methode aufrufen, um den Neustart des Geräts anzufordern.
- Cloud-zu-Gerät-Nachrichten erhalten unidirektionale Benachrichtigungen aus der Cloud. Beispielsweise eine Benachrichtigung, dass ein Update zum Download bereit ist.
Weitere Informationen finden Sie unter Leitfaden zur Gerät-zu-Cloud-Kommunikation und Leitfaden zur Cloud-zu-Gerät-Kommunikation.
Geräteseitige Cloudendpunkte
Ein Azure IoT-Hub macht eine Sammlung von Geräteendpunkten verfügbar, mit denen Geräte Daten mit der Cloud austauschen können. Zu diesen Endpunkten gehören:
- Senden von D2C-Nachrichten. Ein Gerät verwendet diesen Endpunkt, um D2C-Nachrichten zu senden.
- Abrufen und Aktualisieren der Eigenschaften von Gerätezwillingen. Ein Gerät verwendet diesen Endpunkt für den Zugriff auf die Eigenschaften seines Gerätezwillings.
- Empfangen von Anforderungen direkter Methoden. Ein Gerät verwendet diesen Endpunkt zum Lauschen auf Anforderungen direkter Methoden.
Jeder IoT-Hub verfügt über einen eindeutigen Hostnamen, der zum Verbinden von Geräten mit dem Hub verwendet wird. Der Hostname hat das Format iothubname.azure-devices.net
. Wenn Sie eines der Geräte-SDKs verwenden, müssen Sie die vollständigen Namen der einzelnen Endpunkte nicht kennen, da die SDKs allgemeinere Abstraktionen bereitstellen. Das Gerät muss jedoch den Hostnamen des IoT-Hubs kennen, mit dem es eine Verbindung herstellt.
Ein Gerät kann eine sichere Verbindung mit einem IoT-Hub auf folgende Art und Weise herstellen:
- Direkt. In diesem Fall müssen Sie dem Gerät eine Verbindungszeichenfolge bereitstellen, die den Hostnamen enthält.
- Indirekt mithilfe von DPS. In diesem Fall stellt das Gerät eine Verbindung mit einem bekannten DPS-Endpunkt her, um die Verbindungszeichenfolge für den IoT-Hub abzurufen, dem es zugewiesen ist.
Der Vorteil von DPS besteht darin, dass Sie nicht alle Ihre Geräte mit Verbindungszeichenfolgen konfigurieren müssen, die für Ihren IoT-Hub spezifisch sind. Stattdessen konfigurieren Sie Ihre Geräte für die Verbindung mit einem bekannten, gängigen DPS-Endpunkt, bei dem sie ihre Verbindungsdetails abrufen. Weitere Informationen finden Sie unter Device Provisioning Service.
Weitere Informationen zum Implementieren von automatischen Verbindungswiederherstellungen mit Endpunkten finden Sie unter Verwalten von Verbindungswiederherstellungen mit Geräten zum Erstellen resilienter Anwendungen.
Geräteverbindungszeichenfolgen
Eine Geräteverbindungszeichenfolge stellt einem Gerät die Informationen bereit, die es zum Herstellen einer sicheren Verbindung mit einem IoT-Hub benötigt. Die Verbindungszeichenfolge enthält die folgenden Informationen:
- Hostname des IoT-Hubs.
- Die beim IoT-Hub registrierte Geräte-ID.
- Sicherheitsinformationen, die das Gerät benötigt, um eine sichere Verbindung mit dem IoT-Hub herzustellen.
Authentifizierung
Azure IoT-Geräte verwenden TLS, um die Authentizität des IoT-Hubs oder DPS-Endpunkts zu überprüfen, mit dem sie eine Verbindung herstellen. Die Geräte-SDKs basieren auf dem vertrauenswürdigen Zertifikatspeicher des Geräts, um das DigiCert Global Root G2 TLS-Zertifikat einzuschließen, das sie derzeit benötigen, um eine sichere Verbindung zum IoT-Hub herzustellen. Weitere Informationen finden Sie unter TLS-Unterstützung (Transport Layer Security) in IoT Hub und TLS-Unterstützung in Azure IoT Hub Device Provisioning Service (DPS).
Azure IoT-Geräte können entweder SAS-Token (Shared Access Signature) oder X.509-Zertifikate verwenden, um sich bei einem IoT-Hub zu authentifizieren. In Produktionsumgebungen werden X.509-Zertifikate empfohlen. Weitere Informationen zur Geräteauthentifizierung finden Sie unter:
- Authentifizieren von Geräten für IoT Hub mithilfe von X.509 CA-Zertifikaten
- Authentifizieren von Geräten für IoT Hub mithilfe von SAS-Token
- DPS - Nachweis des symmetrischen Schlüssels
- DPS - X.509-Zertifikatnachweis
- DPS - Trusted Platform Module-Nachweis
- Geräteauthentifizierungskonzepte in IoT Central
Alle zwischen einem Gerät und einem IoT-Hub ausgetauschten Daten werden verschlüsselt.
Weitere Informationen zur Sicherheit in Ihrer IoT-Lösung finden Sie unter Sicherheitsarchitektur für IoT-Lösungen.
Protokolle
Ein IoT-Gerät kann eines von mehreren Netzwerkprotokollen verwenden, wenn es eine Verbindung mit einem IoT-Hub oder DPS-Endpunkt herstellt:
- MQTT
- MQTT über WebSockets
- Advanced Message Queuing Protocol (AMQP)
- AMQP über WebSockets
- HTTPS
Hinweis
IoT Hub verfügt über eingeschränkte Featureunterstützung für MQTT. Wenn Ihre Lösung MQTT v3.1.1 oder v5 Unterstützung benötigt, empfehlen wir MQTT Unterstützung in Azure Event Grid. Weitere Informationen finden Sie unter Vergleichen der MQTT-Unterstützung in IoT Hub und Event Grid.
Weitere Informationen zum Auswählen eines Protokolls für Ihre Geräte zum Herstellen einer Verbindung mit der Cloud finden Sie unter:
- Protokollunterstützung in Azure IoT Hub
- Kommunikation mit DPS über das MQTT-Protokoll
- Kommunikation mit DPS über das HTTPS-Protokoll (symmetrische Schlüssel)
- Kommunikation mit DPS über das HTTPS-Protokoll (X.509)
Industrielle IoT-Szenarien verwenden häufig die offene Standardschnittstelle OPC UA (Open Platform Communications Unified Architecture). Verwenden Sie Azure IoT Einsatz, um die Konnektivität mit der Azure-Cloud zu aktivieren. Weitere Informationen finden Sie unter Was ist Azure IoT Einsatz?
Verbindungsmuster
Es gibt zwei allgemeine Kategorien von Verbindungsmustern, die IoT-Geräte verwenden, um eine Verbindung mit der Cloud herzustellen:
Permanente Verbindungen
Permanente Verbindungen sind erforderlich, wenn Ihre Lösung Befehls- und Steuerungsfunktionen benötigt. In Befehls- und Steuerungsszenarien sendet Ihre IoT-Lösung Befehle an Geräte, um deren Verhalten nahezu in Echtzeit zu steuern. Permanente Verbindungen erhalten eine Netzwerkverbindung mit der Cloud aufrecht und verbinden sich bei einer Unterbrechung erneut. Verwenden Sie entweder das MQTT- oder das AMQP-Protokoll für permanente Geräteverbindungen mit einem IoT-Hub. Die IoT-Geräte-SDKs unterstützen sowohl das MQTT- als auch das AMQP-Protokoll zum Herstellen von permanenten Verbindungen mit einem IoT-Hub.
Kurzlebige Verbindungen
Kurzlebige Verbindungen sind kurzzeitige Verbindungen, über die Geräte Telemetriedaten an Ihren IoT-Hub senden können. Nachdem ein Gerät die Telemetriedaten gesendet hat, wird die Verbindung getrennt. Das Gerät wird erneut verbunden, wenn es mehr Telemetriedaten senden muss. Kurzlebige Verbindungen eignen sich nicht für Befehls- und Steuerungsszenarien. Ein Geräteclient kann die HTTP-API verwenden, wenn er lediglich Telemetriedaten senden muss.
Bereichsgateways
Bereichsgateways (manchmal auch als Edge-Gateways bezeichnet) werden in der Regel lokal und in der Nähe Ihrer IoT-Geräte bereitgestellt. Bereichsgateways übernehmen die Kommunikation mit der Cloud im Auftrag Ihrer IoT-Geräte. Bereichsgateways können folgende Aufgaben übernehmen:
- Durchführen der Protokollübersetzung. Sie können z. B. Bluetooth-fähigen Geräten ermöglichen, eine Verbindung mit der Cloud herzustellen.
- Verwalten von Offline- und getrennten Szenarien. Dazu gehört z. B. das Puffern von Telemetriedaten, wenn der Cloudendpunkt nicht erreichbar ist.
- Filtern, Komprimieren oder Aggregieren von Telemetriedaten, bevor sie an die Cloud gesendet werden.
- Ausführen von Logik am Edge, um die Latenz zu entfernen, die mit der Ausführung von Logik im Auftrag von Geräten in der Cloud im Zusammenhang steht. Beispiel: Erkennen einer Temperaturspitze und Öffnen eines Ventils als Reaktion.
Sie können Azure IoT Edge verwenden, um ein Bereichsgateway in Ihrer lokalen Umgebung bereitzustellen. IoT Edge bietet eine Reihe von Funktionen, mit denen Sie Bereichsgateways im großen Stil bereitstellen und verwalten können. IoT Edge stellt außerdem eine Reihe von Modulen zur Verfügung, mit denen Sie gängige Gatewayszenarien implementieren können. Weitere Informationen finden Sie unter Was ist Azure IoT Edge?
Ein IoT Edge-Gerät kann eine permanente Verbindung mit einem IoT-Hub aufrecht erhalten. Das Gateway leitet Gerätetelemetriedaten an IoT Hub weiter. Diese Option ermöglicht die Steuerung der nachgeschalteten Geräte, die mit dem IoT Edge-Gerät verbunden sind, mit Befehlen (Command-and-Control).
Bridges
Eine Gerätebrücke ermöglicht Geräten, die mit einer Nicht-Microsoft-Cloud verbunden sind, eine Verbindung mit Ihrer IoT-Lösung herzustellen. Beispiele für Nicht-Microsoft Clouds wären etwa Sigfox, Particle Device Cloud und The Things Network.
Die Open Source IoT Central Device Bridge fungiert als Übersetzer, der Telemetriedaten an eine IoT Central-Anwendung weiterleitet. Weitere Informationen finden Sie unter Azure IoT Central Device Bridge. Es gibt Nicht-Microsoft-Brückenlösungen, z. B. Tartabit IoT Bridge, um Geräte mit einem IoT-Hub zu verbinden.
Nächste Schritte
Nachdem Sie nun einen Überblick über die Gerätekonnektivität in Azure IoT-Lösungen erhalten haben, empfehlen wir mit Folgendem fortzufahren: