Freigeben über


Erstellen und Bereitstellen eines IoT Edge-Geräts unter Windows mithilfe symmetrischer Schlüssel

Gilt für:Ja-Symbol IoT Edge 1.1

Von großer Bedeutung

IoT Edge 1.1 Ende des Supports war der 13. Dezember 2022. Informationen darüber, wie dieses Produkt, dieser Dienst, diese Technologie oder diese API unterstützt werden, finden Sie im Microsoft Product Lifecycle. Weitere Informationen zum Aktualisieren auf die neueste Version von IoT Edge finden Sie unter Update IoT Edge.

Dieser Artikel enthält End-to-End-Anweisungen zum Registrieren und Bereitstellen eines Windows IoT Edge-Geräts.

Hinweis

Azure IoT Edge mit Windows-Containern wird ab Version 1.2 von Azure IoT Edge nicht unterstützt.

Erwägen Sie die verwendung der neuen Methode zum Ausführen von IoT Edge auf Windows-Geräten, Azure IoT Edge für Linux unter Windows.

Wenn Sie Azure IoT Edge für Linux unter Windows verwenden möchten, können Sie die Schritte in der entsprechenden Anleitungausführen.

Jedes Gerät, das eine Verbindung mit einem IoT-Hub herstellt, verfügt über eine Geräte-ID, die zum Nachverfolgen der Cloud-zu-Gerät- oder Gerät-zu-Cloud-Kommunikation verwendet wird. Sie konfigurieren ein Gerät mit den Verbindungsinformationen, einschließlich des IoT Hub-Hostnamens, der Geräte-ID und der Informationen, die das Gerät zum Authentifizieren bei IoT Hub verwendet.

Die Schritte in diesem Artikel führen Sie durch die sogenannte manuelle Bereitstellung, bei der Sie ein einzelnes Gerät mit dem entsprechenden IoT-Hub verbinden. Bei der manuellen Bereitstellung haben Sie zwei Optionen zum Authentifizieren von IoT Edge-Geräten:

  • Symmetrische Schlüssel: Wenn Sie in IoT Hub eine neue Geräteidentität erstellen, erstellt der Dienst zwei Schlüssel. Sie platzieren einen der Schlüssel auf dem Gerät, und dieses präsentiert den Schlüssel beim Authentifizieren im IoT-Hub.

    Diese Authentifizierungsmethode kann schneller eingerichtet werden, ist dafür aber weniger sicher.

  • selbstsignierte X.509: Sie erstellen zwei X.509-Identitätszertifikate und bewahren diese auf dem Gerät auf. Wenn Sie in IoT Hub eine neue Geräteidentität erstellen, geben Sie Fingerabdrücke aus beiden Zertifikaten an. Wenn sich das Gerät bei IoT Hub authentifiziert, übergibt es ein Zertifikat, und IoT Hub überprüft, ob das Zertifikat mit dem Fingerabdruck übereinstimmt.

    Diese Authentifizierungsmethode ist sicherer und wird für Produktionsszenarios empfohlen.

In diesem Artikel wird die Verwendung von symmetrischen Schlüsseln als Authentifizierungsmethode behandelt. Wenn Sie X.509-Zertifikate verwenden möchten, lesen Sie das Erstellen und Bereitstellen eines IoT Edge-Geräts unter Windows mit X.509-Zertifikaten.

Hinweis

Wenn Sie viele Geräte einrichten müssen und sie nicht einzeln manuell bereitstellen möchten, informieren Sie sich in einem der folgenden Artikel, wie IoT Edge beim IoT Hub Device Provisioning Service (Gerätebereitstellungsdienst) funktioniert:

Voraussetzungen

In diesem Artikel wird beschrieben, wie Sie Ihr IoT Edge-Gerät registrieren und darauf IoT Edge installieren. Bei diesen Aufgaben gibt es unterschiedliche Voraussetzungen und Hilfsprogramme zu deren Erledigung. Stellen Sie sicher, dass alle Voraussetzungen erfüllt sind, bevor Sie fortfahren.

Geräteverwaltungstools

