Freigeben über


Tutorial: Device Update for IoT Hub mit Simulator Reference Agent (Ubuntu 18.04 x64)

Device Update for IoT Hub unterstützt image-, paket- und skriptbasierte Updates.

Imageupdates bieten ein höheres Maß an Vertrauen in den Endzustand des Geräts. Es ist in der Regel einfacher, die Ergebnisse eines Imageupdates zwischen einer Vorproduktions- und einer Produktionsumgebung zu replizieren, da dies nicht die gleichen Herausforderungen wie bei Paketen und deren Abhängigkeiten mit sich bringt. Aufgrund ihrer atomischen Natur können Sie auch problemlos ein A/B-Failovermodell übernehmen.

In diesem Tutorial werden die Schritte erläutert, mit denen Sie ein vollständiges, imagebasiertes Update mit Device Update for IoT Hub durchführen.

In diesem Tutorial lernen Sie Folgendes:

  • Herunterladen und Installieren eines Image
  • Hinzufügen eines Tags zu Ihrem IoT-Gerät
  • Importieren eines Updates
  • Gerätegruppe erstellen.
  • Bereitstellen eines Imageupdates
  • Überwachen der Updatebereitstellung

Voraussetzungen

Erstellen Sie ein Konto und eine Instanz für Device Update, und konfigurieren Sie einen IoT-Hub, falls Sie diese Schritte noch nicht ausgeführt haben.

Laden Sie die ZIP-Datei Tutorial_Simulator.zip aus den Releaseressourcen in der neuesten Version herunter, und entzippen Sie sie.

Hinzufügen eines Geräts zu Azure IoT Hub

Nachdem der Device Update-Agent auf einem IoT-Gerät ausgeführt wurde, müssen Sie das Gerät IoT Hub hinzufügen. In IoT Hub wird eine Verbindungszeichenfolge für ein bestimmtes Gerät generiert.

  1. Starten Sie Device Update for IoT Hub im Azure-Portal.

  2. Erstellen Sie ein neues Gerät.

  3. Wechseln Sie im linken Bereich zu Geräte. Wählen Sie dann Neu aus.

  4. Geben Sie unter Geräte-ID einen Namen für das Gerät ein. Stellen Sie sicher, dass das Kontrollkästchen Schlüssel automatisch generieren aktiviert ist.

  5. Wählen Sie Speichern aus.

  6. Nun wird die Seite Geräte erneut angezeigt, und das von Ihnen erstellte Gerät sollte in der Liste enthalten sein. Wählen Sie dieses Gerät aus.

  7. Klicken Sie in der Ansicht „Gerät“ auf das Symbol Kopieren neben Primäre Verbindungszeichenfolge.

  8. Fügen Sie die kopierten Zeichen irgendwo zur späteren Verwendung in den folgenden Schritten ein:

    Diese kopierte Zeichenfolge ist Ihre Geräteverbindungszeichenfolge.

Installieren des Device Update-Agents zum Testen als Simulator

  1. Befolgen Sie die Anweisungen unter Erstellen und Bereitstellen eines IoT Edge-Geräts unter Linux mithilfe von symmetrischen Schlüsseln.

    Hinweis

    Der Geräteupdate-Agent ist nicht von IoT Edge abhängig. Er greift jedoch auf den Daemon für den IoT-Identitätsdienst zu, der mit IoT Edge (Version 1.2.0 und höher) installiert wird, um eine Identität abzurufen und eine Verbindung mit IoT Hub herzustellen.

    Der Daemon für den IoT Identitätsdienst kann eigenständig auf Linux-basierten IoT-Geräten installiert werden. Dies wird in diesem Tutorial jedoch nicht erläutert. Die Reihenfolge der Installation ist wichtig. Der Device Update-Paket-Agent muss nach dem IoT-Identitätsdienst installiert werden. Andernfalls wird der Paket-Agent nicht als autorisierte Komponente registriert, um eine Verbindung mit IoT Hub herzustellen.

  2. Installieren Sie dann die DEB-Pakete des Device Update-Agents.

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    
  3. Geben Sie die primäre Verbindungszeichenfolge des Moduls Ihres IoT-Geräts (oder Geräts, je nachdem, wie Sie das Gerät mit Device Update bereitgestellt haben) in die Konfigurationsdatei ein, indem Sie den folgenden Befehl ausführen:

    sudo nano /etc/adu/du-config.json
    
  4. Richten Sie den Agent so ein, dass er als Simulator ausgeführt wird. Führen Sie den folgenden Befehl auf dem IoT-Gerät aus, damit der Device Update-Agent den Simulatorhandler aufruft, um ein Paketupdate mit APT („microsoft/apt:1“) zu verarbeiten:

    sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_simulator_1.so --update-type 'microsoft/apt:1'
    

    Verwenden Sie zum Registrieren und Aufrufen des Simulatorhandlers das folgende Format, und füllen Sie die Platzhalter aus:

    sudo /usr/bin/AducIotAgent --register--content-handler <full path to the handler file> --update-type <update type name>

  5. Sie benötigen die Datei sample-du-simulator-data.json aus der heruntergeladenen Datei Tutorial_Simulator.zip in den Voraussetzungen.

    Öffnen Sie die Datei sample-du-simulator-data.json, und kopieren Sie deren Inhalt in die Zwischenablage:

    nano sample-du-simulator-data.json
    

    Wählen Sie den Inhalt der Datei aus, und drücken Sie STRG+C. Drücken Sie STRG+X, um die Datei zu schließen und Änderungen nicht zu speichern.

    Führen Sie den folgenden Befehl aus, um die du-simulator-data.json-Datei im Ordner „tmp“ zu erstellen und zu bearbeiten:

    sudo nano /tmp/du-simulator-data.json
    

    Drücken Sie STRG+V, um den Inhalt in den Editor einzufügen. Drücken Sie STRG+X, um die Änderungen zu speichern, und dann J.

    Ändern Sie die Berechtigungen:

    sudo chown adu:adu /tmp/du-simulator-data.json
    sudo chmod 664 /tmp/du-simulator-data.json
    

    Wenn „/tmp“ nicht vorhanden ist, gehen Sie wie folgt vor:

     sudo mkdir/tmp
     sudo chown root:root/tmp
     sudo chmod 1777/tmp
    
  6. Starten Sie den Device Update-Agent neu, indem Sie den folgenden Befehl ausführen:

     sudo systemctl restart adu-agent
    

