Verwendung eines IoT Edge-Geräts als Gateway

Gilt für:IoT Edge 1.4 checkmark IoT Edge 1.4

Wichtig

IoT Edge Version 1.4 wird unterstützt. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.

IoT Edge-Geräte können als Gateways fungieren, die eine Verbindung zwischen anderen Geräten im Netzwerk und IoT Hub bereitstellen.

Das IoT Edge-Hub-Modul verhält sich wie IoT Hub und kann somit Verbindungen von anderen Geräten verarbeiten, die über eine Identität mit IoT Hub verfügen. Dieser Gatewaymustertyp wird als transparent bezeichnet, weil Nachrichten von nachgeschalteten Geräten an IoT Hub übergeben werden können, als gäbe es kein Gateway zwischen ihnen.

Für Geräte, die keine eigene Verbindung mit IoT Hub herstellen (können), können IoT Edge-Gateways diese Verbindung bereitstellen. Dieser Gatewaymustertyp wird als Übersetzung bezeichnet, weil das IoT Edge-Gerät eingehende Nachrichten nachgeschalteter Geräte verarbeiten muss, bevor sie an IoT Hub weitergeleitet werden können. In diesen Szenarien sind zusätzliche Module auf dem IoT Edge-Gateway für die Ausführung der Verarbeitungsschritte erforderlich.

Die Gatewaymuster „transparent“ und „Übersetzung“ schließen sich nicht gegenseitig aus. Ein einzelnes IoT Edge-Gerät kann sowohl als transparentes Gateway als auch als Übersetzungsgateway fungieren.

Alle Gatewaymuster bieten folgende Vorteile:

  • Analysen am Edge – Verwenden Sie KI-Dienste lokal, um Daten von nachgeschalteten Geräten zu verarbeiten, ohne die Telemetrie in voller Genauigkeit an die Cloud zu senden. Suchen und reagieren Sie lokal auf Informationen, senden Sie nur eine Teilmenge von Daten an IoT Hub.
  • Nachgeschaltete Geräteisolation – Das Gatewaygerät kann alle nachgeschalteten Geräte vor der Internetverbindung abschirmen. Es kann sich zwischen einem OT-Netzwerk (Operational Technology) ohne Konnektivität und einem IT-Netzwerk (Information Technology) mit Internetzugriff befinden. Auf ähnliche Weise können Geräte, die keine eigene Verbindung mit IoT Hub herstellen können, stattdessen eine Verbindung mit einem Gatewaygerät herstellen.
  • Multiplexing der Verbindung: Alle Geräte, die über ein IoT Edge-Gateway mit IoT Hub verbunden sind, können dieselbe zugrunde liegende Verbindung verwenden. Diese Multiplexingfunktion erfordert, dass das IoT Edge-Gateway AMQP als Upstreamprotokoll verwendet.
  • Glättung des Datenverkehrs: Das IoT Edge-Gerät implementiert automatisch exponentielles Backoff, wenn IoT Hub den Datenverkehr drosselt, wobei die Nachrichten lokal beibehalten werden. Durch diesen Vorteil wird Ihre Lösung unempfindlich gegenüber Spitzen im Datenverkehr.
  • Offlineunterstützung: Das Gatewaygerät speichert Nachrichten und Zwillingsupdates, die nicht an IoT Hub übermittelt werden können.

Transparente Gateways

Beim Gatewaymuster „transparent“ können Geräte, die theoretisch eine Verbindung mit IoT Hub herstellen könnten, stattdessen eine Verbindung mit einem Gatewaygerät herstellen. Die nachgeschalteten Geräte verfügen über ihre eigenen IoT Hub-Identitäten und stellen die Verbindung mithilfe von MQTT- oder AMQP-Protokollen her. Das Gateway leitet einfach die Kommunikation zwischen den Geräten und IoT Hub weiter. Weder die Geräte noch die Benutzer, die damit über IoT Hub interagieren, wissen, dass ein Gateway ihre Kommunikation vermittelt. Dieses fehlende Wissen bedeutet, dass das Gateway als transparent betrachtet wird.

