Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
Gebruik de nieuwste 1.x-versie van de referentie-implementatie van de Device Update-agent om te profiteren van de nieuwste verbeteringen. Controleer de geïnstalleerde versie in de sectie Eigenschappen van uw IoT-apparaatdubbel. Zie de Device-update voor IoT Hub ondersteunde platforms 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 naar een agent als module-identiteit, verwijdert u de oudere agent die via de apparaat-twin communiceerde.
Ondersteunde updatetypen
Device Update ondersteunt de volgende typen over-the-air-updates voor IoT-apparaten:
- 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 voor het installeren van pakketgebaseerde updates, voegt u packages.microsoft.com toe aan de opslagbronnen van uw machine door de volgende stappen te volgen:
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.listKopieer 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.gpgsudo 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 een Raspberry Pi-image voor meer informatie.
Op apparaten waarop IoT Edge is ingeschakeld
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-agentInstalleer 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 updatesudo apt-get install deviceupdate-agentVoor releasecandidateversies (rc) van de agent downloadt u het .deb-bestand van Releases naar de machine waarop u de Device Update-agent wilt installeren, en voert u vervolgens 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 apparaten zonder IoT Edge-functionaliteit
Volg deze instructies voor het inrichten van de Device Update-agent op Linux IoT-apparaten zonder dat IoT Edge is geïnstalleerd. U kunt de agent inrichten met behulp van de Azure IoT Identity Service (AIS) of door referenties rechtstreeks op het apparaat te configureren.
Azure IoT Identity Service (AIS) gebruiken
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. Zorg ervoor dat de service is geconfigureerd met de juiste apparaat- of module-id, zodat deze verbindingsgegevens kan verstrekken aan de Device Update-agent.
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, waarin de IoT Identity Service is opgenomen, kunt u de Device Update-agent nog steeds installeren en configureren met behulp van een verbindingsreeks of x.509-certificaten.
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 heretijdelijke aanduiding hebben en voer de gekopieerde primaire verbindingsreeks in als deconnectionDataveldwaarde. Zie voorbeeld van de bestandsinhoud 'du-config.json'.
X.509-certificaten gebruiken
De Device Update-agent versie 1.3.0 en hoger ondersteunt verificatie bij IoT Hub met X.509-certificaten. Azure IoT Hub ondersteunt twee X.509-certificaatconfiguratiemethoden:
- Door CA ondertekende certificaten (aanbevolen): Apparaten verifiëren met behulp van een certificaat dat is uitgegeven door een vertrouwde certificeringsinstantie (CA).
- Zelfondertekende certificaten (op basis van vingerafdruk): Elke apparaat-id wordt geconfigureerd met een vingerafdruk van een certificaat die tijdens de verificatie IoT Hub valideert.
X.509-verificatie configureren
Registreer uw apparaat-id in IoT Hub met X.509-verificatie ingeschakeld.
- Configureer het apparaat met behulp van:
- Een certificaat dat is uitgegeven door een vertrouwde certificeringsinstantie (CA).
- Een zelfondertekend certificaat met een geregistreerde vingerafdruk.
- Installeer de Device Update-agent op het apparaat.
Device Provisioning Service (DPS) kan worden gebruikt voor het inrichten van apparaatidentiteiten en -certificaten. DPS richt echter geen module-id's in. De configuratie van de Device Update-agent moet nog steeds worden voltooid op het apparaat.
Voor stapsgewijze configuratie-instructies, waaronder geavanceerde scenario's zoals door hardware ondersteunde sleutels (bijvoorbeeld hardwarebeveiligingsmodules (HSM's) of op PKCS#11 gebaseerde sleutelopslag voor veilig sleutelbeheer), raadpleegt u de handleiding voor X.509-authenticatie: X.509-clientcertificaatauthenticatie gebruiken.
Notitie
X.509-verificatieondersteuning in de Device Update-agent maakt gebruik van standaard-Azure IoT Hub identiteitsconfiguratie. Deze mogelijkheid is niet geïntegreerd met het certificaatbeheer van Azure Device Registry (ADR) (preview).
De Device Update-agent configureren
Nadat u de Device Update-agent 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.
Azure IoT Identity Service (AIS)
-
"connectionType":"AIS" -
"connectionData":""(lege tekenreeks)
Notitie
Wanneer u Azure IoT Identity Service (AIS) gebruikt, moet de service worden geconfigureerd om de juiste identiteit op te geven aan de Device Update-agent. Dit omvat het configureren van identiteiten in config.toml en ervoor zorgen dat de agent is gekoppeld aan de juiste apparaat- of module-identiteit. Als de Device Update-agent wordt uitgevoerd als een module, moet een bijbehorende module-id worden geconfigureerd, zodat AIS de verbindingsgegevens van de module naar de agent kan retourneren. Zie Configuring the Azure IoT Identity Service voor configuratiedetails.
Verbindingsstring
-
"connectionType":"string" -
"connectionData":"HostName=<hub>.azure-devices.net;DeviceId=<device>;SharedAccessKey=<key>"(vervang door uw IoT Hub hostnaam, apparaat-id en gedeelde toegangssleutel)
X.509-certificaten
-
"connectionType":"x509" -
"connectionData":"HostName=<hub>.azure-devices.net;DeviceId=<device>;x509=true"(vervang door uw IoT Hub hostnaam en apparaat-id) -
"connectionX509CertFilePath":"/etc/adu/certs/client.pem" -
"connectionX509PrivateKeyFilePath":"/etc/adu/certs/client.key" -
"connectionX509CaCertFilePath":"/etc/adu/certs/ca.pem"
Zie de configuratiehandleiding Azure Device Update Agent Configuration Guide voor volledige configuratiedetails.
Zie voor meer informatie: Configuratiebestand voor apparaatupdates. 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-agentControleer de agentstatus door de volgende opdracht uit te voeren.
sudo systemctl status deviceupdate-agentU zou status
OKmoeten zien.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.
Maak een systemd-overschrijvingsconfiguratiemap en het overschrijvingsbestand door de volgende opdracht uit te voeren:
sudo mkdir -p /etc/systemd/system/deviceupdate-agent.service.d
sudo nano /etc/systemd/system/deviceupdate-agent.service.d/override.conf
De proxygegevens toevoegen aan de configuratie
[Service]
Environment="HTTP_PROXY=http://your.proxy.server:port"
Environment="HTTPS_PROXY=http://your.proxy.server:port"
Start de agent opnieuw om de wijzigingen toe te passen:
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart deviceupdate-agent
Vervolgens kunt u controleren of de omgevingsvariabelen worden toegepast met behulp van
sudo systemctl show deviceupdate-agent | grep -i proxy
Een Device Update-agent bouwen en uitvoeren
U kunt ook uw eigen aangepaste Device Update-agent bouwen en wijzigen. Volg de instructies op How To Build the Device Update Agent om de Device Update Agent vanuit de broncode op te bouwen.
Zodra de agent succesvol is gebouwd, raadpleegt u De Device Update voor IoT Hub Reference Agent uitvoeren om de agent uit te voeren. Als u de wijzigingen wilt aanbrengen die nodig zijn om de agent in uw image 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 een Raspberry Pi-image
- 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