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.
Start in de Azure Portal de Apparaatupdate voor IoT Hub.
Maak een nieuw apparaat.
Ga in het linkerdeelvenster naar Apparaten. Selecteer vervolgens Nieuw.
Voer onder Apparaat-id een naam in voor het apparaat. Zorg ervoor dat het selectievakje Automatisch genereren van sleutels is ingeschakeld.
Selecteer Opslaan.
U keert nu terug naar de pagina Apparaten en het apparaat dat u hebt gemaakt, moet in de lijst staan. Selecteer dat apparaat.
Selecteer in de apparaatweergave het pictogram Kopiëren naast Primaire verbindingsreeks.
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
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.
Installeer vervolgens de .deb-pakketten van de Device Update-agent.
sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt
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
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>
U hebt het bestand van het gedownloade
Tutorial_Simulator.zip
nodigsample-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
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
Meld u aan bij de Azure Portal en ga naar de IoT-hub.
Zoek vanuit Apparaten in het linkerdeelvenster uw IoT-apparaat en ga naar de apparaatdubbel of moduledubbel.
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.
Voeg een nieuwe tagwaarde voor Device Update toe, zoals wordt weergegeven:
"tags": { "ADUGroup": "<CustomTagValue>" }
De update importeren
U hebt de bestanden
TutorialImportManifest_Sim.importmanifest.json
enadu-update-image-raspberrypi3.swu
van de gedownloadeTutorial_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.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.
Selecteer het tabblad Updates.
Selecteer + Nieuwe update importeren.
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.
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 .
In deze schermopname ziet u de importstap. Bestandsnamen komen mogelijk niet overeen met de namen die in het voorbeeld worden gebruikt.
Controleer op de pagina Update importeren de bestanden die moeten worden geïmporteerd. Selecteer vervolgens Update importeren om het importproces te starten.
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.
Meer informatie over het importeren van updates.
Een updategroep maken
Ga naar het tabblad Groepen en implementaties bovenaan de pagina.
Selecteer Groep toevoegen om een nieuwe groep te maken.
Selecteer een IoT Hub tag en Apparaatklasse in de lijst. Selecteer vervolgens Groep maken.
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.
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
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.
Selecteer de doelgroep door de groepsnaam te selecteren. U wordt omgeleid naar Groepsdetails onder Basisbeginselen van groep.
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 .
Plan de implementatie om onmiddellijk of in de toekomst te beginnen. Selecteer vervolgens Maken.
Onder Implementatiedetails wordt Status ingesteld op Actief. De geïmplementeerde update is gemarkeerd met (implementeren).
Bekijk de nalevingsgrafiek om te zien dat de update nu wordt uitgevoerd.
Nadat uw apparaat is bijgewerkt, ziet u dat uw nalevingsgrafiek en implementatiegegevens zijn bijgewerkt om hetzelfde weer te geven.
De update-implementatie bewaken
Selecteer het tabblad Implementatiegeschiedenis bovenaan de pagina.
Selecteer Details naast de implementatie die u hebt gemaakt.
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.