Weitere Informationen zum Verwalten der Kommunikation zwischen nachgeschalteten Geräten und der Cloud durch die IoT Edge-Hub-Instanz finden Sie unter Grundlegendes zur Azure IoT Edge-Runtime und ihrer Architektur.

Ab Version 1.2 von IoT Edge können transparente Gateways Downstreamverbindungen von anderen IoT Edge-Geräten verarbeiten.

Beziehungen zwischen über- und untergeordneten Geräten

Sie deklarieren transparente Gatewaybeziehungen in IoT Hub, indem Sie das IoT Edge-Gateway als übergeordnetes Gerät eines nachgeschalteten untergeordneten Geräts festlegen, das eine Verbindung damit herstellt.

Hinweis

Ein nachgeschaltetes Gerät gibt Daten direkt an das Internet oder an Gatewaygeräte (IoT Edge-fähig oder nicht) aus. Ein untergeordnetes Gerät kann ein nachgeschaltetes Gerät oder ein Gatewaygerät in einer geschachtelten Topologie sein.

Die Beziehung zwischen über- und untergeordneten Geräten wird in der Gatewaykonfiguration an drei Punkten hergestellt:

Cloudidentitäten

In einem Szenario mit transparentem Gateway benötigen alle Geräte Cloudidentitäten, damit sie sich bei IoT Hub authentifizieren können. Wenn Sie eine Geräteidentität erstellen oder aktualisieren, können Sie die über- oder untergeordneten Geräte des Geräts festlegen. Diese Konfiguration autorisiert das übergeordnete Gatewaygerät, die Authentifizierung für seine untergeordneten Geräte zu übernehmen.

Hinweis

Das übergeordnete Gerät in IoT Hub festzulegen, galt als optionaler Schritt für nachgeschaltete Geräte mit symmetrischer Schlüsselauthentifizierung. Ab Version 1.1.0 muss jedes nachgeschaltete Gerät jedoch einem übergeordneten Gerät zugewiesen werden.

Sie können den IoT Edge-Hub so konfigurieren, dass er zum vorherigen Verhalten zurück wechselt, indem Sie die Umgebungsvariable AuthenticationMode auf den Wert CloudAndScope festlegen.

Untergeordnete Geräte können nur über ein übergeordnetes Gerät verfügen. Bei einem übergeordneten Gerät kann es standardmäßig bis zu 100 untergeordnete Geräte geben. Sie können diesen Grenzwert ändern, indem Sie im edgeHub-Modul des übergeordneten Geräts die Umgebungsvariable MaxConnectedClients festlegen.

In transparenten Gatewaybeziehungen können IoT Edge-Geräte sowohl übergeordnete als auch untergeordnete Geräte sein. Es kann eine Hierarchie von mehreren IoT Edge-Geräten erstellt werden, die einander Bericht erstatten. Der oberste Knoten in einer Gatewayhierarchie kann bis zu fünf Generationen untergeordneter Geräte aufweisen. Beispielsweise kann ein IoT Edge-Gerät fünf Ebenen von IoT Edge-Geräten aufweisen, die als untergeordnete Geräte darunter verknüpft sind. Das IoT Edge-Gerät in der fünften Generation kann jedoch keine untergeordneten Geräte, keine IoT Edge-Geräte und keine anderen Elemente aufweisen.

Gatewayermittlung

Ein untergeordnetes Gerät muss sein übergeordnetes Gerät im lokalen Netzwerk finden können. Konfigurieren Sie Gatewaygeräte mit einem Hostnamen, entweder mit einem vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) oder einer IP-Adresse, der von den untergeordneten Geräten zum Auffinden verwendet wird.

Verwenden Sie für nachgeschaltete IoT-Geräte in der Verbindungszeichenfolge den Parameter gatewayHostname, um auf das übergeordnete Gerät zu verweisen.

Verwenden Sie für nachgeschaltete IoT Edge-Geräte in der Konfigurationsdatei den Parameter parent_hostname, um auf das übergeordnete Gerät zu verweisen.

Sichere Verbindung

