Tutorial: Abschließen eines Proxyupdates mit Device Update for Azure IoT Hub

Lesen Sie die Informationen unter Verwenden von Proxyupdates mit Device Update for Azure IoT Hub, sofern noch nicht geschehen.

Einrichten eines Testgeräts oder virtuellen Computers

In diesem Tutorial wird ein virtueller Ubuntu Server 18.04 LTS-Computer (VM) als Beispiel verwendet.

Installieren des Device Update-Agents und der Abhängigkeiten

  1. Registrieren von packages.microsoft.com im APT-Paketrepository:

    sudo apt-get update
    
    sudo apt install curl
    
    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ~/microsoft-prod.list
    
    sudo cp ~/microsoft-prod.list /etc/apt/sources.list.d/
    
    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > ~/microsoft.gpg
    
    sudo cp ~/microsoft.gpg /etc/apt/trusted.gpg.d/
    
    sudo apt-get update
    
  2. Installieren Sie deviceupdate-agent auf dem IoT-Gerät. Herunterladen der aktuellen Device Update-Debian-Datei von packages.microsoft.com:

    sudo apt-get install deviceupdate-agent
    

    Kopieren Sie alternativ die heruntergeladene Debian-Datei auf die Test-VM. Wenn Sie PowerShell auf Ihrem Computer verwenden, führen Sie den folgenden Shellbefehl aus:

    scp <path to the .deb file> tester@<your vm's ip address>:~
    

    Stellen Sie dann eine Remoteverbindung mit Ihrem virtuellen Computer her, und führen Sie den folgenden Shellbefehl im Basisordner aus:

    #go to home folder 
    cd ~
    #install latest Device Update agent
    sudo apt-get install ./<debian file name from the previous step>
    
  3. Navigieren Sie zu „IoT Hub“, und kopieren Sie die primäre Verbindungszeichenfolge für das Device Update-Modul Ihres IoT-Geräts. Ersetzen Sie in der Datei du-config.json die Standardwerte für das Feld connectionData durch die primäre Verbindungszeichenfolge:

    sudo nano /etc/adu/du-config.json  
    

    Hinweis

    Sie können stattdessen die primäre Verbindungszeichenfolge für das Gerät kopieren. Es wird jedoch empfohlen, die Zeichenfolge für das Device Update-Modul zu verwenden. Informationen zum Einrichten des Moduls finden Sie unter Bereitstellung des Geräteupdate-Agents.

  4. Vergewissern Sie sich, dass /etc/adu/du-diagnostics-config.json die richtigen Einstellungen für die Protokollsammlung enthält. Beispiel:

    {
      "logComponents":[
        {
          "componentName":"adu",
           "logPath":"/var/log/adu/"
        },
        {
          "componentName":"do",
          "logPath":"/var/log/deliveryoptimization-agent/"
        }
      ],
      "maxKilobytesToUploadPerLogPath":50
    }
    
  5. Neustarten des Device Update-Agents:

    sudo systemctl restart deviceupdate-agent
    

Einrichten von Modellkomponenten

Zu Test- und Demonstrationszwecken erstellen Sie die folgenden Modellkomponenten auf dem Gerät:

  • Drei Motoren
  • Zwei Kameras
  • „hostfs“
  • „rootfs“

Wichtig

Die obige Komponentenkonfiguration basiert auf der Implementierung einer Beispielerweiterung für Komponentenenumeratoren namens libcontoso-component-enumerator.so. Außerdem ist diese Modellkomponenten-Inventurdatendatei erforderlich: /usr/local/contoso-devices/components-inventory.json.

  1. Kopieren Sie den Ordner Demo in Ihr Basisverzeichnis auf der Test-VM. Führen Sie dann den folgenden Befehl aus, um die erforderlichen Dateien an die richtigen Speicherorte zu kopieren:

    `~/demo/tools/reset-demo-components.sh` 
    

    Der reset-demo-components.sh-Befehl führt die folgenden Schritte für Sie aus:

    • Er kopiert components-inventory.json und fügt die Datei im Ordner /usr/local/contoso-devices hinzu.

    • Er kopiert die Contoso-Komponentenenumeratorerweiterung (libcontoso-component-enumerator.so) aus dem Ordner Assets und fügt sie dem Ordner /var/lib/adu/extensions/sources hinzu.

    • Die Erweiterung wird registriert:

      sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
      

Importieren eines Beispielupdates