Sie können die Schritte zum Registrieren Ihres Geräts über das Azure-Portal, mithilfe von Visual Studio Code oder über die Azure CLI ausführen. Jedes Dienstprogramm verfügt über eigene Voraussetzungen:

Ein IoT-Hub in Ihrem Azure-Abonnement im Tarif „Free“ oder „Standard“.

Geräteanforderungen

Ein Windows-Gerät.

IoT Edge mit Windows-Containern erfordert Windows Version 1809/Build 17763, der neueste Windows-Long-Term Support Build. Überprüfen Sie unbedingt die Liste der unterstützten Systeme für eine Liste der unterstützten SKUs.

Beachten Sie, dass die Windows-Versionen sowohl im Container als auch auf dem Host übereinstimmen müssen. Weitere Informationen finden Sie unter "Modul konnte aufgrund eines Fehlenden Betriebssystems nicht gestartet werden".

Registrieren Ihres Geräts

Je nach Präferenz können Sie Ihr Gerät über das Azure-Portal, mithilfe von Visual Studio Code oder über die Azure CLI registrieren.

In Ihrem IoT-Hub im Azure-Portal werden IoT Edge-Geräte separat von IoT-Geräten erstellt und verwaltet, die nicht mit Edge verwendet werden können.

  1. Melden Sie sich beim Azure-Portal an, und navigieren Sie zu Ihrem IoT Hub.

  2. Klicken Sie im linken Bereich auf Geräte, und klicken Sie dann auf Gerät hinzufügen.

  3. Geben Sie auf der Seite Gerät erstellen die folgenden Informationen ein:

    • Erstellen Sie eine beschreibende Geräte-ID. Notieren Sie sich diese Geräte-ID, da Sie sie später verwenden werden.
    • Aktivieren Sie das Kontrollkästchen IoT Edge-Gerät.
    • Wählen Sie als Authentifizierungstyp Symmetrischer Schlüssel aus.
    • Verwenden Sie die Standardeinstellungen, um Authentifizierungsschlüssel automatisch zu generieren und das neue Gerät mit Ihrem Hub zu verbinden.
  4. Wählen Sie Speichern aus.

Nachdem Sie ein Gerät in IoT Hub registriert haben, rufen Sie die Informationen ab, mit der Sie die Installation und Bereitstellung der IoT Edge-Runtime abschließen.

Anzeigen registrierter Geräte und Abrufen von Bereitstellungsinformationen

Für Geräte, die die Authentifizierung mit symmetrischen Schlüsseln verwenden, wird eine eigene Verbindungszeichenfolge benötigt, um die Installation und Bereitstellung der IoT Edge-Runtime abzuschließen.

Die für die Verwendung mit Edge vorgesehenen Geräte, die eine Verbindung mit Ihrem IoT-Hub herstellen, sind auf der Seite Geräte aufgeführt. Sie können die Liste nach dem Typ Iot Edge Devicefiltern.

Screenshot zum Anzeigen Ihrer Geräte im Azure-Portal, IoT Hub.

Wenn Sie bereit für die Einrichtung Ihres Geräts sind, benötigen Sie die Verbindungszeichenfolge, die Ihr physisches Gerät mit seiner Identität im IoT Hub verknüpft.

Sie können die Verbindungszeichenfolgen von Geräten, die sich mit symmetrischen Schlüsseln authentifizieren, im Portal kopieren.

  1. Wählen Sie auf der Seite Geräte im Portal die IoT Edge-Geräte-ID aus der Liste aus.
  2. Kopieren Sie entweder den Wert der primären Verbindungszeichenfolge oder der sekundären Verbindungszeichenfolge.

Installieren von IoT Edge

In diesem Abschnitt bereiten Sie Ihre Windows-VM oder Ihr physisches Gerät für IoT Edge vor. Anschließend installieren Sie IoT Edge.

Azure IoT Edge basiert auf einer OCI-kompatiblen Containerruntime. Moby, ein Moby-basiertes Modul, ist im Installationsskript enthalten, was bedeutet, dass es keine zusätzlichen Schritte zum Installieren des Moduls gibt.

