Freigeben über


Entwicklung von Azure IoT-Geräten

Azure IoT ist eine Sammlung von verwalteten Diensten und Plattformdiensten, die Ihre IoT-Geräte verbinden, überwachen und steuern. Azure IoT bietet Entwicklern eine umfassende Reihe von Optionen. Zu Ihren Optionen gehören Geräteplattformen, unterstützende Cloud-Services, SDKs, MQTT-Unterstützung und Tools zum Erstellen gerätefähiger Cloud-Anwendungen.

In diesem Artikel werden einige wichtige Überlegungen für Entwickler vorgestellt, die mit Azure IoT beginnen.

Entwicklungspfade für Geräte

In diesem Artikel werden zwei gängige Entwicklungspfade für Geräte erläutert. Jeder Pfad enthält eine Reihe von zugehörigen Entwicklungsoptionen und Aufgaben.

  • Allgemeine Geräteentwicklung: Orientiert sich an modernen Entwicklungspraktiken, zielt auf Sprachen höherer Ordnung ab und kann auf einem universellen Betriebssystem wie Windows oder Linux ausgeführt werden.

    Hinweis

    Wenn auf Ihrem Gerät ein universelles Betriebssystem ausgeführt werden kann, empfehlen wir, den allgemeinen Geräteentwicklungspfad zu befolgen. Es bietet eine umfangreichere Auswahl an Entwicklungsoptionen.

  • Entwicklung von Embedded-Geräten: Beschreibt die Entwicklung, die auf Geräte mit eingeschränkten Ressourcen abzielt. Häufig verwenden Sie ein Gerät mit eingeschränkten Ressourcen, um die Stückkosten, den Stromverbrauch oder die Gerätegröße zu reduzieren. Diese Geräte haben die direkte Kontrolle über die Hardwareplattform, auf der sie ausgeführt werden.

Allgemeine Geräteentwicklung

Einige Entwickler passen vorhandene, universell einsetzbare Geräte an, um eine Verbindung zur Cloud herzustellen und in ihre IoT-Lösungen zu integrieren. Diese Geräte können Sprachen höherer Ordnung wie C# oder Python unterstützen und unterstützen häufig ein robustes Allzweckbetriebssystem wie Windows oder Linux. Zu den gängigen Zielgeräten gehören PCs, Container, Raspberry Pis und mobile Geräte.

Anstatt eingeschränkte Geräte in großem Maßstab zu entwickeln, konzentrieren sich allgemeine Geräteentwickler darauf, ein bestimmtes IoT-Szenario zu ermöglichen, das für ihre Cloudlösung erforderlich ist. Einige Entwickler arbeiten auch auf eingeschränkten Geräten für ihre Cloudlösung. Entwickler, die mit Geräten mit eingeschränkten Ressourcen arbeiten, finden weitere Informationen unter Entwicklungspfad für eingebettete Geräte .

Von Bedeutung

Informationen zu SDKs, die für die allgemeine Geräteentwicklung verwendet werden sollen, finden Sie unter Geräte-SDKs.

Entwicklung von eingebetteten Geräten

Die Embedded-Entwicklung zielt auf eingeschränkte Geräte ab, die über begrenzten Arbeitsspeicher und Verarbeitung verfügen. Eingeschränkte Geräte schränken ein, was im Vergleich zu einer herkömmlichen Entwicklungsplattform erreicht werden kann.

Embedded-Geräte verwenden in der Regel ein Echtzeitbetriebssystem (RTOS) oder gar kein Betriebssystem. Embedded-Geräte haben die volle Kontrolle über ihre Hardware, da es kein universelles Betriebssystem gibt. Diese Tatsache macht Embedded-Geräte zu einer guten Wahl für Echtzeitsysteme.

