Dela via


Självstudie: Slutför en proxyuppdatering med enhetsuppdatering för Azure IoT Hub

Om du inte redan har gjort det kan du läsa 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-agent 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 kommando för gränssnittet:

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

    Fjärranslut sedan till den virtuella datorn och kör följande kommando i startmappen :

    #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 filen du-config.json :

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

    Anteckning

    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 enhetsuppdateringsmodulen. Information om hur du konfigurerar modulen finns i Etablering av enhetsuppdateringsagent.

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

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

    sudo systemctl restart deviceupdate-agent
    

Konfigurera simulerade komponenter

I test- och demonstrationssyfte skapar vi följande simulerade 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 modellkomponentens inventeringsdatafil: /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:

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

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

    • Tillägget registreras:

      sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
      

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 versionen av enhetsuppdateringen, 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 Enhetshantering>Uppdateringar.

  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 nyttolastfilerna till containern.

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

    I exemplet är det överordnade importmanifestet contoso. Virtual-Vacuum-virtual-camera.1.4.importmanifest.json. Det underordnade importmanifestet med information om att uppdatera kameran är Contoso.Virtual-Vacuum.3.3.importmanifest.json. 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 de filer som visas 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 har slutförts. 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änglig Uppdateringar. Du bör nu se den importerade uppdateringen i listan.

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

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, 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 konfigurerade 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 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 från den här vyn väljer du Distribuera bredvid gruppen.

Mer information om taggar och grupper finns i Hantera enhetsgrupper.

Distribuera 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).

    Mer information om efterlevnad finns i Enhetsuppdateringsefterlevnad.

  2. Välj målgruppen genom att klicka på gruppnamnet. Du dirigeras till gruppinformationen under Grundläggande om grupp.

    Gruppinformation

  3. Om du vill starta distributionen går du till fliken Aktuell distribution. Välj distributionslänken 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.

    Välj uppdatering

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

    Skapa distribution

  5. Status under Distributionsinformation ska vara Aktiv och den distribuerade uppdateringen ska markeras med "(distribuerar)".

    Distributionen är aktiv

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

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

    Uppdateringen har slutförts

Övervaka en uppdateringsdistribution

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

    Distributionshistorik

  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-hubb och IoT-enhet.

Nästa steg