Übergeordnete und untergeordnete Geräte müssen auch ihre Verbindungen untereinander authentifizieren. Jedes Gerät benötigt eine Kopie eines freigegebenen Zertifikats der Stammzertifizierungsstelle, mit dem die untergeordneten Geräte sicherstellen, dass sie eine Verbindung mit dem richtigen Gateway herstellen.

Wenn mehrere IoT Edge-Gateways in einer Gatewayhierarchie miteinander verbunden sind, sollten alle Geräte in der Hierarchie eine einzige Zertifikatkette verwenden.

Gerätefunktionen hinter transparenten Gateways

Alle IoT Hub-Primitiven, die mit der Messagingpipeline von IoT Edge arbeiten, unterstützen auch Szenarien mit transparenten Gateways. Jedes IoT Edge-Gateway verfügt über Funktionen zum Speichern und Weiterleiten der darüber gesendeten Nachrichten.

Der folgenden Tabelle können Sie entnehmen, wie die verschiedenen IoT Hub-Funktionen für Geräte und für Geräte hinter Gateways unterstützt werden.

Funktion IoT-Gerät IoT hinter einem Gateway IoT Edge-Gerät IoT Edge hinter einem Gateway
D2C-Nachrichten (Device-to-Cloud, Gerät-zu-Cloud) Yes - IoT D2C Yes - child IoT D2C Yes - IoT Edge D2C Yes - child IoT Edge D2C
C2D-Nachrichten (Cloud-to-Device, Cloud-zu-Gerät) Yes - IoT C2D Yes - IoT child C2D No - IoT Edge C2D No - IoT Edge child C2D
Direkte Methoden Yes - IoT direct method Yes - child IoT direct method Yes - IoT Edge direct method Yes - child IoT Edge direct method
Gerätezwillinge und Modulzwillinge Yes - IoT twins Yes - child IoT twins Yes - IoT Edge twins Yes - child IoT Edge twins
Hochladen von Dateien mit IoT Hub Yes - IoT file upload No - IoT child file upload No - IoT Edge file upload No - IoT Edge child file upload
Containerimage-Pullvorgänge Yes - IoT Edge container pull Yes - child IoT Edge container pull
Blobupload Yes - IoT Edge blob upload Yes - child IoT Edge blob upload

Containerimages können von übergeordneten Geräten für untergeordnete Geräte heruntergeladen, gespeichert und bereitgestellt werden.

Blobs (einschließlich Supportbundle und Protokolle) können von untergeordneten Geräten auf übergeordnete Geräte hochgeladen werden.

Übersetzungsgateways

Wenn nachgeschaltete Geräte keine Verbindung mit IoT Hub herstellen können, muss das IoT Edge-Gateway als Übersetzer fungieren. Dieses Muster ist häufig für Geräte erforderlich, die MQTT, AMQP oder HTTP nicht unterstützen. Da diese Geräte keine Verbindung mit IoT Hub herstellen können, ist ohne Vorverarbeitung auch das Herstellen einer Verbindung mit dem IoT Edge-Hubmodul nicht möglich.

Benutzerdefinierte Module oder Module von Drittanbietern, die häufig für die Hardware oder für das Protokoll des nachgeschalteten Geräts spezifisch sind, müssen für das IoT Edge-Gateway bereitgestellt werden. Diese Übersetzungsmodule nehmen die eingehenden Nachrichten an und verwandeln sie in ein Format, das von IoT Hub verstanden werden kann.

Es gibt zwei Muster für Übersetzungsgateways: Protokollübersetzung und Identitätsübersetzung.

Diagram showing translation gateway patterns.

Protokollübersetzung

