Gerätekonnektivität und eingehende Telemetriedaten
Wichtig
Eine neue Version des Azure Digital Twins-Diensts wurde veröffentlicht. Angesichts der erweiterten Funktionen des neuen Diensts wurde der ursprüngliche Azure Digital Twins-Dienst (in diesem Dokumentationssatz beschrieben) eingestellt.
Um die Dokumentation für den neuen Dienst anzuzeigen, besuchen Sie die aktive Azure Digital Twins-Dokumentation.
Die von Geräten und Sensoren gesendeten Telemetriedaten bilden das Rückgrat jeder IoT-Lösung. Die Entscheidung, wie diese unterschiedlichen Ressourcen dargestellt und im Kontext eines Standorts verwaltet werden, ist ein wichtiger Aspekt der IoT-App-Entwicklung. Azure Digital Twins vereinfacht die Entwicklung von IoT-Lösungen, indem Geräte und Sensoren mit einem Raumintelligenzgraphen kombiniert werden.
Zunächst einmal muss eine Azure IoT Hub-Ressource am Stamm des Raumgraphen erstellt werden. Die IoT Hub-Ressource ermöglicht es allen Geräten unter dem Stammraum, Nachrichten zu senden. Nach Erstellung der IoT Hub-Instanz müssen Geräte mit Sensoren innerhalb der Digital Twins-Instanz registriert werden. Die Geräte können Daten über das Azure IoT-Geräte-SDK an einen Digital Twins-Dienst senden.
Eine ausführliche Anleitung für das Onboarding von Geräten finden Sie im Tutorial: Bereitstellen von Azure Digital Twins (Vorschauversion) und Konfigurieren eines Raumgraphen. In Kurzform sind dies folgende Schritte:
- Bereitstellen einer Digital Twins-Instanz über das Azure-Portal
- Erstellen von Räumen in Ihrem Graphen
- Erstellen einer IoT Hub-Ressource und Zuweisen dieser Ressource zu einem Bereich in Ihrem Graphen
- Erstellen von Geräten und Sensoren in Ihrem Graphen und Zuweisen dieser Geräte und Sensoren zu den in den vorherigen Schritten erstellten Räumen
- Erstellen eines Matchers (Abgleicher), um Telemetrienachrichten anhand von Bedingungen zu filtern
- Erstellen Sie eine benutzerdefinierte Funktion, und weisen Sie sie einem Leerzeichen im Diagramm für die benutzerdefinierte Verarbeitung Ihrer Telemetrienachrichten zu.
- Zuweisen einer Rolle, damit die benutzerdefinierte Funktion auf die Graphdaten zugreifen kann
- Abrufen der IoT Hub-Verbindungszeichenfolge des Geräts über die Digital Twins-Verwaltungs-APIs
- Konfigurieren der Geräteverbindungszeichenfolge auf dem Gerät mit dem Azure IoT-Geräte-SDK
In den folgenden Abschnitten erfahren Sie, wie Sie die IoT Hub-Geräteverbindungszeichenfolge über die Digital Twins-Verwaltungs-API abrufen. Außerdem erfahren Sie, wie Sie sensorbasierte Telemetriedaten unter Verwendung des IoT Hub-Telemetrienachrichtenformats senden. Alle von Digital Twins empfangenen Telemetriedaten müssen einem Sensor im Raumgraphen zugeordnet sein. Dadurch wird sichergestellt, dass die Daten im richtigen räumlichen Kontext verarbeitet und weitergeleitet werden.
Abrufen der IoT Hub-Verbindungszeichenfolge eines Geräts aus der Verwaltungs-API
In den folgenden Beispielen bezieht sich YOUR_MANAGEMENT_API_URL
auf den URI der Digital Twins-APIs:
https://YOUR_INSTANCE_NAME.YOUR_LOCATION.azuresmartspaces.net/management/api/v1.0
Name | Ersetzen durch |
---|---|
YOUR_INSTANCE_NAME | Den Namen Ihrer Azure Digital Twins-Instanz |
YOUR_LOCATION | Die Region, in der Ihre Instanz gehostet wird |
Führen Sie einen GET-Aufruf für die Geräte-API mit einem includes=ConnectionString
-Parameter aus, um die IoT Hub-Verbindungszeichenfolge des Geräts abzurufen. Filtern Sie nach der Geräte-GUID oder nach der Hardware-ID, um das Gerät zu finden.
YOUR_MANAGEMENT_API_URL/devices/YOUR_DEVICE_GUID?includes=ConnectionString
Parameter | Ersetzen durch |
---|---|
YOUR_DEVICE_GUID | Der Geräte-ID |
YOUR_MANAGEMENT_API_URL/devices?HardwareIds=YOUR_DEVICE_HARDWARE_ID&includes=ConnectionString
Parameterwert | Ersetzen durch |
---|---|
YOUR_DEVICE_HARDWARE_ID | Der Gerätehardware-ID |
Kopieren Sie in der Antwortnutzlast die Eigenschaft connectionString des Geräts. Sie wird benötigt, wenn Sie das Azure IoT-Geräte-SDK aufrufen, um Daten an Digital Twins zu senden.
Gerät-zu-Cloud-Nachricht
Sie können das Nachrichtenformat und die Nutzlast Ihres Geräts entsprechend den Anforderungen Ihrer Lösung anpassen. Verwenden Sie einen beliebigen Datenvertrag, der in ein Bytearray oder in einen Datenstrom serialisiert werden kann und von der Klasse für Azure IoT-Geräteclientnachrichten (Message(byte[] byteArray)) unterstützt wird. Die Nachricht kann in einem beliebigen benutzerdefinierten Binärformat vorliegen, solange Sie den Datenvertrag in einer entsprechenden benutzerdefinierten Funktion decodieren. Für eine Gerät-zu-Cloud-Nachricht muss nur eine einzige Anforderung erfüllt werden: Verwalten Sie einen Satz von Eigenschaften, um sicherzustellen, dass die Nachricht ordnungsgemäß an das Verarbeitungsmodul weitergeleitet wird.
Telemetrieeigenschaften
Beim Nutzlastinhalt einer Nachricht kann es sich um beliebige Daten mit einer Größe von bis zu 256 KB handeln. Für Eigenschaften vom Typ Message.Properties
gelten einige wenige Einschränkungen. Die folgende Tabelle enthält die erforderlichen und optionalen Eigenschaften, die vom System unterstützt werden:
Eigenschaftenname | Wert | Erforderlich | BESCHREIBUNG |
---|---|---|---|
DigitalTwins-Telemetry | 1.0 | Ja | Ein konstanter Wert, der eine Nachricht an das System identifiziert. |
DigitalTwins-SensorHardwareId | string(72) |
Ja | Ein eindeutiger Bezeichner des Sensors, der die Nachricht sendet. Dieser Wert muss mit der HardwareId-Eigenschaft eines Objekts übereinstimmen, damit es vom System verarbeitet wird. Beispiel: 00FF0643BE88-CO2 . |
CreationTimeUtc | string |
Nein | Eine gemäß ISO 8601 formatierte Datumszeichenfolge, die den Zeitpunkt der Stichprobenentnahme für die Nutzlast angibt. Beispiel: 2018-09-20T07:35:00.8587882-07:00 . |
CorrelationId | string |
Nein | Eine UUID zur Nachverfolgung von Ereignissen im gesamten System. Beispiel: cec16751-ab27-405d-8fe6-c68e1412ce1f . |
Senden einer Nachricht an Digital Twins
Verwenden Sie den DeviceClient-Aufruf SendEventAsync oder SendEventBatchAsync, um eine Nachricht an Digital Twins zu senden.
Nächste Schritte
- Informationen zur Datenverarbeitung und zu den Möglichkeiten von benutzerdefinierten Funktionen in Azure Digital Twins finden Sie unter Datenverarbeitung und benutzerdefinierte Funktionen.