Zelfstudie: Een proxy-update voltooien met Device Update voor Azure IoT Hub
Als u dit nog niet hebt gedaan, raadpleegt u Proxy-updates gebruiken met Apparaatupdate voor Azure IoT Hub.
Een testapparaat of virtuele machine instellen
In deze zelfstudie wordt een virtuele machine (VM) van Ubuntu Server 18.04 LTS als voorbeeld gebruikt.
De Device Update Agent en afhankelijkheden installeren
Registreer packages.microsoft.com in een APT-pakketopslagplaats:
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
Installeer de deviceupdate-agent op het IoT-apparaat . Download het meest recente Debian-bestand voor apparaatupdates van packages.microsoft.com:
sudo apt-get install deviceupdate-agent
U kunt ook het gedownloade Debian-bestand naar de test-VM kopiëren. Als u PowerShell op uw computer gebruikt, voert u de volgende shell-opdracht uit:
scp <path to the .deb file> tester@<your vm's ip address>:~
Ga vervolgens extern naar uw VM en voer de volgende shell-opdracht uit in de basismap :
#go to home folder cd ~ #install latest Device Update agent sudo apt-get install ./<debian file name from the previous step>
Ga naar Azure IoT Hub en kopieer de primaire connection string voor de module Device Update van uw IoT-apparaat. Vervang een standaardwaarde voor het
connectionData
veld door de primaire connection string in het bestand du-config.json:sudo nano /etc/adu/du-config.json
Notitie
U kunt in plaats daarvan de primaire connection string voor het apparaat kopiëren, maar we raden u aan de tekenreeks voor de module Device Update te gebruiken. Zie Device Update Agent inrichten voor meer informatie over het instellen van de module.
Zorg ervoor dat /etc/adu/du-diagnostics-config.json de juiste instellingen bevat voor logboekverzameling. Bijvoorbeeld:
{ "logComponents":[ { "componentName":"adu", "logPath":"/var/log/adu/" }, { "componentName":"do", "logPath":"/var/log/deliveryoptimization-agent/" } ], "maxKilobytesToUploadPerLogPath":50 }
Start de Device Update-agent opnieuw op:
sudo systemctl restart adu-agent
Gesimuleerde onderdelen instellen
Voor test- en demonstratiedoeleinden maken we de volgende mock-onderdelen op het apparaat:
- Drie motoren
- Twee camera's
- "hostfs"
- "rootfs"
Belangrijk
De voorgaande onderdeelconfiguratie is gebaseerd op de implementatie van een voorbeeld van een enumerator-extensie voor onderdelen met de naam libcontoso-component-enumerator.so. Hiervoor is ook dit gesimuleerde inventarisgegevensbestand voor onderdelen vereist: /usr/local/contoso-devices/components-inventory.json.
Kopieer de map demo naar uw basismap op de test-VM. Voer vervolgens de volgende opdracht uit om vereiste bestanden naar de juiste locaties te kopiëren:
`~/demo/tools/reset-demo-components.sh`
De
reset-demo-components.sh
opdracht voert namens u de volgende stappen uit:Het kopieert components-inventory.json en voegt deze toe aan de map /usr/local/contoso-devices .
De contoso component enumerator-extensie (libcontoso-component-enumerator.so) wordt gekopieerd uit de map Assets en wordt toegevoegd aan de map /var/lib/adu/extensions/sources .
De extensie wordt geregistreerd:
sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
Bekijk en noteer de softwareversie van de huidige onderdelen met behulp van de volgende opdracht om de VM in te stellen voor ondersteuning van proxy-updates:
~/demo/show-demo-components.sh
Een voorbeeldupdate importeren
Als u dit nog niet hebt gedaan, maakt u een Device Update-account en -exemplaar, inclusief het configureren van een IoT-hub. Start vervolgens de volgende procedure.
Download in de nieuwste device update-release onder Assets de manifesten en installatiekopieën voor proxy-updates importeren.
Meld u aan bij de Azure Portal en ga naar uw IoT-hub met Device Update. Selecteer in het linkerdeelvenster Apparaatbeheer>Updates.
Selecteer het tabblad Updates.
Selecteer + Nieuwe update importeren.
Selecteer + Selecteren in opslagcontainer en kies vervolgens uw opslagaccount en container.
Selecteer Uploaden om de bestanden toe te voegen die u in stap 1 hebt gedownload.
Upload het bovenliggende importmanifest, het onderliggende importmanifest en de nettoladingbestanden naar uw container.
In het volgende voorbeeld ziet u voorbeeldbestanden die zijn geüpload om camera's bij te werken die zijn verbonden met een slim stofzuigerapparaat. Het bevat ook een pre-installatiescript om de camera's uit te schakelen vóór de over-the-air update.
In het voorbeeld is het bovenliggende importmanifest contoso. Virtual-Vacuum-virtual-camera.1.4.importmanifest.json. Het onderliggende importmanifest met details voor het bijwerken van de camera is Contoso.Virtual-Vacuum.3.3.importmanifest.json. Houd er rekening mee dat beide manifestbestandsnamen de vereiste indeling hebben en eindigen met .importmanifest.json.
Kies Selecteren.
De gebruikersinterface toont nu de lijst met bestanden die worden geïmporteerd in Device Update. Selecteer Update importeren.
Het importproces wordt gestart en het scherm wordt gewijzigd in de sectie Importgeschiedenis . Selecteer Vernieuwen om de voortgang weer te geven totdat het importproces is voltooid. Afhankelijk van de grootte van de update, kan het importeren binnen enkele minuten worden voltooid of langer duren.
Wanneer de kolom Status aangeeft dat het importeren is voltooid, selecteert u het tabblad Beschikbaar Updates. Als het goed is, ziet u nu de geïmporteerde update in de lijst.
Meer informatie over het importeren van updates.
Updategroep maken
Ga naar het tabblad Groepen en implementaties bovenaan de pagina.
Selecteer de knop Groep toevoegen om een nieuwe groep te maken.
Selecteer een IoT Hub tag en Apparaatklasse in de lijst en selecteer vervolgens Groep maken.
Zodra de groep is gemaakt, ziet u dat de updatecompatibiliteitsgrafiek en de lijst met groepen zijn bijgewerkt. Grafiek met updatenaleving toont het aantal apparaten in verschillende nalevingsstatussen: Bij de meest recente update, Nieuwe updates beschikbaar en Updates wordt uitgevoerd. Meer informatie over updatecompatibiliteit.
U ziet nu de zojuist gemaakte groep en eventuele beschikbare updates voor de apparaten in de nieuwe groep. Als er apparaten zijn die niet voldoen aan de apparaatklassevereisten van de groep, worden ze weergegeven in een bijbehorende ongeldige groep. U kunt de best beschikbare update implementeren voor de nieuwe door de gebruiker gedefinieerde groep vanuit deze weergave door te klikken op de knop Implementeren naast de groep.
Meer informatie over het toevoegen van tags en het maken van updategroepen
Update implementeren
Zodra de groep is gemaakt, ziet u een nieuwe update die beschikbaar is voor uw apparaatgroep, met een koppeling naar de update onder Beste update (mogelijk moet u eenmaal vernieuwen). Meer informatie over updatecompatibiliteit.
Selecteer de doelgroep door op de groepsnaam te klikken. U wordt omgeleid naar de groepsdetails onder Basisbeginselen van groep.
- Ga naar het tabblad Huidige implementatie om de implementatie te starten. Klik op de koppeling implementeren naast de gewenste update in de sectie Beschikbare updates. De beste, beschikbare update voor een bepaalde groep wordt aangegeven met een markering 'Beste'.
- Plan de implementatie om onmiddellijk of in de toekomst te beginnen en selecteer vervolgens Maken.
- De status onder Implementatiedetails moet worden ingesteld op Actief en de geïmplementeerde update moet worden gemarkeerd met '(implementeren)'.
Bekijk de nalevingsgrafiek. U ziet dat de update nu wordt uitgevoerd.
Nadat uw apparaat is bijgewerkt, ziet u dat uw nalevingsgrafiek en implementatiedetails worden bijgewerkt om hetzelfde weer te geven.
Een update-implementatie bewaken
Selecteer het tabblad Implementatiegeschiedenis bovenaan de pagina.
Selecteer de koppeling details naast de implementatie die u hebt gemaakt.
Selecteer Vernieuwen om de meest recente statusdetails weer te geven.
U hebt nu een geslaagde end-to-end proxy-update voltooid met device update voor IoT Hub.
Resources opschonen
Wanneer u ze niet meer nodig hebt, schoont u uw Device Update-account, exemplaar, IoT-hub en IoT-apparaat op.
Volgende stappen
U kunt de volgende zelfstudies gebruiken voor een eenvoudige demonstratie van Device Update voor IoT Hub:
Device Update for Azure IoT Hub tutorial using the Raspberry Pi 3 B+ reference image (extensible via open source to build your own images for other architectures as needed)