Entwickeln von IoT-Ressourcen- und -Geräten
In dieser Übersicht werden die wichtigsten Konzepte bei der Entwicklung von Ressourcen und 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 der Regel stellen Geräte eine direkte Verbindung mit cloudbasierten Diensten wie IoT Hub her, während Ressourcen eine Verbindung mit edgebasierten Diensten in Ihrer Umgebung herstellen, z. B. mit Azure IoT Einsatz. Dieser Artikel enthält Informationen zu Ressourcen und Geräten.
Das folgende Diagramm zeigt eine allgemeine Übersicht über die Komponenten in einer typischen edgebasierten IoT-Lösung. In diesem Artikel geht es hauptsächlich um die im Diagramm gezeigten Ressourcen und Connectors:
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 bietet verschiedene Connectors, die diese Protokolle nutzen können, um mit Ressourcen zu kommunizieren und Nachrichten von diesen 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 Ressourcen herzustellen, die Protokolle verwenden, die von Azure IoT Einsatz nicht nativ unterstützt werden.
Ressourcen- und Gerätetypen
Eine IoT-Lösung kann viele Typen von Ressourcen und Geräten enthalten. In der Regel enthalten cloudbasierte Lösungen eher Geräte und edgebasierte Lösungen hauptsächlich Ressourcen. Es ist auch möglich, über hybride Lösungen zu verwenden, die sowohl Geräte als auch Ressourcen umfasst.
Beispiele für Ressourcen in einer edgebasierten Lösung:
- Roboterarme, Förderbänder und Aufzüge
- Industrielle CNC-Maschinen, Drehmaschinen, Sägen und Bohrer
- Medizinische Geräte für bildgebende Diagnoseverfahren
- Sicherheitsvideokameras
- Software oder Softwarekomponenten
- 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 edgebasierten Lösung verwenden Sie spezielle Connectors, um eine Verbindung mit Ressourcen herzustellen und Nachrichten von diesen in ein gemeinsames Format zu übersetzen.
Für Ressourcen gibt es keine direkte Entsprechung für die Geräteentwicklerrolle. Stattdessen können die Connectors von Operatoren so konfiguriert werden, dass eine Verbindung mit den Ressourcen hergestellt wird. Möglicherweise müssen Sie jedoch benutzerdefinierte Connectors entwickeln, um eine Verbindung mit Ressourcen herzustellen, die Protokolle verwenden, die von Ihrer edgebasierten 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 edgebasierten Lösung konfigurieren Operatoren Connectors für die Verbindung mit Ressourcen. Diese Konfiguration umfasst eine Zuordnung zwischen den Daten der Ressource und einem Cloudschema. Beispielsweise ermöglicht der OPC UA-Connector Operatoren die Zuordnung von OPC UA-Knoten-IDs zu Tags und Ereignissen in einer JSON-Nachricht, die mit dem MQTT-Broker ausgetauscht wird. Der folgende Screenshot zeigt ein Beispiel für die Webbenutzeroberfläche für digitale Vorgänge, die zwei solche Zuordnungen für eine Ressource definiert:
An anderer Stelle in der Lösung können Operatoren direkt auf die Tags Temperature und Tag 10 verweisen, ohne 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 anderen Komponenten, die am Edge ausgeführt werden. Azure IoT Einsatz stellt einen Kubernetes-Cluster bereit, bei dem es sich um eine Plattform zur Containerorchestrierung handelt. Stellen Sie benutzerdefinierte Connectors oder andere Komponenten bereit, die Sie im Kubernetes-Cluster erstellen.
Sie können sich eine Lösung ansehen, die Azure IoT Edge als edgebasiertes Gateway mit IoT Hub als Hybridlösung verwendet, die Elemente von edgebasierten und cloudbasierten Lösungen enthält.
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:
Tool | BESCHREIBUNG |
---|---|
Azure IoT Hub (VS Code-Erweiterung) | 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 über eine Desktop-Anwendung verwalten. |
Azure IoT-Erweiterung für die 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. |