Dela via


Självstudie: Slutför en proxyuppdatering med hjälp av Enhetsuppdatering för Azure IoT Hub

Om du inte redan har gjort det bör du granska Använda proxyuppdateringar med Enhetsuppdatering för Azure IoT Hub.

Konfigurera en testenhet eller virtuell dator

I den här självstudien används en virtuell Ubuntu Server 18.04 LTS-dator (VM) som exempel.

Installera enhetsuppdateringsagenten och beroenden

  1. Registrera packages.microsoft.com i en APT-paketlagringsplats:

    sudo apt-get update
    
    sudo apt install curl
    
    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ~/microsoft-prod.list
    
    sudo cp ~/microsoft-prod.list /etc/apt/sources.list.d/
    
    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > ~/microsoft.gpg
    
    sudo cp ~/microsoft.gpg /etc/apt/trusted.gpg.d/
    
    sudo apt-get update
    
  2. Installera deviceupdate-agenten på IoT-enheten . Ladda ned den senaste Debian-filen för enhetsuppdatering från packages.microsoft.com:

    sudo apt-get install deviceupdate-agent
    

    Du kan också kopiera den nedladdade Debian-filen till den virtuella testdatorn. Om du använder PowerShell på datorn kör du följande gränssnittskommando:

      scp <path to the .deb file> tester@<your vm's ip address>:~
    

    Fjärranslut sedan till den virtuella datorn och kör följande gränssnittskommando i hemmappen :

          #go to home folder 
          cd ~
          #install latest Device Update agent
          sudo apt-get install ./<debian file name from the previous step>
    
  3. Gå till Azure IoT Hub och kopiera den primära anslutningssträngen för IoT-enhetens enhetsuppdateringsmodul. Ersätt alla standardvärden för connectionData fältet med den primära anslutningssträngen i filendu-config.json :

       sudo nano /etc/adu/du-config.json  
    

    Anmärkning

    Du kan kopiera den primära anslutningssträngen för enheten i stället, men vi rekommenderar att du använder strängen för modulen Enhetsuppdatering. Information om hur du konfigurerar modulen finns i Enhetsuppdateringsagentetablering.

  4. Kontrollera att /etc/adu/du-diagnostics-config.json innehåller rätt inställningar för loggsamlingen. Till exempel:

    {
      "logComponents":[
        {
          "componentName":"adu",
           "logPath":"/var/log/adu/"
        },
        {
          "componentName":"do",
          "logPath":"/var/log/deliveryoptimization-agent/"
        }
      ],
      "maxKilobytesToUploadPerLogPath":50
    }
    
  5. Starta om enhetsuppdateringsagenten:

    sudo systemctl restart adu-agent
    

Konfigurera modellkomponenter

I test- och demonstrationssyfte skapar vi följande falska komponenter på enheten:

  • Tre motorer
  • Två kameror
  • hostfs
  • "rootfs"

Viktigt!

Den föregående komponentkonfigurationen baseras på implementeringen av ett exempel på ett komponentuppräkningstillägg som kallas libcontoso-component-enumerator.so. Den kräver också den här modellkomponentinventeringsdatafilen: /usr/local/contoso-devices/components-inventory.json.

  1. Kopiera demomappen till din hemkatalog på den virtuella testdatorn. Kör sedan följande kommando för att kopiera nödvändiga filer till rätt platser:

    `~/demo/tools/reset-demo-components.sh` 
    

    Kommandot reset-demo-components.sh utför följande steg för din räkning:

    1. Den kopierar components-inventory.json och lägger till den i mappen /usr/local/contoso-devices .

    2. Den kopierar Contoso-komponentens uppräkningstillägg (libcontoso-component-enumerator.so) från mappen Assets och lägger till det i mappen /var/lib/adu/extensions/sources .

    3. Tillägget registreras:

      sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
      
  2. Visa och registrera de aktuella komponenternas programvaruversion med hjälp av följande kommando för att konfigurera den virtuella datorn för att stödja proxyuppdateringar:

    ~/demo/show-demo-components.sh
    

Importera en exempeluppdatering

