Självstudie om enhetsuppdatering för Azure IoT Hub med hjälp av ubuntusimulatorreferensagenten (18.04 x64)
Enhetsuppdatering för IoT Hub stöder två typer av uppdateringar – avbildningsbaserad och paketbaserad.
Avbildningsuppdateringar ger en högre förtroendenivå 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 sin atomiska natur kan man enkelt införa en A/B-redundansmodell.
I den här självstudien går vi igenom stegen för att slutföra en avbildningsbaserad uppdatering från slutet till slut med enhetsuppdatering för IoT Hub.
I den här självstudien får du lära dig hur man
- Ladda ned och installera avbildning
- Lägga till en tagg till din IoT-enhet
- Importera en uppdatering
- Skapa en enhetsgrupp.
- Distribuera en avbildningsuppdatering
- Övervaka uppdateringsdistributionen
Förutsättningar
- Om du inte redan har gjort det skapar du ett konto och en instans för enhetsuppdatering, inklusive att konfigurera en IoT Hub.
Hämta och installera
- Az-cmdlets (Azure CLI) för PowerShell:
- Öppna PowerShell > Installera Azure CLI ("Y" för uppmaningar om att installera från "ej betrodd" källa)
PS> Install-Module Az -Scope CurrentUser
Aktivera WSL på din Windows (Windows-undersystem för Linux)
- Öppna PowerShell som administratör på datorn och kör följande kommando (du kan bli ombedd att starta om efter varje steg, starta om när du tillfrågas):
PS> Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
PS> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
(Du kan uppmanas att starta om efter det här steget)
Gå till Microsoft Store på webben och installera Ubuntu 18.04 LTS.
Starta "Ubuntu 18.04 LTS" och installera.
När du är installerad uppmanas du att ange rotnamn (användarnamn) och lösenord. Se till att använda ett rotnamnslösenord som är lätt att komma ihåg.
Kör följande kommando i PowerShell för att ange Ubuntu som standarddistribution för Linux:
PS> wsl --setdefault Ubuntu-18.04
- Visa en lista över alla Linux-distributioner och se till att Ubuntu är standard.
PS> wsl --list
- Du bör se: Ubuntu-18.04 (standard)
Ladda ned Device Update Ubuntu (18.04 x64) simulatorreferensagent
Ubuntu-referensagenten kan laddas ned från avsnittet Tillgångar i den här versionen.
Det finns två versioner av agenten. I den här självstudien använder du AducIotAgentSim-microsoft-swupdate eftersom du använder det bildbaserade scenariot. Om du skulle använda det paketbaserade scenariot i stället skulle du använda AducIotAgentSim-microsoft-apt.
Installera enhetsuppdateringsagentsimulatorn
- Starta Ubuntu WSL och ange följande kommando (observera att extra utrymme och punkt i slutet).
explorer.exe .
Kopiera AducIotAgentSim-microsoft-swupdate (eller AducIotAgentSim-microsoft-apt) från din lokala mapp där den hämtades under /mnt till din hemmapp i WSL.
Kör följande kommando för att göra binärfilerna körbara.
sudo chmod u+x AducIotAgentSim-microsoft-swupdate
eller
sudo chmod u+x AducIotAgentSim-microsoft-apt
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 agent.
Lägga till enhet i Azure IoT Hub
När enhetsuppdateringsagenten körs på en IoT-enhet måste enheten läggas till i Azure IoT Hub. Inifrån Azure IoT Hub genereras en anslutningssträng för en viss enhet.
- Starta Azure Portal från IoT Hub.
- Skapa en ny enhet.
- Till vänster på sidan går du till "IoT-enheter" > Välj "Ny".
- Ange ett namn för enheten under "Enhets-ID" – Kontrollera att kryssrutan "Generera nycklar automatiskt" är markerad.
- Välj "Spara".
- Nu kommer du tillbaka till 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 stegen nedan. Den kopierade strängen är enhetens anslutningssträng.
Lägga till anslutningssträng i simulatorn
Starta enhetsuppdateringsagenten på dina nya programvaruenheter.
- Starta Ubuntu.
- Kör enhetsuppdateringsagenten och ange anslutningssträngen för enheten från föregående avsnitt som är omsluten med apostrofer:
Ersätt <device connection string> med anslutningssträngen
sudo ./AducIotAgentSim-microsoft-swupdate "<device connection string>"
eller
./AducIotAgentSim-microsoft-apt -c '<device connection string>'
- Rulla uppåt och leta efter strängen som anger att enheten är inaktiv. Tillståndet "Inaktiv" innebär att enheten är redo för tjänstkommandon:
Agent running. [main]
Lägga till en tagg till din enhet
Logga in Azure Portal och gå till IoT Hub.
Från "IoT-enheter" eller "IoT Edge" i det vänstra navigeringsfönstret hittar du din IoT-enhet och navigerar till enhetstvillingen eller modultvillingen.
I modultvillingen i enhetsuppdateringsagentmodulen tar du bort alla befintliga taggvärden för Enhetsuppdatering genom att ange dem till null. Om du använder enhetsidentitet med enhetsuppdateringsagenten gör du dessa ändringar på enhetstvillingen.
Lägg till ett nytt taggvärde för Enhetsuppdatering enligt nedan.
"tags": {
"ADUGroup": "<CustomTagValue>"
}
Importera uppdatering
Ladda ned exempelimportmanifestet och exempelavbildningsuppdateringen. Obs! Dessa är återan använda uppdateringsfiler från Raspberry Pi-självstudien, eftersom uppdateringen i den här självstudien kommer att simuleras och därför spelar det specifika filinnehållet ingen roll.
Logga in på Azure Portal och gå till din IoT Hub med Enhetsuppdatering. Välj sedan alternativet Enhetsuppdateringar under Automatisk Enhetshantering i det vänstra navigeringsfältet.
Välj fliken Uppdateringar.
Välj "+ Importera ny uppdatering".
Välj mappikonen eller textrutan under "Välj en importmanifestfil". En dialogruta för filväljaren visas. Välj det exempelimportmanifest som du laddade ned i steg 1 ovan. Välj sedan mappikonen eller textrutan under "Välj en eller flera uppdateringsfiler". En dialogruta för filväljaren visas. Välj den exempelavbildningsuppdatering som du laddade ned i steg 1 ovan.
Välj mappikonen eller textrutan under "Välj en lagringscontainer". Välj sedan lämpligt lagringskonto.
Om du redan har skapat en container kan du återanvända den. (Annars väljer du "+ Container" för att skapa en ny lagringscontainer för uppdateringar.). Välj den container som du vill använda och klicka på "Välj".
Välj "Skicka" för att starta importen.
Importen börjar och skärmen ändras till avsnittet "Importhistorik". Välj Uppdatera för att visa förloppet tills importen har slutförts. Beroende på uppdateringens storlek kan detta slutföras inom några minuter, men det kan ta längre tid.
När kolumnen Status visar att importen har lyckats väljer du rubriken "Redo att distribuera". Nu bör du se den importerade uppdateringen i listan.
Läs mer om att importera uppdateringar.
Skapa uppdateringsgrupp
Gå till den IoT Hub du tidigare har anslutit till instansen för enhetsuppdatering.
Välj alternativet Enhetsuppdateringar under Automatisk Enhetshantering i det vänstra navigeringsfältet.
Välj fliken Grupper överst på sidan.
Välj knappen Lägg till för att skapa en ny grupp.
Välj taggen IoT Hub du skapade i föregående steg i listan. Välj Skapa uppdateringsgrupp.
Läs mer om att lägga till taggar och skapa uppdateringsgrupper
Distribuera uppdatering
När gruppen har skapats bör du se en ny uppdatering som är tillgänglig för enhetsgruppen, med en länk till uppdateringen under Väntande uppdateringar. Du kan behöva uppdatera en gång.
Klicka på den tillgängliga uppdateringen.
Bekräfta att rätt grupp har valts som målgrupp. Schemalägg distributionen och välj sedan Distribuera uppdatering.
Visa kompatibilitetsdiagrammet. Du bör nu se att uppdateringen pågår.
När enheten har uppdaterats bör du se att kompatibilitetsdiagrammet och distributionsinformationen uppdateras för att återspegla samma.
Övervaka en uppdateringsdistribution
Välj fliken Distributioner överst på sidan.
Välj den distribution som du skapade för att visa distributionsinformationen.
Välj Uppdatera för att visa den senaste statusinformationen. Fortsätt med den här processen tills statusen ändras till Lyckades.
Nu har du slutfört en lyckad avbildningsuppdatering från slutet till slut med enhetsuppdatering för IoT Hub med hjälp av ubuntu-referensagenten (18.04 x64).
Rensa resurser
När enheten inte längre behövs kan du rensa ditt enhetsuppdateringskonto, instans, IoT Hub och IoT-enhet.