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
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
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>
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.
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 }
Neustarten des Device Update-Agents:
sudo systemctl restart adu-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.
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
Zeigen Sie die Softwareversion der aktuellen Komponenten an, und zeichnen Sie sie auf. Verwenden Sie dazu den folgenden Befehl, um den virtuellen Computer für die Unterstützung von Proxyupdates zu konfigurieren:
~/demo/show-demo-components.sh
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.
Laden Sie die Importmanifeste und Images für Proxyupdates aus dem aktuellen Device Update-Release unter Assets herunter.
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.
Wählen Sie die Registerkarte Updates aus.
Wählen Sie + Neues Update importieren aus.
Wählen Sie + Aus Speichercontainer auswählen und dann Ihr Speicherkonto und Ihren Container aus.
Wählen Sie Hochladen aus, um die Dateien hinzuzufügen, die Sie in Schritt 1 heruntergeladen haben.
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. Beachten Sie, dass beide Manifestdateinamen das erforderliche Format aufweisen und mit .importmanifest.json enden.
Klicken Sie auf Auswählen.
Auf der Benutzeroberfläche wird nun die Liste der Dateien angezeigt, die in Device Update importiert werden. Wählen Sie Update importieren aus.
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.
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.
Weitere Informationen zum Importieren von Updates.
Erstellen der Updategruppe
Navigieren Sie oben auf der Seite zur Registerkarte „Gruppen und Bereitstellungen“.
Wählen Sie die Schaltfläche „Gruppe hinzufügen“ aus, um eine neue Gruppe zu erstellen.
Wählen Sie in der Liste ein IoT Hub-Tag und eine Geräteklasse und dann „Gruppe erstellen“ aus.
Nachdem die Gruppe erstellt wurde, werden Sie feststellen, dass das Updatekonformitätsdiagramm und die Liste der Gruppen aktualisiert wurden. Das Updatekonformitätsdiagramm gibt Aufschluss über die Anzahl von Geräten mit verschiedenen Konformitätszuständen: „Mit neuestem Update“, „Neue Updates verfügbar“ und „Updates werden ausgeführt“. Erfahren Sie mehr über Updatekonformität.
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. Sie können das beste verfügbare Update für die neue benutzerdefinierte Gruppe aus dieser Ansicht bereitstellen, indem Sie neben der Gruppe auf die Schaltfläche „Bereitstellen“ klicken.
Weitere Informationen zum Hinzufügen von Tags und zum Erstellen von Updategruppen
Bereitstellen des Updates
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 Updatekonformität.
Wählen Sie die Zielgruppe aus, indem Sie auf den Gruppennamen klicken. Sie werden zu den Gruppendetails unter „Allgemeine Informationen zu Gruppen“ weitergeleitet.
- Um die Bereitstellung zu initiieren, 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.
- Planen Sie den Start Ihrer Bereitstellung unverzüglich oder in der Zukunft, und wählen Sie dann „Erstellen“ aus.
- Der Status unter „Bereitstellungsdetails“ sollte in „Aktiv“ geändert werden, und das bereitgestellte Update sollte mit „(wird bereitgestellt)“ gekennzeichnet werden.
Zeigen Sie das Konformitätsdiagramm an. Es sollte angezeigt werden, dass das Update jetzt ausgeführt wird.
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.
Überwachen einer Updatebereitstellung
Wählen Sie oben auf der Seite die Registerkarte „Bereitstellungsverlauf“ aus.
Wählen Sie den Link „Details“ neben der von Ihnen erstellten Bereitstellung aus.
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
In den folgenden Tutorials finden Sie eine einfache Demonstration des Device Update for IoT Hub:
Tutorial: Device Update for Azure IoT Hub unter Verwendung des Raspberry Pi 3 B+-Referenzimages (erweiterbar über Open Source zum Erstellen eigener Images für andere Architekturen nach Bedarf)