Azure Device Update inrichten voor IoT Hub-agent
De Device Update-moduleagent kan samen met andere systeemprocessen en IoT Edge-modules worden uitgevoerd die verbinding maken met uw IoT Hub als onderdeel van hetzelfde logische apparaat. In dit artikel wordt beschreven hoe u de Device Update-agent inricht als een module-id.
Notitie
Als u de Device Update-agent gebruikt, controleert u of u versie 1.0.0 algemene beschikbaarheid (GA) gebruikt. U kunt de geïnstalleerde versies van de Device Update-agent en de Delivery Optimization-agent controleren in de eigenschappensectie van uw IoT-apparaatdubbel. Zie Apparaten en groepen migreren naar de nieuwste release van Device Update voor meer informatie.
Module-id en apparaat-id
U kunt maximaal 50 module-id's maken onder elke Azure IoT Hub-apparaat-id. Elke module-id genereert impliciet een moduleidentiteitsdubbel. Aan de apparaatzijde kunt u de SDK's van het IoT Hub-apparaat gebruiken om modules te maken die elk een onafhankelijke verbinding met IoT Hub openen.
Moduleidentiteit en moduleidentiteitsdubbel bieden vergelijkbare mogelijkheden als apparaatidentiteit en apparaatdubbel, maar met een nauwkeurigere granulariteit. Zie Moduledubbels begrijpen en gebruiken in IoT Hub voor meer informatie.
Wanneer u de Device Update-agent inricht als module-id, moet alle communicatie tussen het apparaat en de Device Update-service plaatsvinden via de moduledubbel. Vergeet niet om de moduledubbel van het apparaat te taggen wanneer u apparaatgroepen maakt. Als u migreert van een agent op apparaatniveau om de agent toe te voegen als module-id, verwijdert u de oudere agent die via de apparaatdubbel is gecommuniceerd.
Ondersteunde updatetypen
Device Update ondersteunt het volgende IoT-apparaat via de air-updatetypen:
- IoT Edge- en niet-IoT Edge Linux-apparaten:
- Eclipse ThreadX Device Update-agent
- Niet-verbonden apparaten achter gateways
Voorbereiden op pakketupdates
Als u een IoT-apparaat of IoT Edge-apparaat wilt instellen om op pakketten gebaseerde updates te installeren, voegt u deze stappen toe packages.microsoft.com
aan de opslagplaatsen van uw computer:
Open een terminalvenster op de computer of het IoT-apparaat waarop u de Device Update-agent wilt installeren.
Installeer de opslagplaatsconfiguratie die overeenkomt met het besturingssysteem van uw apparaat, bijvoorbeeld:
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
Kopieer de gegenereerde lijst naar de map sources.list.d .
sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
Installeer de openbare Microsoft GPG-sleutel.
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
De Device Update-agent inrichten
U kunt de Device Update-agent inrichten als een module-id op apparaten met IoT Edge of niet-IoT Edge IoT-apparaten. Zie Geregistreerde apparaten weergeven en inrichtingsgegevens ophalen om te controleren of IoT Edge is ingeschakeld op uw apparaat.
U kunt voorbeeldafbeeldingen downloaden die u kunt gebruiken vanuit de sectie Assets op de pagina Releases . In Tutorial_RaspberryPi3.zip is het swUpdate-bestand de basisafbeelding die u op een Raspberry Pi B3+ bord kunt knipperen. Het .gz-bestand is de update die u kunt importeren via Device Update. Zie Azure Device Update voor IoT Hub met behulp van een Raspberry Pi-installatiekopieën voor meer informatie.
Op IoT Edge-apparaten
Volg deze instructies om de Device Update-agent in te richten op apparaten met IoT Edge:
Volg de instructies bij Handmatig inrichten van één Linux IoT Edge-apparaat.
Installeer de updateagent voor de installatiekopieën van Device Update door de volgende opdracht uit te voeren:
sudo apt-get install deviceupdate-agent
Installeer de updateagent van het Device Update-pakket.
Voor de nieuwste agentversies van packages.microsoft.com werkt u pakketlijsten bij op uw apparaat en installeert u het Device Update-agentpakket en de bijbehorende afhankelijkheden met behulp van:
sudo apt-get update
sudo apt-get install deviceupdate-agent
Voor versies van de releasekandidaat (rc) downloadt u het .deb-bestand van releases naar de computer waarop u de Device Update-agent wilt installeren en voert u de volgende opdracht uit:
sudo apt-get install -y ./"<PATH TO FILE>"/"<.DEB FILE NAME>"
Als u een Microsoft Connected Cache (MCC) instelt voor een scenario met een niet-verbonden apparaat, installeert u de APT-invoegtoepassing Delivery Optimization als volgt:
sudo apt-get install deliveryoptimization-plugin-apt
Op niet-IoT Edge-apparaten
Volg deze instructies voor het inrichten van de Device Update-agent op Linux IoT-apparaten zonder dat IoT Edge is geïnstalleerd.
Installeer de nieuwste versie van de IoT Identity Service door de instructies te volgen in Het installeren van de Azure IoT Identity Service.
Configureer de IoT Identity Service door de instructies te volgen in het configureren van de Azure IoT Identity Service.
Installeer de Device Update-agent door de volgende opdracht uit te voeren:
sudo apt-get install deviceupdate-agent
Notitie
Als uw IoT-apparaat de IoT Identity Service of IoT Edge niet kan uitvoeren, waarmee de IoT Identity Service wordt gebundeld, kunt u de Device Update-agent nog steeds installeren en configureren met behulp van een verbindingsreeks.
De Device Update-agent configureren
Nadat u de agent voor apparaatupdates hebt geïnstalleerd, bewerkt u het configuratiebestand device update door de volgende opdracht uit te voeren.
sudo nano /etc/adu/du-config.json
Stel in het bestand du-config.json alle waarden in die een Place value here
tijdelijke aanduiding hebben. Voor agents die de IoT Identity Service gebruiken voor het inrichten, wijzigt u het connectionType
in AIS
en stelt u het ConnectionData
veld in op een lege tekenreeks. Zie voorbeeld van de bestandsinhoud 'du-config.json'.
Een verbindingsreeks gebruiken
Voor het testen of op beperkte apparaten kunt u de Device Update-agent configureren zonder de IoT Identity-service te gebruiken. U kunt een verbindingsreeks gebruiken om de Device Update-agent in te richten vanuit de module of het apparaat.
Kopieer in Azure Portal de primaire verbindingsreeks. Als de Device Update-agent is geconfigureerd als een module-id, kopieert u de primaire verbindingsreeks van de module. Kopieer anders de primaire verbindingsreeks van het apparaat.
Bewerk in een terminalvenster op de computer of het IoT-apparaat waarop u de Device Update-agent hebt geïnstalleerd het configuratiebestand voor Apparaatupdate door de volgende opdracht uit te voeren:
- Voor een Ubuntu-agent:
sudo nano /etc/adu/du-config.json
. - Voor een Yocto-referentieafbeelding:
sudo nano /adu/du-config.json
.
- Voor een Ubuntu-agent:
Stel in het du-config.json bestand alle waarden in die een
Place value here
tijdelijke aanduiding hebben en voer de gekopieerde primaire verbindingsreeks in als deconnectionData
veldwaarde. Zie voorbeeld van de bestandsinhoud 'du-config.json'.
De Device Update-agent starten
Start de Device Update-agent en controleer of deze wordt uitgevoerd op uw apparaat.
Start de agent opnieuw op in een terminalvenster op de computer of het IoT-apparaat waarop u de Device Update-agent hebt geïnstalleerd door de volgende opdracht uit te voeren:
sudo systemctl restart deviceupdate-agent
Controleer de agentstatus door de volgende opdracht uit te voeren.
sudo systemctl status deviceupdate-agent
Als het goed is, ziet u de status
OK
.Ga op de portalpagina van IoT Hub naar Apparaten of IoT Edge om het apparaat te vinden dat u hebt geconfigureerd en zie de Device Update-agent die als module wordt uitgevoerd. Voorbeeld:
Device Update-agent inschakelen achter een proxyserver
Apparaten waarop de Device Update-agent wordt uitgevoerd, verzenden HTTPS-aanvragen om te communiceren met IoT Hub. Als u uw apparaat hebt verbonden met een netwerk dat gebruikmaakt van een proxyserver, moet u de systemd service Device Update configureren om via de server te communiceren.
Voordat u Device Update configureert, moet u ervoor zorgen dat u de proxy-URL hebt. Proxy-URL heeft de indeling protocol://proxy_host:proxy_port.
Navigeer naar de configuratie van Device Update door de volgende opdracht uit te voeren:
sudo systemctl edit deviceupdate-agent.service
De proxygegevens toevoegen aan de configuratie
[Service]
Environment="https_proxy=<Proxy URL>"
Start de agent opnieuw om de wijzigingen toe te passen:
sudo systemctl daemon-reload
sudo systemctl restart deviceupdate-agent
sudo systemctl status deviceupdate-agent
Een Device Update-agent bouwen en uitvoeren
U kunt ook uw eigen aangepaste Device Update-agent bouwen en wijzigen. Volg de instructies in How To Build the Device Update Agent to build the Device Update Agent from source.
Zodra de agent is gebouwd, volgt u het uitvoeren van de Device Update for IoT Hub Reference Agent om de agent uit te voeren. Als u wijzigingen wilt aanbrengen die nodig zijn om de agent in uw installatiekopieën op te nemen, volgt u De code van de Device Update-agent wijzigen.
Probleemoplossing
Als u problemen ondervindt, raadpleegt u de handleiding voor het oplossen van problemen met De apparaatupdate voor IoT Hub om de problemen op te lossen en de benodigde informatie te verzamelen die microsoft moet verstrekken.
Gerelateerde inhoud
- Handleiding voor het oplossen van problemen met Apparaatupdate voor IoT Hub
- Azure Device Update voor IoT Hub met behulp van een Raspberry Pi-installatiekopieën
- Azure Device Update voor IoT Hub met behulp van de Ubuntu-pakketagent
- Zelfstudie: Een proxy-update voltooien met behulp van Device Update voor Azure IoT Hub
- Azure Device Update voor IoT Hub met behulp van een simulatoragent
- Apparaatupdate voor Azure IoT Hub met behulp van Eclipse ThreadX