Zelfstudie: Device Update voor Azure IoT Hub met behulp van de Ubuntu (18.04 x64) referentie-agent simulatie.

Apparaatupdate voor Azure IoT Hub ondersteunt updates op basis van installatiekopieën, pakketten en scripts.

Image-updates bieden een hoger niveau van vertrouwen in de toestand van het apparaat. Het is doorgaans eenvoudiger om de resultaten van een image-update tussen een preproductieomgeving en een productieomgeving te repliceren, omdat deze niet dezelfde uitdagingen biedt als pakketten en hun afhankelijkheden. Vanwege hun atomische aard kunt u ook eenvoudig een A/B-failovermodel gebruiken.

In deze handleiding wordt u begeleid bij de stappen om een van begin tot eind op beeld gebaseerde update te voltooien met behulp van Device Update voor IoT Hub.

In deze zelfstudie leert u het volgende:

  • Download en installeer een afbeelding.
  • Voeg een tag toe aan uw IoT-apparaat.
  • Een update importeren.
  • Maak een apparaatgroep.
  • Implementeer een image-update.
  • Bewaak de update-implementatie.

Vereiste voorwaarden

Als u dit nog niet hebt gedaan, maakt u een Device Update-account en -exemplaar en configureert u een IoT-hub.

Download het ZIP-bestand genaamd Tutorial_Simulator.zip uit de Release-assets van de laatste release en pak het uit.

Een apparaat toevoegen aan Azure IoT Hub

Nadat de Device Update-agent op een IoT-apparaat wordt uitgevoerd, moet u het apparaat toevoegen aan IoT Hub. Vanuit IoT Hub wordt een verbindingsreeks gegenereerd voor een bepaald apparaat.

  1. Start vanuit Azure Portal de apparaatupdate voor IoT Hub.

  2. Maak een nieuw apparaat.

  3. Ga in het linkerdeelvenster naar Apparaten. Selecteer vervolgens Nieuw.

  4. Voer onder Apparaat-id een naam in voor het apparaat. Zorg ervoor dat het selectievakje Automatisch genereren van sleutels is ingeschakeld.

  5. Selecteer Opslaan.

  6. U keert nu terug naar de pagina Apparaten en het apparaat dat u hebt gemaakt, moet in de lijst staan. Selecteer dat apparaat.

  7. Selecteer in de apparaatweergave het pictogram Kopiëren naast primaire verbindingsreeks.

  8. Plak de gekopieerde tekens ergens voor later gebruik in de volgende stappen:

    Deze gekopieerde tekenreeks is de verbindingsreeks van uw apparaat.