Beim Gatewaymuster „Protokollübersetzung“ verfügt nur das IoT Edge-Gateway über eine Identität mit IoT Hub. Das Übersetzungsmodul empfängt Nachrichten von nachgeschalteten Geräten, übersetzt sie in ein unterstütztes Protokoll, und dann sendet das IoT Edge-Gerät die Nachrichten im Auftrag der nachgeschalteten Geräte. Alle Informationen scheinen von einem Gerät – dem Gateway – zu stammen. Wenn Cloudanwendungen die Daten pro Gerät analysieren sollen, müssen nachgeschaltete Geräte zusätzliche Identifikationsinformationen in ihre Nachrichten einbetten. Außerdem werden IoT Hub-Primitive wie Zwillinge und direkte Methoden nur für das Gatewaygerät und nicht für nachgeschaltete Geräte unterstützt. Gateways in diesem Muster werden im Gegensatz zu transparenten Gateways als intransparent betrachtet, weil sie die Identitäten von nachgeschalteten Geräten verschleiern.

Die Protokollübersetzung unterstützt Geräte mit begrenzten Ressourcen. Zahlreiche vorhandene Geräte erzeugen Daten, aus denen geschäftliche Erkenntnissen gewonnen werden können; sie wurden jedoch nicht speziell für Cloudkonnektivität konzipiert. Nicht transparente Gateways ermöglichen das Entsperren und Verwenden dieser Daten in einer IoT-Lösung.

Identitätsübersetzung

Das Gatewaymuster „Identitätsübersetzung“ basiert auf der Protokollübersetzung, aber das IoT Edge-Gateway stellt auch eine IoT Hub-Geräteidentität für die nachgeschalteten Geräte bereit. Das Übersetzungsmodul ist dafür verantwortlich, das von den nachgeschalteten Geräten verwendete Protokoll zu verstehen, die Identität bereitzustellen und die Nachrichten in IoT Hub-Primitive zu übersetzen. Nachgeschaltete Geräte werden in IoT Hub als erstrangige Geräte mit Zwillingen und Methoden angezeigt. Ein Benutzer kann mit den Geräten in IoT Hub interagieren, ohne zu merken, dass ein Gatewaygerät zwischengeschaltet ist.

Die Identitätsübersetzung bietet die Vorteile der Protokollübersetzung und ermöglicht außerdem die vollständige Verwaltbarkeit von nachgeschalteten Geräten über die Cloud. Alle Geräte in Ihrer IoT-Lösung werden unabhängig vom jeweiligen Protokoll in IoT Hub angezeigt.

Gerätefunktionen hinter Übersetzungsgateways

In der folgenden Tabelle wird erläutert, wie IoT Hub-Funktionen in beiden Übersetzungsgatewaymustern auf nachgeschaltete Geräte erweitert werden.

Funktion Protokollübersetzung Identitätsübersetzung
In der IoT Hub-Identitätsregistrierung gespeicherte Identitäten Nur die Identität des Gatewaygeräts Identitäten aller verbundenen Geräte
Gerätezwilling Nur das Gateway hat einen Geräte- und Modulzwilling Jedes verbundene Gerät hat einen eigenen Gerätezwilling
Direkte Methoden und C2D-Nachrichten Die Cloud kann nur das Gatewaygerät adressieren Die Cloud kann jedes verbundene Gerät einzeln adressieren
IoT Hub-Drosselungen und -Kontingente Gelten für das Gatewaygerät Gelten für jedes Gerät

Bei Verwendung des Musters „Protokollübersetzung“ verwenden alle Geräte, die eine Verbindung über dieses Gateway herstellen, dieselbe C2D-Warteschlange, die maximal 50 Nachrichten enthalten kann. Verwenden Sie dieses Muster nur, wenn wenige Geräte eine Verbindung über die einzelnen Bereichsgateways herstellen und der C2D-Datenverkehr gering ist.

Die IoT Edge-Runtime bietet keine Protokoll- oder Identitätsübersetzungsfunktionen. Diese Muster erfordern benutzerdefinierte Module oder Module von Drittanbietern, die häufig für die verwendete Hardware und für das verwendete Protokoll spezifisch sind. Im Azure Marketplace stehen mehrere Protokollübersetzungsmodule zur Auswahl. Ein Beispiel, in dem das Identitätsübersetzungsmuster verwendet wird, finden Sie unter Azure IoT Edge LoRaWAN Starter Kit.

Nächste Schritte

Informieren Sie sich über die drei Schritte zum Einrichten eines transparenten Gateways: