Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Enhetsuppdatering för Azure IoT Hub stöder avbildningsbaserade, paketbaserade och skriptbaserade uppdateringar.
Bilduppdateringar ger en högre nivå av förtroende för enhetens sluttillstånd. Det är vanligtvis enklare att replikera resultatet av en avbildningsuppdatering mellan en förproduktionsmiljö och en produktionsmiljö eftersom det inte innebär samma utmaningar som paket och deras beroenden. På grund av deras atomiska karaktär kan du också enkelt använda en A/B-redundansmodell.
I den här handledningen går vi igenom instruktionerna för att slutföra en helhetslösning för avbildningsbaserad uppdatering med Enhetsuppdatering för IoT Hub.
I den här självstudien får du lära dig att:
- Ladda ned och installera en avbildning.
- Lägg till en tagg till din IoT-enhet.
- Importera en uppdatering.
- Skapa en enhetsgrupp.
- Distribuera en bilduppdatering.
- Övervaka uppdateringsdistributionen.
Förutsättningar
Om du inte redan har gjort det skapar du ett konto och en instans för enhetsuppdatering och konfigurerar en IoT-hubb.
Ladda ned zip-filen med namnet Tutorial_Simulator.zip från Release Assets i den senaste versionen och packa upp den.
Lägga till en enhet i Azure IoT Hub
När enhetsuppdateringsagenten körs på en IoT-enhet måste du lägga till enheten i IoT Hub. Från IoT Hub genereras en anslutningssträng för en viss enhet.
Starta enhetsuppdateringen för IoT Hub från Azure-portalen.
Skapa en ny enhet.
I den vänstra rutan går du till Enheter. Välj sedan Nytt.
Under Enhets-ID anger du ett namn för enheten. Kontrollera att kryssrutan Generera nycklar automatiskt är markerad.
Välj Spara.
Nu är du tillbaka på sidan Enheter och enheten som du skapade bör finnas i listan. Välj den enheten.
I enhetsvyn väljer du ikonen Kopiera bredvid Primär anslutningssträng.
Klistra in de kopierade tecknen någonstans för senare användning i följande steg:
Den här kopierade strängen är enhetens anslutningssträng.
Installera en enhetsuppdateringsagent för att testa den som en simulator
Följ anvisningarna för att installera Azure IoT Edge-körningen.
Anmärkning
Enhetsuppdateringsagenten är inte beroende av IoT Edge. Men den förlitar sig på IoT Identity Service-daemonen som är installerad med IoT Edge (1.2.0 och senare) för att hämta en identitet och ansluta till IoT Hub.
Även om den inte beskrivs i den här självstudien kan daemonen IoT Identity Service installeras fristående på Linux-baserade IoT-enheter. Installationssekvensen är viktig. Paketagenten för enhetsuppdatering måste installeras efter IoT Identity Service. Annars registreras inte paketagenten som en auktoriserad komponent för att upprätta en anslutning till IoT Hub.
Installera sedan enhetsuppdateringsagenten .deb paket.
sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-aptAnge din IoT-enhets modul (eller enhet, beroende på hur du etablerade enheten med Enhetsuppdatering) primär anslutningssträng i konfigurationsfilen genom att köra följande kommando:
sudo nano /etc/adu/du-config.jsonKonfigurera agenten så att den körs som en simulator. Kör följande kommando på IoT-enheten så att enhetsuppdateringsagenten anropar simulatorhanteraren för att bearbeta en paketuppdatering med APT ("microsoft/apt:1"):
sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_simulator_1.so --update-type 'microsoft/apt:1'Om du vill registrera och anropa simulatorhanteraren använder du följande format och fyller i platshållarna:
sudo /usr/bin/AducIotAgent --register--content-handler <full path to the handler file> --update-type <update type name>Du behöver filen
sample-du-simulator-data.jsonfrån den nedladdadeTutorial_Simulator.zipsom finns bland förkraven.Öppna filen
sample-du-simulator-data.jsonoch kopiera innehållet till Urklipp:nano sample-du-simulator-data.jsonVälj innehållet i filen och tryck på Ctrl+C. Tryck på Ctrl+X för att stänga filen och spara inte ändringarna.
Kör följande kommando för att skapa och redigera
du-simulator-data.jsonfilen i tmp-mappen:sudo nano /tmp/du-simulator-data.jsonTryck på Ctrl+V för att klistra in innehållet i redigeraren. Välj Ctrl+X för att spara ändringarna och sedan Y.
Ändra behörigheter:
sudo chown adu:adu /tmp/du-simulator-data.json sudo chmod 664 /tmp/du-simulator-data.jsonOm /tmp inte finns, så:
sudo mkdir/tmp sudo chown root:root/tmp sudo chmod 1777/tmpStarta om enhetsuppdateringsagenten genom att köra följande kommando:
sudo systemctl restart adu-agent
Enhetsuppdatering för Azure IoT Hub-programvara omfattas av följande licensvillkor:
Läs licensvillkoren innan du använder agenten. Din installation och användning utgör ditt godkännande av dessa villkor. Om du inte godkänner licensvillkoren ska du inte använda enhetsuppdateringen för IoT Hub-agenten.
Anmärkning
När du har testat med simulatorn kör du följande kommando för att anropa APT-hanteraren och distribuera uppdateringar av over-the-air-paketet:
# sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/a pt:1'
Lägga till en tagg på enheten
Logga in på Azure Portal och gå till IoT-hubben.
Från Enheter i den vänstra rutan hittar du din IoT-enhet och går till enhetstvillingen eller modultvillingen.
Ta bort alla befintliga taggvärden för enhetsuppdatering i modultvillingen för enhetsuppdateringsagenten genom att ställa in dem på null. Om du använder enhetsidentiteten med en enhetsuppdateringsagent gör du dessa ändringar på enhetstvillingen.
Lägg till ett nytt taggvärde för enhetsuppdatering enligt följande:
"tags": { "ADUGroup": "<CustomTagValue>" }
Importera uppdateringen
Du behöver filerna
TutorialImportManifest_Sim.importmanifest.jsonochadu-update-image-raspberrypi3.swufrånTutorial_Simulator.zipsom du laddade ner i förkraven. Uppdateringsfilen återanvänds från Raspberry Pi-självstudien. Eftersom uppdateringen i den här guiden är simulerad, spelar det specifika filinnehållet ingen roll.Logga in på Azure Portal och gå till din IoT-hubb med Enhetsuppdatering. I den vänstra rutan går du till Automatisk Enhetshantering och väljer Uppdateringar.
Välj fliken Uppdateringar .
Välj + Importera ny uppdatering.
Välj + Välj från lagringscontainer. Välj ett befintligt konto eller skapa ett nytt konto med hjälp av + Lagringskonto. Välj sedan en befintlig container eller skapa en ny container med hjälp av + Container. Den här containern används för att mellanlagra dina uppdateringsfiler för import.
Anmärkning
Vi rekommenderar att du använder en ny container varje gång du importerar en uppdatering för att undvika att oavsiktligt importera filer från tidigare uppdateringar. Om du inte använder en ny container måste du ta bort filer från den befintliga containern innan du slutför det här steget.
I containern väljer du Ladda upp och går till de filer som du laddade ned i steg 1. När du har valt alla dina uppdateringsfiler väljer du Ladda upp. För att återgå till sidan Importera uppdatering, välj knappen Välj.
Den här skärmbilden visar importsteget. Filnamn kanske inte matchar de som används i exemplet.
På sidan Importera uppdatering granskar du de filer som ska importeras. Välj sedan Importera uppdatering för att starta importprocessen.
Importen börjar och skärmen växlar till avsnittet Importhistorik . När kolumnen Status anger att importen har slutförts väljer du rubriken Tillgängliga uppdateringar. Du bör nu se den importerade uppdateringen i listan.
Läs mer om hur du importerar uppdateringar.
Skapa en uppdateringsgrupp
Gå till fliken Grupper och distributioner överst på sidan.
Välj Lägg till grupp för att skapa en ny grupp.
Välj en IoT Hub-tagg och enhetsklass i listan. Välj sedan Skapa grupp.
När gruppen har skapats uppdateras listan med uppdateringskompatibilitetsdiagram och grupper. Diagrammet för uppdateringsefterlevnad visar antalet enheter i olika efterlevnadstillstånd: Vid den senaste uppdateringen, Nya uppdateringar som är tillgängliga och Uppdateringar pågår. Läs mer om uppdateringsefterlevnad.
Du bör se din nyligen skapade grupp och eventuella tillgängliga uppdateringar för enheterna i den nya gruppen. Om det finns enheter som inte uppfyller enhetens klasskrav för gruppen visas de i en motsvarande ogiltig grupp. Om du vill distribuera den bästa tillgängliga uppdateringen till den nya användardefinierade gruppen i den här vyn väljer du Distribuera bredvid gruppen.
Läs mer om hur du lägger till taggar och skapar uppdateringsgrupper.
Distribuera uppdateringen
När gruppen har skapats bör du se en ny uppdatering som är tillgänglig för din enhetsgrupp. En länk till uppdateringen ska vara under Bästa uppdatering. Du kan behöva uppdatera en gång. Läs mer om uppdateringsefterlevnad.
Välj målgruppen genom att välja gruppnamnet. Du dirigeras till gruppinformation under Grunderna för grupp.
Starta distributionen genom att gå till fliken Aktuell distribution . Välj distributionslänken bredvid önskad uppdatering från avsnittet Tillgängliga uppdateringar . Den bästa tillgängliga uppdateringen för en viss grupp anges med en bästa markering.
Schemalägg distributionen så att den startar omedelbart eller i framtiden. Välj sedan Skapa.
Under Distributionsinformation övergår Status till Aktiv. Den distribuerade uppdateringen är markerad med (distribution).
Visa efterlevnadsdiagrammet för att se att uppdateringen pågår.
När enheten har uppdaterats ser du att efterlevnadsdiagrammet och distributionsinformationen har uppdaterats för att återspegla samma sak.
Övervaka uppdateringsdistributionen
Välj fliken Distributionshistorik överst på sidan.
Välj Information bredvid den distribution som du skapade.
Välj Uppdatera för att visa den senaste statusinformationen.
Nu har du slutfört en lyckad avbildningsuppdatering från början till slut med hjälp av Enhetsuppdatering för IoT Hub och referensagenten för Ubuntu-simulatorn (18.04 x64).
Rensa resurser
När det inte längre behövs rensar du ditt enhetsuppdateringskonto, instans, IoT-hubb och IoT-enhet.