So installieren Sie die IoT Edge-Laufzeit:

  1. Führen Sie PowerShell als Administrator aus.

    Verwenden Sie eine AMD64-Sitzung von PowerShell, nicht PowerShell(x86). Wenn Sie nicht sicher sind, welchen Sitzungstyp Sie verwenden, führen Sie den folgenden Befehl aus:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. Führen Sie den Befehl Deploy-IoTEdge aus, der die folgenden Aufgaben ausführt:

    • Überprüft, ob sich Ihr Windows-Computer auf einer unterstützten Version befindet.
    • Aktiviert die Containerfunktion
    • Lädt die Moby-Engine und die IoT Edge-Laufzeit herunter.
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. Starten Sie Ihr Gerät neu, wenn Sie dazu aufgefordert werden.

Wenn Sie IoT Edge auf einem Gerät installieren, können Sie zusätzliche Parameter verwenden, um den Prozess zu ändern, einschließlich:

  • Den Datenverkehr über einen Proxyserver leiten.
  • Verweisen des Installers auf ein lokales Verzeichnis für die Offlineinstallation

Weitere Informationen zu diesen zusätzlichen Parametern finden Sie unter PowerShell-Skripts für IoT Edge mit Windows-Containern.

Bereitstellen des Geräts mit seiner Cloud-Identität

Nachdem das Containermodul und die IoT Edge-Laufzeit auf Ihrem Gerät installiert sind, können Sie den nächsten Schritt ausführen, der das Gerät mit seinen Cloudidentitäts- und Authentifizierungsinformationen einrichten soll.

  1. Führen Sie auf dem IoT Edge-Gerät PowerShell als Administrator aus.

  2. Verwenden Sie den Befehl "Initialize-IoTEdge ", um die IoT Edge-Laufzeit auf Ihrem Computer zu konfigurieren. Der Befehl ist standardmäßig für die manuelle Bereitstellung mit Windows-Containern festgelegt.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -ManualConnectionString -ContainerOs Windows
    
    • Wenn Sie das IoTEdgeSecurityDaemon.ps1 Skript für die Offline- oder bestimmte Versionsinstallation auf Ihr Gerät heruntergeladen haben, müssen Sie unbedingt auf die lokale Kopie des Skripts verweisen.

      . <path>/IoTEdgeSecurityDaemon.ps1
      Initialize-IoTEdge -ManualConnectionString -ContainerOs Windows
      
  3. Wenn Sie dazu aufgefordert werden, geben Sie die Geräteverbindungszeichenfolge an, die Sie im vorherigen Abschnitt abgerufen haben. Die Geräteverbindungszeichenfolge ordnet das physische Gerät einer Geräte-ID im IoT Hub zu und stellt Authentifizierungsinformationen bereit.

    Die Geräteverbindungszeichenfolge verwendet das folgende Format und darf keine Anführungszeichen enthalten: HostName={IoT_hub_name}.azure-devices.net;DeviceId={device_name};SharedAccessKey={key}

Wenn Sie ein Gerät manuell bereitstellen, können Sie zusätzliche Parameter verwenden, um den Prozess zu ändern, einschließlich:

  • Den Datenverkehr über einen Proxyserver leiten.
  • Geben Sie ein bestimmtes EdgeAgent-Containerimage an und stellen Sie Anmeldeinformationen bereit, falls es sich in einem privaten Register befindet.

Weitere Informationen zu diesen zusätzlichen Parametern finden Sie unter PowerShell-Skripts für IoT Edge mit Windows-Containern.

Überprüfen der erfolgreichen Konfiguration

Vergewissern Sie sich, dass die Runtime erfolgreich auf Ihrem IoT Edge-Gerät installiert und konfiguriert wurde.

Überprüfen Sie den Status des IoT Edge-Diensts.

Get-Service iotedge

Untersuchen Sie die Dienstprotokolle.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog

Laufende Module auflisten.

iotedge list

Offlineinstallation oder Installation einer bestimmten Version (optional)

