Freigeben über


IoT-Geräteentwicklung

In dieser Übersicht werden die wichtigsten Konzepte für die Entwicklung von Geräten vorgestellt, die eine Verbindung mit typischen Azure IoT Lösungen herstellen. Jeder Abschnitt enthält Links zu Inhalten, die weitere Details und Anleitungen enthalten.

In einer mit der Cloud verbundenen Lösung stellen Geräte eine direkte Verbindung mit cloudverbundenen Diensten wie IoT Hub her, während geräte mit Edge verbundener Lösungen in Ihrer Umgebung wie Azure IoT Einsatz eine Verbindung mit Edge-verbundenen Diensten herstellen.

Das folgende Diagramm zeigt eine allgemeine Ansicht der Komponenten in einer typischen edgegebundenen IoT-Lösung. Dieser Artikel konzentriert sich auf die Geräte, Objekte und Connectors, die im Diagramm gezeigt werden:

Diagramm, das die allgemeine IoT-Lösungsarchitektur mit hervorgehobenen Gerätekonnektivitätsbereichen zeigt.

Ressourcen verfügen in der Regel über integrierte Firmware, die Standardprotokolle implementiert. So kann z. B. ein Roboterarm ein OPC UA-Client sein, und eine Sicherheitsvideokamera ONVIF implementieren. Azure IoT Einsatz umfasst verschiedene Connectors, die diese Protokolle verwenden können, um mit Ressourcen zu kommunizieren und Nachrichten aus den Objekten in MQTT-Nachrichten zu übersetzen. Einige Ressourcen können Nachrichten empfangen, mit denen Sie Vorgänge auf diesen Ressourcen ausführen können, z. B.:

  • Schwenken oder Kippen einer Sicherheitskamera
  • Ändern des Protokolliergrads für einen Roboterarm
  • Initiieren eines Firmwareupdates

Sie können eigene, benutzerdefinierte Connectors erstellen, um eine Verbindung mit Objekten herzustellen, die Protokolle verwenden, die von Azure IoT Einsatz nicht nativ unterstützt werden.

Gerätetypen

Eine IoT-Lösung kann viele Typen von Ressourcen und Geräten enthalten.

Zu den Beispielressourcen in einer edgegebundenen Lösung gehören:

  • Roboterarme, Förderbänder und Aufzüge
  • Industrielle CNC-Maschinen, Drehmaschinen, Sägen und Bohrer
  • Medizinische Geräte für bildgebende Diagnoseverfahren
  • Sicherheitsvideokameras
  • Programmierbare Logikcontroller

Diese Ressourcen verfügen in der Regel über integrierte Firmware, die Standardprotokolle implementiert. So kann z. B. ein Roboterarm ein OPC UA-Client sein, und eine Sicherheitsvideokamera das ONVIF-Protokoll implementieren. In einer edgegebundenen Lösung verwenden Sie spezielle Connectors, um eine Verbindung mit diesen Ressourcen herzustellen und Nachrichten daraus in ein gängiges Format zu übersetzen.

Für Ressourcen gibt es keine direkte Entsprechung für die Geräteentwicklerrolle. Stattdessen kann ein Bediener die Connectoren so konfigurieren, dass eine Verbindung mit den Anlagen hergestellt wird. Möglicherweise müssen Sie jedoch benutzerdefinierte Connectors entwickeln, um eine Verbindung mit Objekten herzustellen, die Protokolle verwenden, die von Ihrer edgegebindeten Lösung nicht nativ unterstützt werden.

Modellierung und Schemas

Geräte- und Objektmodelle definieren die Daten, die Geräte und Ressourcen mit der Cloud austauschen können. Modelle ermöglichen verschiedene Low-Code- oder No-Code-Szenarien für die Integration Ihrer Geräte und Ressourcen in Ihre IoT-Lösung.

In einer edgegebundenen Lösung konfiguriert ein Operator Connectors für die Verbindung mit Objekten. Diese Konfiguration umfasst eine Zuordnung zwischen den Daten der Ressource und einem Cloudschema. Beispielsweise ermöglicht der OPC UA-Connector dem Operator die Zuordnung von OPC UA-Knoten-IDs zu Datenpunkten und Ereignissen in einer JSON-Nachricht, die mit dem MQTT-Broker ausgetauscht wird. Der folgende Screenshot zeigt ein Beispiel für die Web-UI für digitale Vorgänge, die zwei solche Zuordnungen definiert:

Screenshot einer Beispielressourcendefinition

An anderer Stelle in der Lösung kann ein Operator direkt auf die Tags Temperatur und Tag 10 verweisen, ohne die Details der OPC UA-Knoten-IDs kennen zu müssen.

Containerisierung

Die Containerisierung ist eine Möglichkeit zum Packen und Ausführen Ihres Codes in einer schlanken, isolierten Umgebung. Container sind portierbar und können auf jeder Plattform ausgeführt werden, die die Containerruntime unterstützt. Container bieten eine gute Möglichkeit zum Packen und Bereitstellen Ihres Codes, da sie eine konsistente Laufzeitumgebung für Ihren Code bereitstellen. Die Laufzeitumgebung enthält in der Regel die Dienste, Bibliotheken und Pakete, die für die Ausführung Ihres Codes erforderlich sind.

Azure IoT Einsatz containerisiert alle Connectors, Broker und andere Komponenten, die am Edge ausgeführt werden. Azure IoT Einsatz stellt einen Kubernetes-Cluster bereit, bei dem es sich um eine Container-Orchestrierungsplattform handelt. Stellen Sie benutzerdefinierte Connectors oder andere Komponenten bereit, die Sie im Kubernetes-Cluster erstellen.

Sie können eine Lösung betrachten, die Azure IoT Edge als an IoT Hub angebundenes Gateway verwendet. Diese Hybridlösung kombiniert Elemente sowohl von Edge-verbundenen als auch von Cloud-verbundenen Lösungen.

Tools für die Geräteentwicklung

In der folgenden Tabelle sind einige der verfügbaren Tools für die Entwicklung von IoT-Geräten aufgeführt:

Werkzeug BESCHREIBUNG
Azure IoT Hub (VS Code extension) Mit dieser VS Code-Erweiterung können Sie Ihre IoT Hub Ressourcen und Geräte in VS Code verwalten.
Azure IoT Explorer Mit diesem plattformübergreifenden Tool können Sie Ihre IoT Hub Ressourcen und Geräte aus einer Desktopanwendung verwalten.
Azure IoT Erweiterung für Azure CLI Diese CLI-Erweiterung enthält Befehle wie az iot device simulate, az iot device c2d-message und az iot hub monitor-events, mit denen Sie Interaktionen mit Geräten testen können.