Die aktuellen eingebetteten SDKs zielen auf die Sprache C ab. Die eingebetteten SDKs bieten entweder kein Betriebssystem oder Unterstützung für Eclipse ThreadX. Sie wurden mit Blick auf eingebettete Ziele entwickelt. Zu den Entwurfsüberlegungen gehören die Notwendigkeit eines minimalen Speicherbedarfs und eines Designs ohne Speicherzuweisung.

Von Bedeutung

Informationen zu SDKs, die bei der Entwicklung eingebetteter Geräte verwendet werden können, finden Sie unter SDKs für eingebettete Geräte.

Auswahl Ihrer Hardware

Azure IoT-Geräte sind die grundlegenden Bausteine einer IoT-Lösung und für die Beobachtung und Interaktion mit ihrer Umgebung verantwortlich. Es gibt viele verschiedene Arten von IoT-Geräten, und es ist hilfreich, die Arten von Geräten zu verstehen, die es gibt und wie sie sich auf Ihren Entwicklungsprozess auswirken können.

Weitere Informationen zu den Unterschieden zwischen den in diesem Artikel behandelten Gerätetypen finden Sie unter Informationen zu IoT-Gerätetypen.

Auswählen eines SDK

Als Entwickler von Azure IoT-Geräten verfügen Sie über eine Vielzahl von SDKs, Protokollen und Tools, mit denen Sie gerätefähige Cloudanwendungen erstellen können.

Es gibt zwei Hauptoptionen, um Geräte zu verbinden und mit IoT Hub zu kommunizieren:

  • Verwenden Sie die Azure IoT SDKs. In den meisten Fällen wird empfohlen, die Azure IoT SDKs zu verwenden, anstatt MQTT direkt zu verwenden. Die SDKs optimieren Ihren Entwicklungsaufwand und vereinfachen die Komplexität der Verbindung und Verwaltung von Geräten. IoT Hub unterstützt das MQTT v3.1.1-Protokoll , und die IoT SDKs vereinfachen die Verwendung von MQTT für die Kommunikation mit IoT Hub.
  • Verwenden Sie das MQTT-Protokoll direkt. Es gibt einige Vorteile beim Erstellen einer IoT Hub-Lösung, um MQTT direkt zu verwenden. Beispielsweise kann eine Lösung, die MQTT direkt ohne die SDKs verwendet, auf dem offenen MQTT-Standard aufgebaut werden. Ein auf Standards basierender Ansatz macht die Lösung portabler und gibt Ihnen mehr Kontrolle darüber, wie Geräte verbunden und kommuniziert werden. IoT Hub ist jedoch kein MQTT-Broker mit vollem Funktionsumfang und unterstützt nicht alle Verhaltensweisen, die im MQTT v3.1.1-Standard angegeben sind. Die teilweise Unterstützung von MQTT v3.1.1 erhöht die Entwicklungskosten und die Komplexität. Geräteentwickler sollten die Kompromisse zwischen der Verwendung der IoT-Geräte-SDKs und der direkten Verwendung von MQTT abwägen. Weitere Informationen finden Sie unter Kommunizieren mit einem IoT-Hub über das MQTT-Protokoll.

Es gibt drei Gruppen von IoT SDKs für die Geräteentwicklung:

  • Geräte-SDKs (für die Verwendung von Sprachen höherer Ordnung, um vorhandene Allzweckgeräte mit IoT-Anwendungen zu verbinden)
  • SDKs für eingebettete Geräte (für die Verbindung von Geräten mit eingeschränkten Ressourcen und IoT-Anwendungen)
  • Dienst-SDKs (zum Erstellen von Azure IoT-Lösungen, die Geräte mit Diensten verbinden)

Weitere Informationen zum Auswählen eines Azure IoT-Geräte- oder Dienst-SDK finden Sie unter Azure IoT SDKs.

Auswählen eines Dienstes

Ein wichtiger Schritt im Entwicklungsprozess ist die Auswahl eines Dienstes, mit dem Sie Ihre Geräte verbinden möchten. Es gibt zwei primäre Azure IoT-Dienstoptionen zum Verbinden und Verwalten von Geräten: IoT Hub und IoT Central.

  • Azure IoT Hub: Verwenden Sie IoT Hub, um IoT-Anwendungen zu hosten und Geräte zu verbinden. IoT Hub ist eine PaaS-Anwendung (Platform-as-a-Service), die als zentraler Nachrichtenhub für die bidirektionale Kommunikation zwischen IoT-Anwendungen und verbundenen Geräten fungiert. IoT Hub kann skaliert werden, um Millionen von Geräten zu unterstützen. Im Vergleich zu anderen Azure IoT-Diensten bietet IoT Hub die größte Kontrolle und Anpassung Ihres Anwendungsentwurfs. Es bietet auch die meisten Entwicklertooloptionen für die Arbeit mit dem Dienst, auf Kosten einer gewissen Erhöhung der Entwicklungs- und Verwaltungskomplexität.
  • Azure IoT Central. IoT Central wurde entwickelt, um die Arbeit mit IoT-Lösungen zu vereinfachen. Sie können es als Proof of Concept verwenden, um Ihre IoT-Lösungen zu bewerten. IoT Central ist eine SaaS-Anwendung (Software-as-a-Service), die eine Webbenutzeroberfläche bereitstellt, um die Aufgaben zum Erstellen von Anwendungen sowie zum Verbinden und Verwalten von Geräten zu vereinfachen. IoT Central verwendet IoT Hub zum Erstellen und Verwalten von Anwendungen, hält aber die meisten Details für den Benutzer transparent.

Tools zum Verbinden und Verwalten von Geräten

Nachdem Sie die zu verwendende Hardware und ein Geräte-SDK ausgewählt haben, stehen Ihnen mehrere Optionen für Entwicklertools zur Verfügung. Sie können diese Tools verwenden, um Ihr Gerät mit IoT Hub zu verbinden und zu verwalten. In der folgenden Tabelle sind die allgemeinen Werkzeugoptionen zusammengefasst.

Werkzeug Dokumentation BESCHREIBUNG
Azure-Portal Erstellen eines IoT-Hubs mit dem Azure-Portal Browserbasiertes Portal für IoT Hub und Geräte. Funktioniert auch mit anderen Azure-Ressourcen, einschließlich IoT Central.
Azure IoT-Explorer Azure IoT-Explorer IoT-Hubs können nicht erstellt werden. Stellt eine Verbindung mit einem vorhandenen IoT-Hub her, um Geräte zu verwalten. Wird häufig mit CLI oder Portal verwendet.
Azure-Befehlszeilenschnittstelle (Azure CLI) Erstellen eines IoT-Hubs mit der CLI Befehlszeilenschnittstelle zum Erstellen und Verwalten von IoT-Anwendungen.
Azure PowerShell Erstellen eines IoT-Hubs mit PowerShell PowerShell-Schnittstelle zum Erstellen und Verwalten von IoT-Anwendungen
Azure IoT Tools für VS Code Erstellen eines IoT-Hubs mit Tools für VS Code VS Code-Erweiterung für IoT Hub-Anwendungen.

Hinweis

Zusätzlich zu den zuvor aufgeführten Tools können Sie IoT-Anwendungen programmgesteuert erstellen und verwalten, indem Sie REST-APIs, Azure SDKs oder Azure Resource Manager-Vorlagen verwenden. Weitere Informationen finden Sie in der Dokumentation zum IoT Hub-Dienst .

Nächste Schritte

Weitere Informationen zu Geräte-SDKs, die Sie zum Verbinden von Geräten mit Azure IoT verwenden können, finden Sie im folgenden Artikel.

Um mit der praktischen Geräteentwicklung zu beginnen, wählen Sie ein Tutorial zur Geräteentwicklung aus, das für die von Ihnen verwendeten Geräte relevant ist. Die folgenden Tutorials sind gute Ausgangspunkte für die allgemeine Geräteentwicklung oder die Entwicklung eingebetteter Geräte.