Freigeben über


Tutorial: Geräteaktualisierung für Azure IoT Hub mit dem Ubuntu (18.04 x64) Simulator-Referenzagenten

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

Imageupdates bieten ein höheres Maß an Vertrauen in den Endzustand des Geräts. Normalerweise ist es einfacher, die Ergebnisse einer Imageaktualisierung zwischen einer Vorproduktionsumgebung und einer Produktionsumgebung zu replizieren, da sie nicht die gleichen Herausforderungen wie Pakete und deren Abhängigkeiten darstellt. Aufgrund ihrer atomischen Natur können Sie auch problemlos ein A/B-Failovermodell übernehmen.

Dieses Lernprogramm führt Sie durch die Schritte zum Ausführen eines end-to-end imagebasierten Updates mithilfe von Device Update for IoT Hub.

In diesem Tutorial lernen Sie, wie Sie:

  • Herunterladen und Installieren eines Image
  • Fügen Sie Ihrem IoT-Gerät ein Etikett hinzu.
  • Importieren eines Updates
  • Erstellen einer Gerätegruppe.
  • Bereitstellung eines Image-Updates
  • Überwachen Sie die Updatebereitstellung.

Voraussetzungen

Falls noch nicht geschehen, erstellen Sie ein Geräteaktualisierungskonto und eine Instanz , und konfigurieren Sie einen IoT-Hub.

Laden Sie die ZIP-Datei Tutorial_Simulator.zip aus den Veröffentlichungsressourcen der neuesten Version herunter und entpacken Sie sie.

Hinzufügen eines Geräts zum Azure IoT Hub

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

  1. Starten Sie im Azure-Portal das Geräteupdate für IoT Hub.

  2. Erstellen Sie ein neues Gerät.

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

  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. Wählen Sie in der Geräteansicht das Symbol "Kopieren " neben der primären Verbindungszeichenfolge aus.

  8. Fügen Sie die kopierten Zeichen an einer beliebigen Stelle ein, um sie später in den folgenden Schritten zu verwenden:

    Diese kopierte Zeichenfolge ist Ihre Geräteverbindungszeichenfolge.

Installieren Sie einen Geräteupdate-Agenten, um ihn als Simulator zu testen.

  1. Befolgen Sie die Anweisungen zum Installieren der Azure IoT Edge-Laufzeit.

    Hinweis

    Der Geräteupdate-Agent hängt nicht von IoT Edge ab. Es basiert jedoch auf dem IoT Identity Service-Daemon, der mit IoT Edge (1.2.0 und höher) installiert ist, um eine Identität zu erhalten und eine Verbindung mit IoT Hub herzustellen.

    Obwohl dies in diesem Lernprogramm nicht behandelt wird, kann der IoT Identity Service-Daemon auf Linux-basierten IoT-Geräten selbstständig installiert werden. Die Abfolge der Installation ist wichtig. Der Device Update-Paket-Agent muss nach dem IoT Identity Service 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 Geräteupdate-Agenten.

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    
  3. Geben Sie die primäre Verbindungszeichenfolge des Moduls (oder des Geräts, je nachdem, wie Sie das Gerät mit Device Update bereitgestellt haben) in der 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 Geräteupdate-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'
    

    Um den Simulatorhandler zu registrieren und aufzurufen, verwenden Sie das folgende Format, indem Sie die Platzhalter ausfüllen:

    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 dem heruntergeladenen Voraussetzungsarchiv Tutorial_Simulator.zip.

    Öffnen Sie die Datei sample-du-simulator-data.json , und kopieren Sie den 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 keine Änderungen 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. Wählen Sie STRG+X aus, um die Änderungen zu speichern, und dann Y.

    Berechtigungen ändern:

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

    Wenn /tmp nicht vorhanden ist, dann:

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

     sudo systemctl restart adu-agent
    

Geräteupdate für Azure IoT Hub-Software unterliegt den folgenden Lizenzbedingungen:

Lesen Sie die Lizenzbedingungen vor der Verwendung des Agents. Ihre Installation und Nutzung stellt Ihre Annahme dieser Bedingungen dar. Wenn Sie den Lizenzbedingungen nicht zustimmen, verwenden Sie nicht den Device Update for IoT Hub Agent.

Hinweis

Führen Sie nach dem Testen mit dem Simulator den folgenden Befehl aus, um den APT-Handler aufzurufen und Updates für das Over-the-Air-Paket 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. Unter "Geräte" im linken Bereich finden Sie Ihr IoT-Gerät und gehen Sie zum Gerätetwin oder Modultwin.

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

  4. Fügen Sie wie hier 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 den heruntergeladenen 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 verwendet, um Ihre Aktualisierungsdateien für den Import vorzubereiten.

    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. Wählen Sie in Ihrem Container Hochladen aus, und wechseln Sie zu den in Schritt 1 heruntergeladenen Dateien. Nachdem Sie alle Aktualisierungsdateien ausgewählt haben, wählen Sie "Hochladen" aus. 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, der das Importupdate zeigt.

  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, der den Auftragsstatus zeigt.

Erfahren Sie mehr über das Importieren von Updates.

Erstellen einer Updategruppe

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

    Screenshot, der ungruppierte Geräte zeigt.

  2. Wählen Sie Gruppe hinzufügen aus, um eine neue Gruppe zu erstellen.

    Screenshot, der das Hinzufügen von Gerätegruppen zeigt.

  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 der Tags-Auswahl.

  4. Nachdem die Gruppe erstellt wurde, werden das Kompatibilitä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, der die Updatekonformitätsansicht zeigt.

  5. Ihre 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. Um das beste verfügbare Update aus dieser Ansicht für die neue benutzerdefinierte Gruppe bereitzustellen, klicken Sie neben der Gruppe auf Bereitstellen.

Erfahren Sie mehr darüber, wie Sie Tags hinzufügen und Updategruppen erstellen.

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" stehen. 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 unter "Gruppengrundlagen" zu "Gruppendetails" weitergeleitet.

    Screenshot, der die Gruppendetails zeigt.

  3. Um die Bereitstellung zu starten, wechseln Sie zur Registerkarte "Aktuelle Bereitstellung ". Wählen Sie den Bereitstellungslink neben dem gewünschten Update im Abschnitt "Verfügbare Updates" aus. 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 sofort oder zu einem späteren Zeitpunkt. Wählen Sie dann Erstellen aus.

    Screenshot, der das Erstellen einer Bereitstellung zeigt.

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

    Screenshot, der zeigt, dass die Bereitstellung aktiv ist.

  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, der zeigt, dass Update erfolgreich war.

Überwachung der Updatebereitstellung

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

    Screenshot, der den Bereitstellungsverlauf zeigt.

  2. Klicken Sie neben der von Ihnen erstellten Bereitstellung auf Details.

    Screenshot, der die Bereitstellungsdetails zeigt.

  3. Wählen Sie Aktualisieren aus, 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

Wenn sie nicht mehr benötigt wird, bereinigen Sie Ihr Geräteupdatekonto, Instanz, IoT-Hub und IoT-Gerät.

Nächste Schritte