Delen via


Zelfstudie: Device Update for Azure IoT Hub using the Ubuntu (18.04 x64) simulator reference agent (Device Update for Azure IoT Hub using the Ubuntu (18.04 x64) simulator reference agent (Device Update for device update for Azure IoT Hub using the Ubuntu (18.04 x64) simulator reference agent (

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

Installatiekopieënupdates bieden een hoger vertrouwensniveau in de eindstatus van het apparaat. Het is doorgaans gemakkelijker om de resultaten van een installatiekopie-update te repliceren tussen een preproductieomgeving en een productieomgeving, omdat deze niet dezelfde uitdagingen vormt als pakketten en hun afhankelijkheden. Vanwege hun atomische aard kunt u ook eenvoudig een A/B-failovermodel gebruiken.

In deze zelfstudie wordt u begeleid bij de stappen voor het voltooien van een end-to-end update op basis van installatiekopieën met behulp van Device Update voor IoT Hub.

In deze zelfstudie leert u het volgende:

  • Download en installeer een installatiekopieën.
  • Voeg een tag toe aan uw IoT-apparaat.
  • Een update importeren.
  • Maak een apparaatgroep.
  • Een installatiekopieënupdate implementeren.
  • Bewaak de update-implementatie.

Vereisten

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 met de naam Tutorial_Simulator.zip van Release Assets in de nieuwste versie en pak het uit.

Een apparaat toevoegen aan Azure IoT Hub

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

  1. Start in de 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 uw apparaat connection string.

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

  1. Volg de instructies voor het installeren van de Azure IoT Edge-runtime.

    Notitie

    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 deze niet in deze zelfstudie wordt behandeld, kan de IoT Identity Service-daemon zelfstandig worden geïnstalleerd op IoT-apparaten op basis van Linux. De volgorde van de installatie is van belang. De Device Update-pakketagent moet worden geïnstalleerd na de IoT Identity-service. Anders wordt de pakketagent niet geregistreerd als een geautoriseerd onderdeel om verbinding te maken met IoT Hub.

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

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    
  3. Voer de primaire connection string 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 te worden uitgevoerd als een simulator. Voer de volgende opdracht uit op het IoT-apparaat, zodat de Device Update-agent de simulatorhandler aanroept om een pakketupdate met APT te verwerken ('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 tijdelijke aanduidingen in:

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

  5. U hebt het bestand van het gedownloade Tutorial_Simulator.zip nodig sample-du-simulator-data.json 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 geen wijzigingen op te slaan.

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

    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 selecteer 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, dan:

     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
    

Device Update for Azure IoT Hub software is onderworpen aan de volgende licentievoorwaarden:

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

Notitie

Nadat u de simulator hebt getest, voert u de volgende opdracht uit om de APT-handler aan te roepen en via-the-air pakketupdates te implementeren:

# 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 de Azure Portal en ga naar de IoT-hub.

  2. Zoek vanuit Apparaten in het linkerdeelvenster uw IoT-apparaat en ga naar de apparaatdubbel of moduledubbel.

  3. Verwijder in de moduledubbel van de Device Update-agentmodule alle bestaande tagwaarden voor Device Update door deze in te stellen op null. Als u de apparaat-id gebruikt met een Device Update-agent, breng dan deze wijzigingen aan op de apparaatdubbel.

  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 in de vereisten. Het updatebestand wordt opnieuw gebruikt uit de raspberry pi-zelfstudie. Omdat de update in deze zelfstudie is gesimuleerd, maakt de specifieke bestandsinhoud niet uit.

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

  3. Selecteer het tabblad Updates.

  4. Selecteer + Nieuwe update importeren.

  5. Selecteer + Selecteren in opslagcontainer. Selecteer een bestaand account of maak een nieuw account met behulp van + Opslagaccount. Selecteer vervolgens een bestaande container of maak een nieuwe container met behulp van + Container. Deze container wordt gebruikt om uw updatebestanden te faseren voor importeren.

    Notitie

    U wordt aangeraden elke keer dat u een update importeert een nieuwe container te gebruiken om te voorkomen dat bestanden uit eerdere updates per ongeluk worden geïmporteerd. 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 de 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.

    Schermopname van Import update.

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

    Schermopname van de taakstatus.

Meer informatie over het importeren van updates.

Een updategroep maken

  1. Ga naar het tabblad Groepen en implementaties bovenaan de pagina.

    Schermopname van niet-gegroepeerde apparaten.

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

    Schermopname van het toevoegen van apparaatgroepen.

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

    Schermopname van de tagselectie.

  4. Nadat de groep is gemaakt, worden het updatenalevingsdiagram en de lijst met groepen bijgewerkt. In de grafiek voor updatenaleving ziet u het aantal apparaten in verschillende nalevingsstatussen: Bij de laatste update, Nieuwe updates beschikbaar en Updates wordt uitgevoerd. Meer informatie over updatecompatibiliteit.

    Schermopname van de weergave updatenaleving.

  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 bijbehorende ongeldige groep. Als u de best beschikbare update wilt implementeren voor de nieuwe door de gebruiker gedefinieerde groep vanuit 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 update staan. 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 groep.

    Schermopname van groepsdetails.

  3. Ga naar het tabblad Huidige implementatie om de implementatie te starten. Selecteer de koppeling implementeren naast de gewenste update in de sectie Beschikbare updates . De best beschikbare update voor een bepaalde groep wordt aangeduid met de markering Beste .

    Schermopname van het selecteren van een update.

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

    Schermopname van Implementatie maken.

  5. Onder Implementatiedetails wordt Status ingesteld op Actief. De geïmplementeerde update is gemarkeerd met (implementeren).

    Schermopname die laat zien dat de implementatie actief is.

  6. Bekijk de nalevingsgrafiek 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 van Bijwerken voltooid.

De update-implementatie bewaken

  1. Selecteer het tabblad Implementatiegeschiedenis bovenaan 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 een geslaagde end-to-end installatiekopie-update voltooid met behulp van Device Update voor IoT Hub met behulp van de referentieagent voor de Ubuntu-simulator (18.04 x64).

Resources opschonen

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

Volgende stappen