Een Device Update-agent installeren om deze te testen als simulator

  1. Volg de instructies om de Azure IoT Edge-runtime te installeren.

    Opmerking

    De Device Update-agent is niet afhankelijk van IoT Edge. Maar het is wel afhankelijk van de IoT Identity Service-daemon die is geïnstalleerd met IoT Edge (1.2.0 en hoger) om een identiteit te verkrijgen en verbinding te maken met IoT Hub.

    Hoewel het niet in deze zelfstudie wordt behandeld, kan de IoT Identity Service-daemon zelfstandig worden geïnstalleerd op Linux-gebaseerde IoT-apparaten. De volgorde van de installatie is van belang. De pakketagent voor apparaatupdates moet worden geïnstalleerd na de IoT Identity Service. Anders wordt de pakketagent niet geregistreerd als een geautoriseerd onderdeel om een verbinding met IoT Hub tot stand te brengen.

  2. Installeer vervolgens de Device Update-agent .deb pakketten.

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    
  3. Voer de primaire verbindingsreeks van de module van uw IoT-apparaat (of het apparaat, afhankelijk van hoe u het apparaat hebt ingericht met Device Update) in het configuratiebestand in door de volgende opdracht uit te voeren:

    sudo nano /etc/adu/du-config.json
    
  4. Stel de agent in om als een simulator te draaien. Voer de volgende opdracht uit op het IoT-apparaat, zodat de Device Update-agent de simulatorhandler aanroept om een pakketupdate te verwerken met APT ('microsoft/apt:1'):

    sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_simulator_1.so --update-type 'microsoft/apt:1'
    

    Als u de simulatorhandler wilt registreren en aanroepen, gebruikt u de volgende indeling en vult u de placeholder-waarden in:

    sudo /usr/bin/AducIotAgent --register--content-handler <full path to the handler file> --update-type <update type name>

  5. U heeft het bestand sample-du-simulator-data.json nodig van het gedownloade Tutorial_Simulator.zip in de vereisten.

    Open het bestand sample-du-simulator-data.json en kopieer de inhoud naar het Klembord:

    nano sample-du-simulator-data.json
    

    Selecteer de inhoud van het bestand en druk op Ctrl+C. Druk op Ctrl+X om het bestand te sluiten en sla geen wijzigingen op.

    Voer de volgende opdracht uit om het du-simulator-data.json bestand in de tmp-map te maken en te bewerken:

    sudo nano /tmp/du-simulator-data.json
    

    Druk op Ctrl+V om de inhoud in de editor te plakken. Selecteer Ctrl+X om de wijzigingen op te slaan en vervolgens Y.

    Machtigingen wijzigen:

    sudo chown adu:adu /tmp/du-simulator-data.json
    sudo chmod 664 /tmp/du-simulator-data.json
    

    Als /tmp niet bestaat, gaat u als volgt te werk:

     sudo mkdir/tmp
     sudo chown root:root/tmp
     sudo chmod 1777/tmp
    
  6. Start de Device Update-agent opnieuw door de volgende opdracht uit te voeren:

     sudo systemctl restart adu-agent
    

Apparaatupdate voor Azure IoT Hub-software is onderworpen aan de volgende licentievoorwaarden:

Lees de licentievoorwaarden voordat u de agent gebruikt. Uw installatie en gebruik vormen uw acceptatie van deze voorwaarden. Als u niet akkoord gaat met de licentievoorwaarden, gebruikt u de Device Update voor IoT Hub-agent niet.

Opmerking

Voer na het uitvoeren van tests met de simulator het volgende commando uit om de APT-handler aan te roepen en over-the-air-pakketupdates uit te voeren:

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

Een tag toevoegen aan uw apparaat

  1. Meld u aan bij Azure Portal en ga naar de IoT-hub.

  2. Zoek in het linkerdeelvenster van Apparaten uw IoT-apparaat en ga naar de apparaat-twin of module-twin.

  3. Verwijder in de moduledubbel van de Device Update-agentmodule alle bestaande tagwaarden van Device Update door ze in te stellen op null. Als u de apparaatidentiteit gebruikt met een Apparaatupdate-agent, breng deze wijzigingen aan op de apparaattweeling.

  4. Voeg een nieuwe tagwaarde voor Device Update toe, zoals wordt weergegeven:

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                }
    

De update importeren

  1. U hebt de bestanden TutorialImportManifest_Sim.importmanifest.json en adu-update-image-raspberrypi3.swu van de gedownloade Tutorial_Simulator.zip nodig als onderdeel van de vereisten. Het updatebestand wordt opnieuw gebruikt in de Raspberry Pi-zelfstudie. Omdat de update in deze zelfstudie wordt gesimuleerd, maakt de specifieke bestandsinhoud niet uit.

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

  3. Selecteer het tabblad Updates .

  4. Selecteer + Nieuwe update importeren.

  5. Selecteer + Selecteren uit opslagcontainer. Selecteer een bestaand account of maak een nieuw account met behulp van + Storage-account. Selecteer vervolgens een bestaande container of maak een nieuwe container met behulp van + Container. Deze container wordt gebruikt voor het faseren van uw updatebestanden voor het importeren.

    Opmerking

    U wordt aangeraden elke keer dat u een update importeert een nieuwe container te gebruiken om te voorkomen dat u per ongeluk bestanden uit eerdere updates importeert. Als u geen nieuwe container gebruikt, moet u alle bestanden uit de bestaande container verwijderen voordat u deze stap voltooit.

    Schermopname van Opslagaccounts en Containers.

  6. Selecteer Uploaden in uw container en ga naar de bestanden die u in stap 1 hebt gedownload. Nadat u al uw updatebestanden hebt geselecteerd, selecteert u Uploaden. Selecteer vervolgens de knop Selecteren om terug te keren naar de pagina Update importeren .

    Schermopname van het selecteren van geüploade bestanden.

    In deze schermopname ziet u de importstap. Bestandsnamen komen mogelijk niet overeen met de namen die in het voorbeeld worden gebruikt.

  7. Controleer op de pagina Update importeren de bestanden die moeten worden geïmporteerd. Selecteer vervolgens Update importeren om het importproces te starten.

    Schermafbeelding die een importupdate toont.

  8. Het importproces begint, en het scherm schakelt over naar de Importgeschiedenis sectie. Wanneer de kolom Status aangeeft dat het importeren is voltooid, selecteert u de kop Beschikbare updates . U ziet nu de geïmporteerde update in de lijst.

    Schermopname van de taakstatus.