Die Software Device Update for Azure IoT Hub unterliegt den folgenden Lizenzbedingungen:

Lesen Sie vor Verwendung des Agents die Lizenzbedingungen. Durch die Installation und Verwendung erklären Sie Ihre Zustimmung zu diesen Bestimmungen. Wenn Sie den Lizenzbedingungen nicht zustimmen, verwenden Sie den Device Update for IoT Hub-Agent nicht.

Hinweis

Führen Sie nach dem Testen mit dem Simulator den folgenden Befehl aus, um den APT-Handler aufzurufen und Over-the-Air-Paketupdates bereitzustellen:

# sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/a pt:1'

Hinzufügen eines Tags zu Ihrem Gerät

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

  2. Suchen Sie im linken Bereich unter Geräte nach Ihrem IoT-Gerät, und wechseln Sie zum Geräte- oder Modulzwilling.

  3. Löschen Sie im Modulzwilling des Device Update-Agent-Moduls alle vorhandenen Device Update-Tagwerte, indem Sie diese auf NULL festlegen. Wenn Sie die Geräteidentität mit einem Device Update-Agent verwenden, nehmen Sie diese Änderungen im Gerätezwilling vor.

  4. Fügen Sie wie im Folgenden gezeigt einen neuen Device Update-Tagwert hinzu:

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                }
    

Importieren des Updates

  1. Sie benötigen die Dateien TutorialImportManifest_Sim.importmanifest.json und adu-update-image-raspberrypi3.swu aus der heruntergeladenen Datei Tutorial_Simulator.zip in den Voraussetzungen. Die Updatedatei wird im Raspberry Pi-Tutorial wiederverwendet. Da das Update in diesem Tutorial simuliert wird, spielt der spezifische Dateiinhalt keine Rolle.

  2. Melden Sie sich beim Azure-Portal an, und navigieren Sie zu Ihrem IoT-Hub mit Device Update. Wählen Sie im linken Bereich unter Automatische Geräteverwaltung die Option Updates aus.

  3. Wählen Sie die Registerkarte Updates aus.

  4. Wählen Sie + Neues Update importieren aus.

  5. Klicken Sie auf + Aus Speichercontainer auswählen. Wählen Sie ein vorhandenes Konto aus, oder erstellen Sie über die Option + Speicherkonto ein neues. Wählen Sie dann einen vorhandenen Container aus, oder erstellen Sie mithilfe von + Container einen neuen. Dieser Container wird für das Stagen Ihrer Updatedateien für den Import verwendet.

    Hinweis

    Es wird empfohlen, bei jedem Import eines Updates einen neuen Container zu verwenden, um zu vermeiden, dass versehentlich Dateien aus früheren Updates importiert werden. Wenn Sie keinen neuen Container verwenden, müssen Sie vor diesem Schritt alle Dateien aus dem vorhandenen Container löschen.

    Screenshot: Speicherkonten und Container.

  6. Klicken Sie in Ihrem Container auf Hochladen, und navigieren Sie zu den in Schritt 1 heruntergeladenen Dateien. Nachdem Sie alle Updatedateien ausgewählt haben, klicken Sie auf Hochladen. Klicken Sie dann auf die Schaltfläche Auswählen, um zur Seite Update importieren zurückzukehren.

    Screenshot: Auswählen hochgeladener Dateien.

    Dieser Screenshot veranschaulicht den Importschritt. Dateinamen stimmen möglicherweise nicht mit denen überein, die im Beispiel verwendet werden.

  7. Überprüfen Sie auf der Seite Update importieren die zu importierenden Dateien. Klicken Sie dann auf Update importieren, um den Importvorgang zu starten.

    Screenshot: „Update importieren“.

  8. Der Importvorgang beginnt, und auf dem Bildschirm wird der Abschnitt Importverlauf angezeigt. Wenn in der Spalte Status angezeigt wird, dass der Import erfolgreich war, klicken Sie auf den Header Verfügbare Updates. Ihr importiertes Update sollte nun in der Liste angezeigt werden.

    Screenshot des Auftragsstatus.

