Zelfstudie: Een proxy-update voltooien met Device Update voor Azure IoT Hub

Als u dit nog niet hebt gedaan, raadpleegt u Proxy-updates gebruiken met Device Update voor Azure IoT Hub.

Een testapparaat of virtuele machine instellen

In deze zelfstudie wordt een virtuele machine (VM) van Ubuntu Server 18.04 LTS als voorbeeld gebruikt.

De Device Update Agent en afhankelijkheden installeren

  1. Registreer packages.microsoft.com in een APT-pakketopslagplaats:

    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. Installeer de deviceupdate-agent op het IoT-apparaat . Download het meest recente Debian-bestand met apparaatupdates van packages.microsoft.com:

    sudo apt-get install deviceupdate-agent
    

    U kunt ook het gedownloade Debian-bestand naar de test-VM kopiëren. Als u PowerShell op uw computer gebruikt, voert u de volgende shell-opdracht uit:

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

    Ga vervolgens extern naar uw VM en voer de volgende shell-opdracht uit in de basismap :

    #go to home folder 
    cd ~
    #install latest Device Update agent
    sudo apt-get install ./<debian file name from the previous step>
    
  3. Ga naar Azure IoT Hub en kopieer de primaire connection string voor de Device Update-module van uw IoT-apparaat. Vervang een standaardwaarde voor het connectionData veld door de primaire connection string in het bestand du-config.json:

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

    Notitie

    U kunt in plaats daarvan de primaire connection string voor het apparaat kopiëren, maar we raden u aan de tekenreeks voor de module Device Update te gebruiken. Zie Device Update Agent inrichten voor meer informatie over het instellen van de module.

  4. Zorg ervoor dat /etc/adu/du-diagnostics-config.json de juiste instellingen bevat voor het verzamelen van logboeken. Bijvoorbeeld:

    {
      "logComponents":[
        {
          "componentName":"adu",
           "logPath":"/var/log/adu/"
        },
        {
          "componentName":"do",
          "logPath":"/var/log/deliveryoptimization-agent/"
        }
      ],
      "maxKilobytesToUploadPerLogPath":50
    }
    
  5. Start de Device Update-agent opnieuw op:

    sudo systemctl restart deviceupdate-agent
    

Mock-onderdelen instellen

Voor test- en demonstratiedoeleinden maken we de volgende mock-onderdelen op het apparaat:

  • Drie motoren
  • Twee camera's
  • "hostfs"
  • "rootfs"

Belangrijk

De voorgaande configuratie van het onderdeel is gebaseerd op de implementatie van een voorbeeld van een enumerator-extensie voor onderdelen met de naam libcontoso-component-enumerator.so. Hiervoor is ook dit mock-inventarisgegevensbestand voor onderdelen vereist: /usr/local/contoso-devices/components-inventory.json.

  1. Kopieer de demomap naar uw basismap op de test-VM. Voer vervolgens de volgende opdracht uit om de vereiste bestanden naar de juiste locaties te kopiëren:

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

    De reset-demo-components.sh opdracht voert namens u de volgende stappen uit:

    • Het kopieert components-inventory.json en voegt deze toe aan de map /usr/local/contoso-devices .

    • De extensie contoso component enumerator (libcontoso-component-enumerator.so) wordt gekopieerd uit de map Assets en wordt toegevoegd aan de map /var/lib/adu/extensions/sources .

    • De extensie wordt geregistreerd:

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

Een voorbeeldupdate importeren

Als u dit nog niet hebt gedaan, maakt u een Device Update-account en -instantie, inclusief het configureren van een IoT-hub. Start vervolgens de volgende procedure.

  1. Download in de nieuwste Device Update-release onder Assets de importmanifesten en installatiekopieën voor proxy-updates.

  2. Meld u aan bij de Azure Portal en ga naar uw IoT-hub met Device Update. Selecteer in het linkerdeelvenster Apparaatbeheer>Updates.

  3. Selecteer het tabblad Updates.

  4. Selecteer + Nieuwe update importeren.

  5. Selecteer + Selecteren in opslagcontainer en kies vervolgens uw opslagaccount en container.

    Schermopname van de knop voor het selecteren om te importeren uit een opslagcontainer.

  6. Selecteer Uploaden om de bestanden toe te voegen die u in stap 1 hebt gedownload.

  7. Upload het bovenliggende importmanifest, het onderliggende importmanifest en de nettoladingbestanden naar uw container.

    In het volgende voorbeeld ziet u voorbeeldbestanden die zijn geüpload om camera's bij te werken die zijn verbonden met een slim stofzuigerapparaat. Het bevat ook een pre-installatiescript om de camera's uit te schakelen vóór de over-the-air update.

    In het voorbeeld is contoso het bovenliggende importmanifest . Virtual-Vacuum-virtual-camera.1.4.importmanifest.json. Het onderliggende importmanifest met details voor het bijwerken van de camera is Contoso.Virtual-Vacuum.3.3.importmanifest.json. Beide manifestbestandsnamen volgen de vereiste indeling en eindigen met .importmanifest.json.

    Schermopname van voorbeeldbestanden die zijn geüpload om camera's bij te werken die zijn verbonden met een slim stofzuigerapparaat.

  8. Kies Selecteren.

  9. In de gebruikersinterface wordt nu de lijst met bestanden weergegeven die worden geïmporteerd in Device Update. Selecteer Update importeren.

    Schermopname van de vermelde bestanden en de knop voor het importeren van een update.

  10. Het importproces begint en het scherm wordt gewijzigd in de sectie Importgeschiedenis . Selecteer Vernieuwen om de voortgang weer te geven totdat het importproces is voltooid. Afhankelijk van de grootte van de update kan het importeren binnen enkele minuten zijn voltooid of langer duren.

  11. Wanneer de kolom Status aangeeft dat het importeren is voltooid, selecteert u het tabblad Beschikbaar Updates. De geïmporteerde update wordt nu in de lijst weergegeven.

    Schermopname van de geïmporteerde update die aan de lijst is toegevoegd.

