Dela via


Självstudie: Enhetsuppdatering för Azure IoT Hub med hjälp av referensagenten för Ubuntu-simulatorn (18.04 x64)

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.

  1. Starta enhetsuppdateringen för IoT Hub från Azure-portalen.

  2. Skapa en ny enhet.

  3. I den vänstra rutan går du till Enheter. Välj sedan Nytt.

  4. Under Enhets-ID anger du ett namn för enheten. Kontrollera att kryssrutan Generera nycklar automatiskt är markerad.

  5. Välj Spara.

  6. Nu är du tillbaka på sidan Enheter och enheten som du skapade bör finnas i listan. Välj den enheten.

  7. I enhetsvyn väljer du ikonen Kopiera bredvid Primär anslutningssträng.

  8. 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

  1. 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.

  2. Installera sedan enhetsuppdateringsagenten .deb paket.

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    
  3. Ange 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.json
    
  4. Konfigurera 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>

  5. Du behöver filen sample-du-simulator-data.json från den nedladdade Tutorial_Simulator.zip som finns bland förkraven.

    Öppna filen sample-du-simulator-data.json och kopiera innehållet till Urklipp:

    nano sample-du-simulator-data.json
    

    Vä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.json filen i tmp-mappen:

    sudo nano /tmp/du-simulator-data.json
    

    Tryck 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.json
    

    Om /tmp inte finns, så:

     sudo mkdir/tmp
     sudo chown root:root/tmp
     sudo chmod 1777/tmp
    
  6. Starta 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

  1. Logga in på Azure Portal och gå till IoT-hubben.

  2. Från Enheter i den vänstra rutan hittar du din IoT-enhet och går till enhetstvillingen eller modultvillingen.

  3. 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.

  4. Lägg till ett nytt taggvärde för enhetsuppdatering enligt följande:

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                }
    

Importera uppdateringen

  1. Du behöver filerna TutorialImportManifest_Sim.importmanifest.json och adu-update-image-raspberrypi3.swu från Tutorial_Simulator.zip som 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.

  2. 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.

  3. Välj fliken Uppdateringar .

  4. Välj + Importera ny uppdatering.

  5. 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.

    Skärmbild som visar lagringskonton och containrar.

  6. 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.

    Skärmbild som visar hur du väljer uppladdade filer.

    Den här skärmbilden visar importsteget. Filnamn kanske inte matchar de som används i exemplet.

  7. På sidan Importera uppdatering granskar du de filer som ska importeras. Välj sedan Importera uppdatering för att starta importprocessen.

    Skärmbild som visar importuppdatering.

  8. 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.

    Skärmbild som visar jobbstatusen.

Läs mer om hur du importerar uppdateringar.

Skapa en uppdateringsgrupp

  1. Gå till fliken Grupper och distributioner överst på sidan.

    Skärmbild som visar ogrupperade enheter.

  2. Välj Lägg till grupp för att skapa en ny grupp.

    Skärmbild som visar tillägg av enhetsgrupp.

  3. Välj en IoT Hub-tagg och enhetsklass i listan. Välj sedan Skapa grupp.

    Skärmbild som visar val av tagg.

  4. 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.

    Skärmbild som visar vyn för uppdateringsefterlevnad.

  5. 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

  1. 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.

  2. Välj målgruppen genom att välja gruppnamnet. Du dirigeras till gruppinformation under Grunderna för grupp.

    Skärmbild som visar gruppinformation.

  3. 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.

    Skärmbild som visar hur du väljer en uppdatering.

  4. Schemalägg distributionen så att den startar omedelbart eller i framtiden. Välj sedan Skapa.

    Skärmbild som visar Skapa distribution.

  5. Under Distributionsinformation övergår Status till Aktiv. Den distribuerade uppdateringen är markerad med (distribution).

    Skärmbild som visar att distributionen är aktiv.

  6. Visa efterlevnadsdiagrammet för att se att uppdateringen pågår.

  7. När enheten har uppdaterats ser du att efterlevnadsdiagrammet och distributionsinformationen har uppdaterats för att återspegla samma sak.

    Skärmbild som visar att uppdateringen lyckades.

Övervaka uppdateringsdistributionen

  1. Välj fliken Distributionshistorik överst på sidan.

    Skärmbild som visar distributionshistorik.

  2. Välj Information bredvid den distribution som du skapade.

    Skärmbild som visar distributionsinformation.

  3. 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.

Nästa steg