Verbinden eines Azure IoT Edge-Geräts mit einer Azure IoT Central-Anwendung
Azure IoT Edge verschiebt Cloudanalysen und benutzerdefinierte Geschäftslogik von der Cloud auf Ihre Geräte. Bei diesem Ansatz muss sich Ihre Cloudlösung nicht um die Datenverwaltung kümmern, sondern kann sich auf geschäftliche Erkenntnisse konzentrieren. Skalieren Sie Ihre IoT-Lösung auf, indem Sie Ihre Geschäftslogik in Standardcontainer packen. Stellen Sie diese Container dann für Ihre Geräte bereit, und überwachen Sie sie über die Cloud.
Dieser Artikel beschreibt Folgendes:
- IoT Edge Gatewaymuster mit IoT Central.
- Wie IoT Edge-Geräte sich mit einer IoT Central-Anwendung verbinden
- Wie Sie mit IoT Central Ihre IoT Edge-Geräte verwalten
Weitere Informationen zu IoT Edge finden Sie unter Was ist Azure IoT Edge?.
IoT Edge
IoT Edge besteht aus drei Komponenten:
- IoT Edge-Module sind Container, die Azure-Dienste, Partnerdienste oder Ihren Code ausführen. Module werden auf IoT Edge-Geräten bereitgestellt und lokal auf diesen Geräten ausgeführt. Ein Bereitstellungsmanifest gibt die Module an, die auf einem IoT Edge-Gerät bereitgestellt werden sollen.
- Die IoT Edge-Runtime wird auf jedem IoT Edge-Gerät ausgeführt und dient zum Verwalten der Module, die auf einem Gerät jeweils bereitgestellt wurden. Die Runtime besteht aus zwei IoT Edge-Modulen: dem IoT Edge-Agent und dem IoT Edge-Hub.
- Mit einer cloudbasierten Schnittstelle können Sie für IoT Edge-Geräte die Remoteüberwachung und -verwaltung durchführen. Ein Beispiel für eine Cloudschnittstelle ist IoT Central.
IoT Central bietet die folgenden Funktionen für IoT Edge-Geräte:
- Verwaltung des Bereitstellungsmanifests: Eine IoT Central-Anwendung kann eine Sammlung von Bereitstellungsmanifesten verwalten und sie Geräten zuweisen.
- Gerätevorlagen zum Beschreiben der Funktionen eines IoT Edge-Geräts, wie z.B.:
- Die von den einzelnen IoT Edge-Modulen gesendeten Telemetriedaten
- Die von den einzelnen IoT Edge-Modulen gemeldeten Eigenschaften
- Die Befehle, auf die die einzelnen IoT Edge-Module reagieren
- Die Beziehungen zwischen einem IoT Edge-Gatewaygerät und dem nachgeschalteten Gerät
- Cloudeigenschaften, die auf dem IoT Edge-Gerät nicht gespeichert werden
- Geräteansichten und Formulare.
- Die Funktion zum Bereitstellen von IoT Edge-Geräten nach Maß mit dem Azure IoT-Gerätebereitstellungsdienst.
- Regeln und Aktionen
- Benutzerdefinierte Dashboards und Analysen
- Fortlaufender Datenexport von Telemetriedaten von IoT Edge-Geräten
Ein IoT Edge-Gerät kann eines der folgenden Geräte sein:
- Ein eigenständiges Gerät, das aus benutzerdefinierten Modulen besteht
- Ein Gatewaygerät, mit dem untergeordnete Geräte eine Verbindung herstellen Ein Gatewaygerät kann benutzerdefinierte Module enthalten.
IoT Edge-Geräte und IoT Central
IoT Edge-Geräte können SAS-Token (Shared Access Signature) oder X.509-Zertifikate für die Authentifizierung bei IoT Central verwenden. Sie können Ihre IoT Edge-Geräte manuell bei IoT Central registrieren, bevor diese zum ersten Mal eine Verbindung herstellen, oder Device Provisioning Service für die Registrierung verwenden. Weitere Informationen finden Sie unter Verbinden eines Geräts.
IoT Central verwendet optional Gerätevorlagen, um die Interaktion von IoT Central mit einem IoT Edge-Gerät zu definieren. In einer Gerätevorlage wird z. B. Folgendes angegeben:
- Die Arten von Telemetriedaten und Eigenschaften, die ein IoT Edge-Gerät sendet, damit IoT Central diese interpretieren und Visualisierungen erstellen kann
- Die Befehle, auf die ein IoT Edge-Gerät reagiert, damit IoT Central eine Benutzeroberfläche für einen Operator zum Aufrufen der Befehle anzeigen kann
Wenn einem Gerät keine Gerätevorlage zugeordnet ist, werden Telemetriedaten und Eigenschaftswerte als nicht modellierte Daten angezeigt. Sie können jedoch weiterhin IoT Central-Datenexportfunktionen verwenden, um Telemetriedaten und Eigenschaftswerte an andere Back-End-Dienste weiterzuleiten.
IoT Edge-Bereitstellungsmanifeste
In IoT Edge wird Geschäftslogik in Form von Modulen bereitgestellt und verwaltet. IoT Edge-Module sind die kleinste von IoT Edge verwaltete Berechnungsergebniseinheit und können Azure-Dienste (z. B. Azure Stream Analytics) oder Ihren eigenen lösungsspezifischen Code enthalten.
IoT Edge-Bereitstellungsmanifeste enthalten die IoT Edge-Module, die auf dem Gerät bereitgestellt werden sollen, sowie Informationen zu deren Konfiguration.
Navigieren Sie in Azure IoT Central zu Edge-Manifeste, um die Bereitstellungsmanifeste für die IoT Edge-Geräte in Ihrer Lösung zu importieren und zu verwalten.
Der folgende Codeausschnitt zeigt ein Beispiel für ein IoT Edge-Bereitstellungsmanifest:
{
"modulesContent": {
"$edgeAgent": {
"properties.desired": {
"schemaVersion": "1.0",
"runtime": {
"type": "docker",
"settings": {
"minDockerVersion": "v1.25",
"loggingOptions": "",
"registryCredentials": {}
}
},
"systemModules": {
"edgeAgent": {
"type": "docker",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-agent:1.0.9",
"createOptions": "{}"
}
},
"edgeHub": {
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-hub:1.0.9",
"createOptions": "{}"
}
}
},
"modules": {
"SimulatedTemperatureSensor": {
"version": "1.0",
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
"createOptions": "{}"
}
}
}
}
},
"$edgeHub": {
"properties.desired": {
"schemaVersion": "1.0",
"routes": {
"route": "FROM /* INTO $upstream"
},
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
}
}
},
"SimulatedTemperatureSensor": {
"properties.desired": {
"SendData": true,
"SendInterval": 10
}
}
}
}
Im obigen Ausschnitt sehen Sie Folgendes:
- Es gibt drei Module: die Systemmodule IoT Edge-Agent und IoT Edge-Hub, die in jedem Bereitstellungsmanifest enthalten sind, und das benutzerdefinierte Modul SimulatedTemperatureSensor.
- Die öffentlichen Modulimages werden aus einem Azure Container Registry-Repository gepullt, bei dem zum Herstellen einer Verbindung keine Anmeldeinformationen erforderlich sind. Legen Sie für private Modulimages die in der Einstellung
registryCredentials
für das IoT Edge-Agent-Modul zu verwendenden Container Registry-Anmeldeinformationen fest. - Das benutzerdefinierte Modul SimulatedTemperatureSensor verfügt über zwei schreibbare Eigenschaften:
"SendData": true
und"SendInterval": 10
.
Der folgende Screenshot zeigt dieses in IoT Central importierte Bereitstellungsmanifest:
Wenn Ihre Anwendung Organisationen verwendet, können Sie Ihre Bereitstellungsmanifeste bestimmten Organisationen zuweisen. Auf dem vorherigen Screenshot ist das Bereitstellungsmanifest der Organisation Store Manager / Americas zugewiesen.
Informationen zum Verwenden der Seite Edge-Manifeste sowie zum Zuweisen von Bereitstellungsmanifesten zu IoT Edge-Geräten finden Sie unter Verwalten von IoT Edge-Bereitstellungsmanifesten in Ihrer IoT Central-Anwendung.
Verwalten eines nicht zugewiesenen Geräts
Ein IoT Edge-Gerät ohne zugeordnete Gerätevorlage wird als nicht zugewiesenes Gerät bezeichnet. IoT Central-Features wie Dashboards, Gerätegruppen, Analysen, Regeln und Aufträge können nicht mit nicht zugewiesenen Geräten verwendet werden. Folgende Funktionen stehen jedoch für nicht zugewiesene Geräte zur Verfügung:
- Anzeigen von Rohdaten wie Telemetriedaten und Eigenschaften
- Aufrufen von Gerätebefehlen.
- Lesen und Schreiben von Eigenschaften
Sie können auch einzelne Module auf nicht zugewiesenen Geräten verwalten:
IoT Edge-Gerätevorlagen
In IoT Central-Gerätevorlagen werden Modelle zum Beschreiben der Funktionen von IoT Edge-Geräten verwendet. Gerätevorlagen sind für IoT Edge-Geräte optional. Die Gerätevorlage ermöglicht die Verwendung von IoT Central-Funktionen wie Dashboards und Analysen, um mit Telemetriedaten, Eigenschaften und Befehlen zu interagieren. Das folgende Diagramm zeigt die Struktur des Modells für ein IoT Edge-Gerät:
IoT Central modelliert ein IoT Edge-Gerät wie folgt:
- Jede IoT Edge-Gerätevorlage enthält ein Gerätefunktionsmodell.
- Fügen Sie für jedes benutzerdefinierte Modul, das im Bereitstellungsmanifest aufgeführt ist, eine Moduldefinition hinzu, wenn Sie IoT Central für die Interaktion mit diesem Modul verwenden möchten.
- Ein Modulfunktionsmodell implementiert eine oder mehrere Modulschnittstelle(n).
- Jede Modulschnittstelle enthält Telemetrie, Eigenschaften und Befehle.
Sie können das grundlegende Funktionsmodell basierend auf den im Gerätemanifest definierten Modulen und Eigenschaften generieren. Weitere Informationen finden Sie unter Hinzufügen von Modulen und Eigenschaften zu Gerätevorlagen.
IoT Edge-Gatewaymuster
IoT Central unterstützt die folgenden IoT Edge-Gerätemuster:
IoT Edge als transparentes Gateway
Nachgeschaltete Geräte stellen eine Verbindung mit IoT Central über das Gateway mit der eigenen Identität her.
Das IoT Edge-Gerät wird in IoT Central zusammen mit den nachgeschalteten Geräten bereitgestellt, die mit ihm verbunden sind. Runtime-Unterstützung für die Bereitstellung von nachgeschalteten Geräten über das Gateway gibt es derzeit nicht.
Das IoT Edge-Hub-Modul verhält sich wie IoT Central und ist für Verbindungen mit Geräten zuständig, die bei IoT Central registriert sind. Nachrichten werden von untergeordneten Geräten an IoT Central übergeben, als wäre dazwischen kein Gateway. In einem transparenten Gateway können zum Bearbeiten der Nachrichten von den nachgeschalteten Geräten keine benutzerdefinierten Module verwendet werden.
Hinweis
IoT Central unterstützt zurzeit nicht das Verbinden eines IoT Edge Geräts als nachgeschaltetes Gerät mit einem transparenten IoT Edge-Gateway. Der Grund: Alle Geräte, die eine Verbindung mit IoT Central herstellen, werden mit dem Device Provisioning Service (DPS) bereitgestellt, und DPS unterstützt derzeit keine geschachtelten IoT Edge-Szenarios.
IoT Edge als Protokollübersetzungsgateway
Mit diesem Muster können Sie Geräte verbinden, die keines der von IoT Central unterstützten Protokolle verwenden können.
Das IoT Edge-Gerät wird in IoT Central bereitgestellt; und alle Telemetriedaten Ihrer nachgeschalteten Geräte werden so dargestellt, als stammten sie vom IoT Edge-Gerät. Nachgeschaltete Geräte, die mit dem IoT Edge-Gerät verbunden sind, werden in IoT Central nicht bereitgestellt.
IoT Edge als Identitätsübersetzungsgateway
Nachgeschaltete Geräte stellen eine Verbindung mit einem Modul im Gateway her, das IoT Central-Geräteidentitäten für sie bereitstellt.
Das IoT Edge-Gerät wird in IoT Central zusammen mit den nachgeschalteten Geräten bereitgestellt, die mit ihm verbunden sind. Derzeit bietet IoT Central keine Runtimeunterstützung für ein Gateway, um eine Identität und nachgeschaltete Geräte bereitstellen zu können. Wenn Sie ein eigenes Modul für die Identitätsübersetzung einsetzen, kann IoT Central dieses Muster unterstützen.
Beziehungen nachgeschalteter Geräte mit einem Gateway und Modulen
Wenn die nachgeschalteten Geräte über das IoT Edge Hub-Modul eine Verbindung mit einem IoT Edge-Gatewaygerät herstellen, ist das IoT Edge-Gerät ein transparentes Gateway:
Wenn die nachgeschalteten Geräte über ein benutzerdefiniertes Modul eine Verbindung mit dem IoT Edge-Gatewaygerät herstellen, ist das IoT Edge-Gerät ein Übersetzungsgateway: Im folgenden Beispiel stellen nachgeschaltete Geräte eine Verbindung über ein benutzerdefiniertes Modbus-Modul her, das die Protokollübersetzung übernimmt:
Das folgende Diagramm zeigt die Verbindungen mit einem IoT Edge-Gatewaygerät über beide Arten von Modulen. In diesem Szenario ist das IoT Edge-Gerät sowohl ein transparentes Gateway als auch ein Übersetzungsgateway:
Untergeordnete Geräte können über mehrere benutzerdefinierte Module eine Verbindung mit einem IoT Edge-Gatewaygerät herstellen. Das folgende Diagramm zeigt untergeordnete Geräte, die über ein benutzerdefiniertes Modbus-Modul, ein benutzerdefiniertes BLE-Modul und das IoT Edge-Hub-Modul eine Verbindung aufbauen:
Weitere Informationen zu den Gatewaymustern in IoT Edge finden Sie unter Verwendung eines IoT Edge-Geräts als Gateway.
Bereitstellen der IoT Edge-Runtime
Informationen darüber, wo Sie die IoT Edge-Runtime ausführen können, finden Sie unter Von Azure IoT Edge unterstützte Systeme.
Sie können die IoT Edge-Runtime auch in den folgenden Umgebungen installieren:
- Installieren oder Deinstallieren von Azure IoT Edge für Linux
- Installieren und Bereitstellen von Azure IoT Edge für Linux auf einem Windows-Gerät (Vorschau)
- Ausführen von Azure IoT Edge auf virtuellen Ubuntu-Computern in Azure
Überwachen Ihrer IoT Edge-Geräte
Informationen zur Remoteüberwachung Ihres IoT Edge-Bestands finden Sie unter Sammeln und Transportieren von Metriken.
Nächste Schritte
Als Nächstes sollten Sie sich darüber informieren, wie Sie Ihre eigenen IoT Edge-Module entwickeln.