Die in diesem Abschnitt aufgeführten Schritte sind für Szenarien vorgesehen, die von den Schritten der Standardinstallation nicht abgedeckt werden. Dies kann beinhalten:

  • Die Offlineinstallation von IoT Edge
  • Die Installation einer Release Candidate-Version
  • Installieren einer anderen Version als der neuesten Version

Während der Installation werden drei Dateien heruntergeladen:

  • Ein PowerShell-Skript, das die Installationsanweisungen enthält
  • Microsoft Azure IoT Edge-Kabine, die den IoT Edge-Sicherheitsdaemon (iotedged), das Containermodul Moby und die Moby CLI enthält
  • Visual C++ redistributable package (VC runtime) installer

Wenn Ihr Gerät während der Installation offline ist oder Wenn Sie eine bestimmte Version von IoT Edge installieren möchten, können Sie diese Dateien vorab auf das Gerät herunterladen. Wenn es Zeit ist zu installieren, weisen Sie das Installationsskript auf das Verzeichnis, das die heruntergeladenen Dateien enthält. Das Installationsprogramm überprüft zuerst das Verzeichnis und lädt dann nur Komponenten herunter, die nicht gefunden werden. Wenn alle Dateien offline verfügbar sind, können Sie ohne Internetverbindung installieren.

  1. Die neuesten IoT Edge-Installationsdateien zusammen mit früheren Versionen finden Sie unter Azure IoT Edge-Versionen.

  2. Suchen Sie die Version, die Sie installieren möchten, und laden Sie die folgenden Dateien aus dem Abschnitt "Assets " der Versionshinweise auf Ihr IoT-Gerät herunter:

    • IoTEdgeSecurityDaemon.ps1
    • Microsoft-Azure-IoTEdge-amd64.cab vom 1.1-Veröffentlichungskanal.

    Es ist wichtig, das PowerShell-Skript aus derselben Version wie die .cab Datei zu verwenden, die Sie verwenden, da sich die Funktionalität ändert, um die Features in jeder Version zu unterstützen.

  3. Wenn die heruntergeladene .cab Datei ein Architektursuffix enthält, benennen Sie die Datei in nur Microsoft-Azure-IoTEdge.cabum.

  4. Laden Sie optional ein Installationsprogramm für visual C++ redistributable herunter. Das PowerShell-Skript verwendet z. B. diese Version: vc_redist.x64.exe. Speichern Sie das Installationsprogramm im selben Ordner auf Ihrem IoT-Gerät wie die IoT Edge-Dateien.

  5. Um sie mit Offlinekomponenten zu installieren, verwenden Sie die lokale Kopie des PowerShell-Skripts.

  6. Führen Sie den Befehl Deploy-IoTEdge mit dem -OfflineInstallationPath Parameter aus. Geben Sie den absoluten Pfad zum Dateiverzeichnis an. Beispiel:

    . path_to_powershell_module_here\IoTEdgeSecurityDaemon.ps1
    Deploy-IoTEdge -OfflineInstallationPath path_to_file_directory_here
    

    Der Bereitstellungsbefehl verwendet alle Komponenten, die im lokalen Dateiverzeichnis enthalten sind. Wenn entweder die .cab-Datei oder das Visual C++-Installationsprogramm fehlt, wird versucht, sie herunterzuladen.

Deinstallieren von IoT Edge

Wenn Sie die IoT Edge-Installation von Ihrem Windows-Gerät entfernen möchten, verwenden Sie den Befehl "Uninstall-IoTEdge " aus einem administrativen PowerShell-Fenster. Mit diesem Befehl wird die IoT Edge-Laufzeit sowie Ihre vorhandene Konfiguration und die Moby-Moduldaten entfernt.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; `
Uninstall-IoTEdge

Weitere Informationen zu Deinstallationsoptionen erhalten Sie, indem Sie den Befehl Get-Help Uninstall-IoTEdge -full verwenden.

Nächste Schritte

Sie können nun mit dem Artikel zum Bereitstellen von IoT Edge-Modulen fortfahren, um zu erfahren, wie Sie Module auf Ihrem Gerät bereitstellen.