Meer informatie over het importeren van updates.

Een updategroep maken

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

    Schermopname van niet-gegroepeerde apparaten.

  2. Selecteer Groep toevoegen om een nieuwe groep te maken.

    Schermopname met toevoeging van apparaatgroepen.

  3. Selecteer een IoT Hub-tag en apparaatklasse in de lijst. Selecteer vervolgens Groep maken.

    Schermopname die tagselectie laat zien.

  4. Nadat de groep is gemaakt, worden het updatenalevingsdiagram en de lijst met groepen bijgewerkt. In het diagram voor updatecompatibiliteit ziet u het aantal apparaten in verschillende nalevingsstatussen: Bij de meest recente update, nieuwe updates die beschikbaar zijn en updates die worden uitgevoerd. Meer informatie over updatecompatibiliteit.

    Schermopname van de weergave voor updatecompatibiliteit.

  5. U ziet nu de zojuist gemaakte groep en 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 overeenkomstige ongeldige groep. Als u de best beschikbare update wilt implementeren voor de nieuwe door de gebruiker gedefinieerde groep in deze weergave, selecteert u Implementeren naast de groep.

Meer informatie over het toevoegen van tags en het maken van updategroepen.

De update implementeren

  1. Nadat de groep is gemaakt, ziet u een nieuwe update die beschikbaar is voor uw apparaatgroep. Een koppeling naar de update moet onder Beste updatestaan. Mogelijk moet u één keer vernieuwen. Meer informatie over updatecompatibiliteit.

  2. Selecteer de doelgroep door de groepsnaam te selecteren. U wordt omgeleid naar groepsdetails onder Basisbeginselen van groepen.

    Schermopname van de Groepsdetails.

  3. Als u de implementatie wilt starten, gaat u naar het tabblad Huidige implementatie. Selecteer de koppeling implementeren naast de gewenste update in de sectie Beschikbare updates. De best beschikbare update voor een bepaalde groep wordt aangeduid met een beste markering.

    Schermopname van het selecteren van een update.

  4. Plan uw implementatie om onmiddellijk of in de toekomst te starten. Klik vervolgens op Maken.

    Schermopname van Implementatie maken.

  5. Onder Implementatiedetails verandert status naar Actief. De geïmplementeerde update is gemarkeerd met (implementeren).

    Schermopname die laat zien dat de implementatie actief is.

  6. Bekijk het nalevingsdiagram om te zien dat de update nu wordt uitgevoerd.

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

    Schermopname waarin Update is geslaagd.

De update-implementatie bewaken

  1. Selecteer het tabblad Implementatiegeschiedenis boven aan de pagina.

    Schermopname van de implementatiegeschiedenis.

  2. Selecteer Details naast de implementatie die u hebt gemaakt.

    Schermopname van implementatiedetails.

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

U hebt nu met succes een end-to-end image-update voltooid met Device Update voor IoT Hub, waarbij gebruik is gemaakt van de Ubuntu (18.04 x64) simulatorverwijzingsagent.

Hulpmiddelen opruimen

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

Volgende stappen