Om du inte redan har gjort det skapar du ett konto och en instans för enhetsuppdatering, inklusive att konfigurera en IoT-hubb. Starta sedan följande procedur.

  1. Från den senaste enhetsuppdateringsversionen, under Tillgångar, laddar du ned importmanifest och avbildningar för proxyuppdateringar.

  2. Logga in på Azure Portal och gå till din IoT-hubb med Enhetsuppdatering. I den vänstra rutan väljer du Enhetshanteringsuppdateringar>.

  3. Välj fliken Uppdateringar .

  4. Välj + Importera ny uppdatering.

  5. Välj + Välj från lagringscontainer och välj sedan ditt lagringskonto och din container.

    Skärmbild som visar knappen för att välja att importera från en lagringscontainer.

  6. Välj Ladda upp för att lägga till de filer som du laddade ned i steg 1.

  7. Ladda upp det överordnade importmanifestet, det underordnade importmanifestet och datafilerna till din container.

    I följande exempel visas exempelfiler som laddats upp för att uppdatera kameror som är anslutna till en smart dammsugare. Den innehåller också ett förinstallationsskript för att stänga av kamerorna före uppdateringen.

    I exemplet är det överordnade importmanifestet contoso.Virtual-Vacuum-virtual-camera.1.4.importmanifest.json. Det underordnade importmanifestet med information om hur du uppdaterar kameran är Contoso.Virtual-Vacuum.3.3.importmanifest.json. Observera att båda manifestfilnamnen följer det format som krävs och slutar med .importmanifest.json.

    Skärmbild som visar exempelfiler som laddats upp för att uppdatera kameror som är anslutna till en smart dammsugare.

  8. Välj Välj.

  9. Användargränssnittet visar nu listan över filer som ska importeras till Enhetsuppdatering. Välj Importera uppdatering.

    Skärmbild som visar listade filer och knappen för att importera en uppdatering.

  10. Importen börjar och skärmen ändras till avsnittet Importhistorik . Välj Uppdatera för att visa förloppet tills importen är klar. Beroende på uppdateringens storlek kan importen slutföras om några minuter eller ta längre tid.

  11. När kolumnen Status anger att importen har slutförts väljer du fliken Tillgängliga uppdateringar . Du bör nu se den importerade uppdateringen i listan.

    Skärmbild som visar den importerade uppdateringen som lagts till i listan.

Läs mer om att importera uppdateringar.

Skapa uppdateringsgrupp

  1. Gå till fliken Grupper och distributioner överst på sidan. Skärmbild av ogrupperade enheter.

  2. Välj knappen Lägg till grupp för att skapa en ny grupp. Skärmbild av tillägg av enhetsgrupp.

  3. Välj en IoT Hub-tagg och enhetsklass i listan och välj sedan Skapa grupp. Skärmbild av taggval.

  4. När gruppen har skapats ser du att diagrammet för uppdateringsefterlevnad och listan över grupper uppdateras. Diagrammet för uppdateringsefterlevnad visar antalet enheter i olika efterlevnadstillstånd: Vid den senaste uppdateringen, Nya tillgängliga uppdateringar och Pågående uppdateringar. Läs mer om uppdateringsefterlevnad.Skärmbild av uppdateringsefterlevnadsvyn.

  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. Du kan distribuera den bästa tillgängliga uppdateringen till den nya användardefinierade gruppen från den här vyn genom att klicka på knappen "Distribuera" bredvid gruppen.

Läs mer om att lägga till taggar och skapa uppdateringsgrupper

Installera uppdatering

  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 klicka på gruppnamnet. Du dirigeras till gruppinformationen under Grunderna för grupp.

Gruppinformation

  1. Om du vill initiera distributionen går du till fliken Aktuell distribution. Klicka på distributionslänken bredvid önskad uppdatering från avsnittet Tillgängliga uppdateringar. Den bästa, tillgängliga uppdateringen för en viss grupp kommer att betecknas med en "Bästa"-markering.

Välj uppdatering

  1. Schemalägg distributionen så att den startar omedelbart eller i framtiden och välj sedan Skapa.

Skapa distribution

  1. Statusen under Distributionsinformation bör aktiveras till Aktiv och den distribuerade uppdateringen ska markeras med "(distribuera)".

Distributionen är aktiv

  1. Visa efterlevnadsdiagrammet. Du bör se att uppdateringen pågår nu.

  2. När enheten har blivit uppdaterad bör du se att efterlevnadsdiagrammet och distributionsinformationen uppdateras för att visa de senaste ändringarna.

    Uppdateringen lyckades

Övervaka en uppdateringsdistribution

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

    Distribueringshistorik

  2. Välj informationslänken bredvid den distribution som du skapade.

    Distributionsinformation

  3. Välj Uppdatera för att visa den senaste statusinformationen.

Nu har du slutfört en lyckad proxyuppdatering från slutpunkt till slutpunkt med hjälp av Enhetsuppdatering för IoT Hub.

Rensa resurser

När du inte längre behöver dem rensar du ditt enhetsuppdateringskonto, instans, IoT Hub och IoT-enhet.

Nästa steg

Du kan använda följande handledningar för en enkel demonstration av Enhetsuppdatering för IoT Hub.