Gerätekonnektivität und eingehende Telemetriedaten

Wichtig

Eine neue Version des Azure Digital Twins-Dienstanbieter wurde freigegeben. Im Hinblick auf die erweiterten Funktionen des neuen dienstangs wurde der ursprüngliche Azure Digital Twins-Dienst (beschrieben in diesem Dokumentations Satz) eingestellt.

Die Dokumentation für den neuen Dienst finden Sie in der Dokumentation zu Azure Digital Zwillingen.

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 einer benutzerdefinierten Funktion und Zuweisen dieser Funktion zu einem Raum im Graphen, sodass eine angepasste Verarbeitung der Telemetrienachrichten erfolgt
  • 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 value 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