Dela via


Självstudie: Enhetsuppdatering för Azure IoT Hub med hjälp av paketagenten på Ubuntu Server 18.04 x64

Enhetsuppdatering för Azure IoT Hub stöder avbildningsbaserade, paketbaserade och skriptbaserade uppdateringar.

Paketbaserade uppdateringar är riktade uppdateringar som bara ändrar en specifik komponent eller ett visst program på enheten. De leder till lägre bandbreddsförbrukning och minskar tiden för att ladda ned och installera uppdateringen. Paketbaserade uppdateringar tillåter vanligtvis också mindre stilleståndstid för enheter när du tillämpar en uppdatering och undviker att skapa avbildningar. De använder ett APT-manifest som ger enhetsuppdateringsagenten den information som krävs för att ladda ned och installera paketen som anges i APT-manifestfilen (och deras beroenden) från en utsedd lagringsplats.

Den här självstudien beskriver hur du uppdaterar Azure IoT Edge på Ubuntu Server 18.04 x64 med hjälp av paketagenten för enhetsuppdatering. Självstudien visar hur du uppdaterar IoT Edge, men med liknande steg kan du uppdatera andra paket, till exempel containermotorn som används.

Verktygen och begreppen i den här självstudien gäller fortfarande även om du planerar att använda en annan operativsystemplattformskonfiguration. Slutför den här introduktionen till en uppdateringsprocess från slutpunkt till slutpunkt. Välj sedan önskad form av uppdatering av en OS-plattform för att gå in på informationen.

I den här självstudien får du lära dig att:

  • Ladda ned och installera enhetsuppdateringsagenten och dess beroenden.
  • Lägg till en tagg på enheten.
  • Importera en uppdatering.
  • Skapa en enhetsgrupp.
  • Distribuera en paketuppdatering.
  • Övervaka uppdateringsdistributionen.

Förutsättningar

  • Om du inte redan har gjort det skapar du ett konto och en instans för enhetsuppdatering. Konfigurera en IoT-hubb.

  • Du behöver anslutningssträng för en IoT Edge-enhet.

  • Om du använde självstudiekursen för Simulator-agenten för tidigare testning kör du följande kommando för att anropa APT-hanteraren och distribuera uppdateringar av over-the-air-paket i den här självstudien:

    # sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/a pt:1'
    

Förbereda en enhet

Förbered en enhet automatiskt eller manuellt.

Använd knappen Distribuera till Azure automatiskt