Zie Een update importeren naar Device Update voor meer informatie over het importproces.

Apparaatgroepen weergeven

Device Update maakt gebruik van groepen om apparaten te ordenen. Device Update sorteert apparaten automatisch in groepen op basis van de toegewezen tags en compatibiliteitseigenschappen. Elk apparaat behoort tot slechts één groep, maar groepen kunnen meerdere subgroepen hebben om verschillende apparaatklassen te sorteren.

  1. Ga naar het tabblad Groepen en implementaties boven aan de pagina.

    Schermopname van niet-gegroepeerde apparaten.

  2. Bekijk de lijst met groepen en de grafiek Voor naleving bijwerken. In de grafiek voor updatenaleving ziet u het aantal apparaten in verschillende nalevingsstatussen: Bij de meest recente update, Nieuwe updates beschikbaar en Updates wordt uitgevoerd. Meer informatie over updatecompatibiliteit.

    Schermopname van de weergave voor updatenaleving.

  3. U ziet een apparaatgroep die het gesimuleerde apparaat bevat dat u in deze zelfstudie hebt ingesteld, samen met eventuele beschikbare updates voor de apparaten in de nieuwe groep. Als er apparaten zijn die niet voldoen aan de apparaatklassevereisten van de groep, worden ze weergegeven in een bijbehorende ongeldige groep. Als u de beste beschikbare update wilt implementeren voor de nieuwe door de gebruiker gedefinieerde groep vanuit deze weergave, selecteert u Implementeren naast de groep.

Zie Apparaatgroepen beheren voor meer informatie over tags en groepen.

Update implementeren

  1. Zodra de groep is gemaakt, ziet u een nieuwe update die beschikbaar is voor uw apparaatgroep, met een koppeling naar de update onder Beste update (mogelijk moet u eenmaal vernieuwen).

    Zie Naleving van apparaatupdates voor meer informatie over naleving.

  2. Selecteer de doelgroep door op de groepsnaam te klikken. U wordt omgeleid naar de groepsdetails onder Basisprincipes van groep.

    Groepsdetails

  3. Als u de implementatie wilt initiëren, gaat u naar het tabblad Huidige implementatie. Selecteer de koppeling implementeren naast de gewenste update in de sectie Beschikbare updates. De beste beschikbare update voor een bepaalde groep wordt aangegeven met de markering 'Beste'.

    Update selecteren

  4. Plan de implementatie om onmiddellijk of in de toekomst te beginnen en selecteer vervolgens Maken.

    Implementatie maken

  5. De status onder Implementatiedetails moet worden ingesteld op Actief en de geïmplementeerde update moet worden gemarkeerd met '(implementeren)'.

    Implementatie actief

  6. Bekijk de nalevingsgrafiek. U ziet dat de update nu wordt uitgevoerd.

  7. Nadat uw apparaat is bijgewerkt, ziet u dat uw nalevingsgrafiek en implementatiedetails worden bijgewerkt om hetzelfde weer te geven.

    De update is voltooid

Een update-implementatie bewaken

  1. Selecteer het tabblad Implementatiegeschiedenis bovenaan de pagina.

    Implementatiegeschiedenis

  2. Selecteer de koppeling details naast de implementatie die u hebt gemaakt.

    Implementatiedetails

  3. Selecteer Vernieuwen om de meest recente statusdetails weer te geven.

U hebt nu een geslaagde end-to-end proxy-update voltooid met behulp van Device Update voor IoT Hub.

Resources opschonen

Wanneer u deze niet meer nodig hebt, schoont u uw Device Update-account, exemplaar, IoT-hub en IoT-apparaat op.

Volgende stappen