Informieren Sie sich weiter über das Importieren von Updates.

Erstellen einer Updategruppe

  1. Navigieren Sie oben auf der Seite zur Registerkarte Gruppen und Bereitstellungen.

    Screenshot: ungruppierte Geräte.

  2. Klicken Sie auf Gruppe hinzufügen, um eine neue Gruppe zu erstellen.

    Screenshot: Hinzufügen einer Gerätegruppe.

  3. Wählen Sie in der Liste ein IoT Hub-Tag und eine Geräteklasse aus. Wählen Sie anschließend Gruppe erstellen aus.

    Screenshot: Tagauswahl.

  4. Nachdem die Gruppe erstellt wurde, werden das Updatekonformitätsdiagramm und die Gruppenliste aktualisiert. Das Updatekonformitätsdiagramm zeigt die Anzahl von Geräten in verschiedenen Konformitätszuständen: Mit neuestem Update, Neue Updates verfügbar und Updates werden ausgeführt. Informieren Sie sich weiter über die Updatekonformität.

    Screenshot: Updatekonformitätsansicht.

  5. Die neu erstellte Gruppe und alle verfügbaren Updates für die Geräte in der neuen Gruppe sollten angezeigt werden. Wenn Geräte vorhanden sind, die die Geräteklassenanforderungen der Gruppe nicht erfüllen, werden sie in einer entsprechenden Gruppe ungültiger Geräte angezeigt. Klicken Sie neben der Gruppe auf Bereitstellen, um das beste verfügbare Update für die neue benutzerdefinierte Gruppe aus dieser Ansicht bereitzustellen.

Informieren Sie sich weiter über das Hinzufügen von Tags und Erstellen von Updategruppen.

Bereitstellen des Updates

  1. Nachdem die Gruppe erstellt wurde, sollte ein neues Update für Ihre Gerätegruppe verfügbar sein. Ein Link zum Update sollte unter Bestes Update angezeigt werden. Möglicherweise müssen Sie den Browser einmal aktualisieren. Informieren Sie sich weiter über die Updatekonformität.

  2. Wählen Sie die Zielgruppe aus, indem Sie den Gruppennamen auswählen. Sie werden zu den Gruppendetails unter Allgemeine Informationen zu Gruppen weitergeleitet.

    Screenshot: Gruppendetails.

  3. Um die Bereitstellung zu starten, wechseln Sie zur Registerkarte Aktuelle Bereitstellung. Klicken Sie im Abschnitt Verfügbare Updates auf den Link Bereitstellen neben dem gewünschten Update. Das beste verfügbare Update für eine bestimmte Gruppe wird mit Beste hervorgehoben.

    Screenshot: Auswählen eines Updates.

  4. Planen Sie den Start Ihrer Bereitstellung unverzüglich oder in der Zukunft. Klicken Sie anschließend auf Erstellen.

    Screenshot: „Bereitstellung erstellen“.

  5. Unter Bereitstellungsdetails wird der Status in Aktiv geändert. Das Bereitstellungsupdate ist mit (Wird bereitgestellt) gekennzeichnet.

    Screenshot: Bereitstellung ist aktiv.

  6. Zeigen Sie das Kompatibilitätsdiagramm an, um herauszufinden, ob das Update jetzt in Bearbeitung ist.

  7. Nachdem das Gerät erfolgreich aktualisiert wurde, erkennen Sie, dass Ihr Konformitätsdiagramm und die Bereitstellungsdetails so aktualisiert wurden, dass sie übereinstimmen.

    Screenshot: Update erfolgreich.

Überwachen der Updatebereitstellung

  1. Klicken Sie oben auf der Seite auf die Registerkarte Bereitstellungsverlauf.

    Screenshot: „Bereitstellungsverlauf“.

  2. Klicken Sie neben der erstellten Bereitstellung auf Details.

    Screenshot: Bereitstellungsdetails.

  3. Klicken Sie auf Aktualisieren, um die neuesten Statusdetails anzuzeigen.

Sie haben jetzt mithilfe von Device Update for IoT Hub ein erfolgreiches, vollständiges Imageupdate durchgeführt, indem Sie Simulator Reference Agent (Ubuntu 18.04 x64) verwendet haben.

Bereinigen von Ressourcen

Bereinigen Sie Ihr Konto, die Instanz, den IoT-Hub und das IoT-Gerät für Device Update, falls Sie diese Komponenten nicht mehr benötigen.

Nächste Schritte