För att förenkla använder den här handledningen en cloud-init-baserad Azure Resource Manager-mall för att snabbt kunna sätta upp en virtuell maskin med Ubuntu 18.04 LTS. Den installerar både Azure IoT Edge-körningen och enhetsuppdateringspaketagenten. Sedan konfigureras enheten automatiskt med etableringsinformation med hjälp av enheten anslutningssträng för en IoT Edge-enhet (krav) som du anger. Resource Manager-mallen undviker också behovet av att starta en SSH-session för att slutföra installationen.

  1. Börja genom att välja knappen:

    Skärmbild som visar knappen Distribuera till Azure för iotedge-vm-deploy .

  2. Fyll i de tillgängliga textrutorna:

    • Prenumeration: Den aktiva Azure-prenumerationen som den virtuella datorn ska distribueras till.
    • Resursgrupp: En befintlig eller nyligen skapad resursgrupp som ska innehålla den virtuella datorn och dess associerade resurser.
    • Region: Den geografiska region som den virtuella datorn ska distribueras till. Det här värdet är som standard platsen för den valda resursgruppen.
    • DNS-etikettprefix: Ett obligatoriskt värde som du väljer som används för att prefixera värdnamnet för den virtuella datorn.
    • Administratörsanvändarnamn: Ett användarnamn som ges rotprivilegier vid distribution.
    • Enhetsanslutningssträng: En enhet anslutningssträng för en enhet som skapades i din avsedda IoT-hubb.
    • VM-storlek: Storleken den virtuella dator som ska distribueras.
    • Ubuntu OS-version: Den version av Ubuntu-operativsystemet som ska installeras på den virtuella basdatorn. Lämna standardvärdet oförändrat eftersom det redan är inställt på Ubuntu 18.04-LTS.
    • Autentiseringstyp: Välj sshPublicKey eller lösenord baserat på dina önskemål.
    • Administratörslösenord eller nyckel: Värdet för den offentliga SSH-nyckeln eller värdet för lösenordet baserat på valet av autentiseringstyp.

    När alla rutor har fyllts i markerar du kryssrutan längst ned på sidan för att acceptera villkoren. Välj Köp för att påbörja distributionen.

  3. Kontrollera att distributionen har slutförts. Tillåt några minuter efter att distributionen har slutförts för efterinstallationen och konfigurationen för att slutföra installationen av IoT Edge och enhetspaketuppdateringsagenten.

    En virtuell datorresurs ska ha distribuerats till den valda resursgruppen. Observera datornamnet, som är i formatet vm-0000000000000. Observera även det associerade DNS-namnet, som är i formatet <dnsLabelPrefix>.<location>. cloudapp.azure.com.

    Du kan hämta DNS-namnet från avsnittet Översikt för den nyligen distribuerade virtuella datorn i Azure Portal.

    Tips/Råd

    Om du vill SSH till den här virtuella datorn efter installationen använder du det associerade DNS-namnet med följande kommando: ssh <adminUsername>@<DNS_Name>.

  4. Öppna konfigurationsinformationen (Se hur du konfigurerar konfigurationsfilen här med kommandot nedan. Ange din connectionType som "AIS" och connectionData som tom sträng.

/etc/adu/du-config.json
  1. Starta om enhetsuppdateringsagenten genom att köra följande kommando:
 sudo systemctl restart adu-agent

Enhetsuppdatering för Azure IoT Hub-programvarupaket omfattas av följande licensvillkor:

Läs licensvillkoren innan du använder ett paket. Din installation och användning av ett paket utgör ditt godkännande av dessa villkor. Om du inte godkänner licensvillkoren ska du inte använda det paketet.

Förbereda en enhet manuellt

På samma sätt som stegen automatiseras av cloud-init-skriptet används följande manuella steg för att installera och konfigurera en enhet. Använd de här stegen för att förbereda en fysisk enhet.

  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 enhetsuppdateringsagentens 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:

    /etc/adu/du-config.json
    
  4. Starta om enhetsuppdateringsagenten genom att köra följande kommando:

     sudo systemctl restart adu-agent
    

Enhetsuppdatering för Azure IoT Hub-programvarupaket omfattas av följande licensvillkor:

Läs licensvillkoren innan du använder ett paket. Din installation och användning av ett paket utgör ditt godkännande av dessa villkor. Om du inte godkänner licensvillkoren ska du inte använda det paketet.

Lägga till en tagg på enheten

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

  2. I den vänstra rutan, under Enheter, hittar du din IoT Edge-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 Enhetsidentitet med enhetsuppdateringsagenten 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. Gå till Enhetsuppdateringsversioner i GitHub och välj listrutan Tillgångar . Ladda ned Tutorial_IoTEdge_PackageUpdate.zip genom att välja den. Extrahera innehållet i mappen för att identifiera ett APT-exempelmanifest (sample-1.0.2-aziot-edge-apt-manifest.json) och dess motsvarande importmanifest (sample-1.0.2-aziot-edge-importManifest.json).

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

  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 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 hur importprocessen startas.

  8. Importen börjar och skärmen växlar till avsnittet Importhistorik . När kolumnen Status anger att importen lyckades 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 knappen 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 ser du att uppdateringsefterlevnadsgrafen och gruppförteckningen har uppdaterats. 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 med en länk till uppdateringen 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 gruppinformationen under Grunderna för grupp.

    Skärmbild som visar gruppinformation.

  3. Om du vill initiera distributionen går du till fliken Aktuell distribution. Välj distributionslänkenbredvid önskad uppdatering i 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.

    Tips/Råd

    Som standardinställning är startdatum och tid 24 timmar från din aktuella tid. Se till att välja ett annat datum och en annan tid om du vill att distributionen ska börja tidigare.

    Skärmbild som visar hur du skapar en distribution.

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

    Skärmbild som visar distributionen som 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 informationslänken 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 paketuppdatering från slutpunkt till slutpunkt med hjälp av Enhetsuppdatering för IoT Hub på en Ubuntu Server 18.04 x64-enhet.

Rensa resurser

När de inte längre behövs, städar du upp ditt konto för enhetsuppdateringar, din instans och IoT-hub. Rensa även IoT Edge-enheten om du skapade den virtuella datorn via knappen Distribuera till Azure . Om du vill rensa resurser går du till varje enskild resurs och väljer Ta bort. Rensa en enhetsuppdateringsinstans innan du rensar enhetsuppdateringskontot.

Nästa steg

Använd följande handledningar som en enkel demonstration av Enhetsuppdatering för IoT Hub.