Erstellen Sie ein Konto und eine Instanz für Device Update (einschließlich der Konfiguration eines IoT-Hubs), sofern noch nicht geschehen. Starten Sie dann das folgende Verfahren.

  1. Laden Sie die Importmanifeste und Images für Proxyupdates aus dem aktuellen Device Update-Release unter Assets herunter.

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

  3. Wählen Sie die Registerkarte Updates aus.

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

  5. Wählen Sie + Aus Speichercontainer auswählen und dann Ihr Speicherkonto und Ihren Container aus.

    Screenshot der Schaltfläche zum Auswählen des Imports aus einem Speichercontainer.

  6. Wählen Sie Hochladen aus, um die Dateien hinzuzufügen, die Sie in Schritt 1 heruntergeladen haben.

  7. Laden Sie das übergeordnete Importmanifest, das untergeordnete Importmanifest und die Nutzlastdateien in Ihren Container hoch.

    Im folgenden Beispiel sehen Sie Beispieldateien, die zum Aktualisieren von Kameras hochgeladen wurden, die mit einem intelligenten Staubsauger verbunden sind. Es enthält außerdem ein Vorinstallationsskript zum Ausschalten der Kameras vor dem Over-the-Air-Update.

    Das übergeordnete Importmanifest im Beispiel ist contoso.Virtual-Vacuum-virtual-camera.1.4.importmanifest.json. Das untergeordnete Importmanifest mit Details zum Aktualisieren der Kamera ist Contoso.Virtual-Vacuum.3.3.importmanifest.json. Beide Manifestdateinamen weisen das erforderliche Format auf und enden mit .importmanifest.json.

    Screenshot von Beispieldateien, die zum Aktualisieren von Kameras hochgeladen wurden, welche mit einem intelligenten Staubsauger verbunden sind.

  8. Klicken Sie auf Auswählen.

  9. Auf der Benutzeroberfläche wird nun die Liste der Dateien angezeigt, die in Device Update importiert werden. Wählen Sie Update importieren aus.

    Screenshot der aufgelisteten Dateien und der Schaltfläche zum Importieren eines Updates.

  10. Der Importvorgang beginnt, und der Bildschirm ändert sich in den Abschnitt Importverlauf. Wählen Sie Aktualisieren aus, um den Fortschritt anzuzeigen, bis der Importvorgang abgeschlossen ist. Je nach Größe des Updates kann der Import nach einigen Minuten abgeschlossen sein oder länger dauern.

  11. Wenn die Spalte Status angibt, dass der Import erfolgreich war, wählen Sie die Registerkarte Verfügbare Updates aus. Das importierte Update sollte jetzt in der Liste angezeigt werden.

    Screenshot des importierten Updates, das der Liste hinzugefügt wurde.

Weitere Informationen zum Importvorgang finden Sie unter Importieren eines Updates in Device Update.

Anzeigen von Gerätegruppen

Device Update verwendet Gruppen, um Geräte zu organisieren. Device Update ordnet Geräte basierend auf den zugewiesenen Tags und Kompatibilitätseigenschaften automatisch in Gruppen ein. Jedes Gerät gehört nur zu einer Gruppe, aber Gruppen können mehrere Untergruppen haben, um unterschiedliche Geräteklassen zu sortieren.

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

    Screenshot: ungruppierte Geräte.

  2. Zeigen Sie die Liste der Gruppen und das Updatekonformitätsdiagramm an. 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.

  3. Sie sollten eine Gerätegruppe sehen, die das simulierte Gerät, das Sie in diesem Tutorial eingerichtet haben, sowie alle verfügbaren Updates für die Geräte in der neuen Gruppe enthält. 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.

Weitere Informationen zu Tags und Gruppen finden Sie unter Verwalten von Gerätegruppen.

Bereitstellen des Updates

  1. Nachdem die Gruppe erstellt wurde, sollte ein neues Update für Ihre Gerätegruppe mit einem Link zum Update unter „Bestes Update“ angezeigt werden (möglicherweise müssen Sie zunächst die Ansicht aktualisieren).

    Weitere Informationen zur Kompatibilität finden Sie unter Device Update-Konformität.

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

    Gruppendetails

  3. Um die Bereitstellung einzuleiten, wechseln Sie zur Registerkarte Aktuelle Bereitstellung. Wählen Sie im Abschnitt Verfügbare Updates neben dem gewünschten Update den Link Bereitstellen aus. Das beste verfügbare Update für eine bestimmte Gruppe wird mit „Beste“ hervorgehoben.

    Auswählen des Updates

  4. Planen Sie den Start Ihrer Bereitstellung unverzüglich oder in der Zukunft, und wählen Sie dann „Erstellen“ aus.

    Bereitstellung erstellen

  5. Der Status unter „Bereitstellungsdetails“ sollte in „Aktiv“ geändert werden, und das bereitgestellte Update sollte mit „(wird bereitgestellt)“ gekennzeichnet werden.

    Bereitstellung aktiv

  6. Zeigen Sie das Konformitätsdiagramm an. Es sollte angezeigt werden, dass das Update jetzt ausgeführt wird.

  7. Nachdem das Gerät erfolgreich aktualisiert wurde, sollten Sie sehen, dass Ihr Konformitätsdiagramm und die Details der Bereitstellung so aktualisiert werden, dass sie übereinstimmen.

    Update erfolgreich

Überwachen einer Updatebereitstellung

  1. Wählen Sie oben auf der Seite die Registerkarte „Bereitstellungsverlauf“ aus.

    Bereitstellungsverlauf

  2. Wählen Sie den Link „Details“ neben der von Ihnen erstellten Bereitstellung aus.

    Bereitstellungsdetails

  3. Wählen Sie „Refresh“ (Aktualisieren) aus, um die neuesten Statusdetails anzuzeigen.

Sie haben nun ein erfolgreiches End-to-End-Proxyupdate mithilfe von Device Update for IoT Hub durchgeführt.

Bereinigen von Ressourcen

Wenn Sie sie nicht mehr benötigten, bereinigen Sie Ihr Device Update-Konto, die Instanz, den IoT-Hub und das IoT-Gerät.

Nächste Schritte