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 möjliggör också vanligtvis 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 de paket som anges i APT-manifestfilen (och deras beroenden) från en angiven lagringsplats.

Den här självstudien beskriver hur du uppdaterar Azure IoT Edge på Ubuntu Server 18.04 x64 med hjälp av enhetsuppdateringspaketagenten. 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.
  • Distribuera en paketuppdatering.
  • Övervaka uppdateringsdistributionen.

Förutsättningar

Förbereda en enhet

Förbered en enhet automatiskt eller manuellt.

Använd knappen Distribuera till Azure automatiskt

För enkelhetens skull använder den här självstudien en molnbaseradAzure Resource Manager-mall som hjälper dig att snabbt konfigurera en virtuell Ubuntu 18.04 LTS-dator. Den installerar både Azure IoT Edge-körningen och enhetsuppdateringspaketagenten. Sedan konfigureras enheten automatiskt med etableringsinformation med hjälp av enhetsanslutningssträngen för en IoT Edge enhet (krav) som du anger. Den 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:

    Skärmbild som visar mallen iotedge-vm-deploy.

    • 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 prefixa värdnamnet för den virtuella datorn.
    • Admin Användarnamn: Ett användarnamn som tillhandahålls rotprivilegier vid distribution.
    • Enhetsanslutningssträng: En enhetsanslutningssträng för en enhet som skapades i den avsedda IoT-hubben.
    • VM-storlek: Storleken på 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.
    • Admin lö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 är ifyllda markerar du kryssrutan längst ned på sidan för att acceptera villkoren. Välj Köp för att starta distributionen.

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

    En VR-resurs bör ha distribuerats till den valda resursgruppen. Observera datornamnet, som är i formatet vm-0000000000000. Observera också 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.

    Skärmbild som visar DNS-namnet på den virtuella datorn iotedge.

    Tips

    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. Observera att alla värden med taggen "Place value here" måste anges. Se Konfigurera en DU-agent.

    sudo nano /etc/adu/du-config.json
    
  5. Starta om enhetsuppdateringsagenten.

    sudo systemctl restart deviceupdate-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.

    Anteckning

    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 IoT Identity Service-daemon 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 .deb-paketen för enhetsuppdateringsagenten:

    sudo apt-get install deviceupdate-agent 
    
  3. Ange IoT-enhetens modul (eller enhet, beroende på hur du etablerade enheten med Enhetsuppdatering) primär anslutningssträng i konfigurationsfilen. Observera att alla värden med taggen "Place value here" måste anges. Se Konfigurera en DU-agent.

    sudo /etc/adu/du-config.json
    
  4. Starta om enhetsuppdateringsagenten.

    sudo systemctl restart deviceupdate-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. Leta upp din IoT Edge enhet i den vänstra rutan under Enheter och gå 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>"
        },
    

    Skärmbild som visar tvilling med tagginformation.

    Den här skärmbilden visar avsnittet där taggen måste läggas till i tvillingen.

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. Välj Uppdateringar under Automatisk Enhetshantering i den vänstra rutan.

  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 uppdateringsfilerna för import.

    Anteckning

    Vi rekommenderar att du använder en ny container varje gång du importerar en uppdatering för att undvika att importera filer från tidigare uppdateringar av misstag. 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. Välj sedan knappen Välj för att återgå till sidan Importera uppdatering .

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

    Den här skärmbilden visar importsteget. Filnamnen 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 importen.

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

Mer information om importprocessen finns i Importera en uppdatering till Enhetsuppdatering.

Visa enhetsgrupper

Enhetsuppdatering använder grupper för att organisera enheter. Enhetsuppdatering sorterar automatiskt enheter i grupper baserat på deras tilldelade taggar och kompatibilitetsegenskaper. Varje enhet tillhör bara en grupp, men grupper kan ha flera undergrupper för att sortera olika enhetsklasser.

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

    Skärmbild som visar ogrupperade enheter.

  2. Visa listan över grupper och diagrammet för uppdateringsefterlevnad. Diagrammet för uppdateringsefterlevnad visar antalet enheter i olika efterlevnadstillstånd: Vid den senaste uppdateringen är nya uppdateringar tillgängliga och Uppdateringar pågår. Läs mer om uppdateringsefterlevnad.

    Skärmbild som visar vyn uppdateringsefterlevnad.

  3. Du bör se en enhetsgrupp som innehåller den simulerade enhet som du har konfigurerat i den här självstudien tillsammans med eventuella tillgängliga uppdateringar för enheterna i den nya gruppen. Om det finns enheter som inte uppfyller kraven för enhetsklassen i 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.

Mer information om taggar och grupper finns i Hantera enhetsgrupper.

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.

    Mer information om efterlevnad finns i Enhetsuppdateringsefterlevnad.

  2. Välj målgruppen genom att välja gruppnamnet. Du dirigeras till gruppinformationen under Grundläggande grupp.

    Skärmbild som visar gruppinformation.

  3. Om du vill starta distributionen går du till fliken Aktuell distribution . Välj länken distribuera bredvid önskad uppdatering i avsnittet Tillgängliga uppdateringar . Den bästa tillgängliga uppdateringen för en viss grupp betecknas 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

    Startdatum och -tid är som standard 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 markeras med (distribuerar).

    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 uppdateras 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 det inte längre behövs rensar du ditt enhetsuppdateringskonto, instans och IoT-hubb. Rensa även den 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