Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’agent du module Device Update peut s’exécuter en même temps que d’autres processus système et modules IoT Edge qui se connectent à votre hub IoT dans le cadre du même périphérique logique. Cet article explique comment approvisionner l’agent Device Update en tant qu’identité de module.
Remarque
Utilisez la dernière version 1.x de l’implémentation de référence de l’agent Device Update pour bénéficier des dernières améliorations. Vérifiez la version installée dans la section propriétés de votre jumeau d’appareil IoT. Pour plus d’informations, consultez Device Update for IoT Hub supported platforms.
Identité de module et identité d’appareil
Vous pouvez créer jusqu’à 50 identités de module sous chaque identité d’appareil Azure IoT Hub. Chaque identité de module génère implicitement un jumeau d’identité de module. Côté appareil, vous pouvez utiliser les kits SDK d’appareil IoT Hub pour créer des modules qui ouvrent chacune une connexion indépendante à IoT Hub.
L’identité de module et le jumeau d’identité de module offrent les mêmes capacités que l’identité d’appareil et le jumeau d’appareil, mais avec une plus grande précision. Pour en savoir plus, consultez Comprendre et utiliser les jumeaux de module dans IoT Hub.
Lorsque vous approvisionnez l’agent Device Update en tant qu’identité de module, toutes les communications entre l’appareil et le service Device Update doivent se produire sur le jumeau de module. N’oubliez pas d’étiqueter le jumeau de module de l’appareil lorsque vous créez des groupes d’appareils. Si vous migrez d’un agent au niveau de l’appareil vers l’ajout de l’agent en tant qu’identité de module, supprimez l’ancien agent qui communiquait via le jumeau d’appareil.
Types de mise à jour pris en charge
Device Update prend en charge les types suivants de mises à jour OTA pour les appareils IoT :
- Appareils Linux IoT Edge et non IoT Edge :
- Agent de mise à jour de l’appareil Eclipse ThreadX
- Appareils déconnectés derrière des passerelles
Préparer les mises à jour du package
Pour configurer un appareil IoT ou un appareil IoT Edge pour installer des mises à jour basées sur des packages, ajoutez packages.microsoft.com aux référentiels de votre ordinateur en procédant comme suit :
Ouvrez une fenêtre Terminal sur l’ordinateur ou l’appareil IoT où vous souhaitez installer l’agent Device Update.
Installez la configuration du référentiel qui correspond au système d’exploitation de votre appareil, par exemple :
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.listCopiez la liste générée dans votre répertoire sources.list.d.
sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/Installez la clé publique Microsoft GPG.
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpgsudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
Approvisionner l’agent Device Update
Vous pouvez approvisionner l’agent Device Update en tant qu’identité de module sur des appareils compatibles IoT Edge ou sur des appareils IoT non IoT Edge. Pour vérifier si IoT Edge est activé sur votre appareil, consultez Afficher les appareils inscrits et récupérer les informations d’approvisionnement.
Vous pouvez télécharger des exemples d’images à utiliser à partir de la section Ressources de la page Versions. Dans Tutorial_RaspberryPi3.zip, le fichier swUpdate est l’image de base que vous pouvez flasher sur un panneau Raspberry Pi B3+. Le fichier .gz est la mise à jour que vous pouvez importer via Device Update. Pour plus d’informations, consultez Azure Device Update pour IoT Hub à l’aide d’une image Raspberry Pi.
Sur des appareils sur lesquels IoT Edge est activé
Suivez ces instructions pour approvisionner l'agent Device Update sur les appareils activés IoT Edge :
Suivez les instructions à la page Approvisionnement manuel d'un seul appareil Linux IoT Edge.
Installez l’agent de mise à jour de l’image Device Update en exécutant la commande suivante :
sudo apt-get install deviceupdate-agentInstallez l’agent de mise à jour du package Device Update.
Pour obtenir les dernières versions de l’agent, accédez à packages.microsoft.com, mettez à jour les listes de packages sur votre appareil, puis installez le package de l’agent Device Update et ses dépendances en utilisant :
sudo apt-get updatesudo apt-get install deviceupdate-agentPour les versions d’agent Release candidate, téléchargez le fichier .deb à partir des versions vers la machine sur laquelle vous souhaitez installer l’agent Device Update, puis exécutez la commande suivante :
sudo apt-get install -y ./"<PATH TO FILE>"/"<.DEB FILE NAME>"Si vous configurez un cache connecté Microsoft (MCC) pour un scénario d’appareil déconnecté, installez le plug-in APT d’optimisation de la distribution comme suit :
sudo apt-get install deliveryoptimization-plugin-apt
Sur les appareils non IoT sur lesquels Edge est activé
Suivez ces instructions pour approvisionner l’agent Device Update sur les appareils IoT Linux sans qu’IoT Edge soit installé. Vous pouvez provisionner l’agent à l’aide de l’Azure IoT Identity Service (AIS) ou en configurant les informations d’identification directement sur l’appareil.
Utiliser Azure IoT Identity Service (AIS)
Installez la dernière version du service d’identité IoT en suivant les instructions de la section Installation du service d’identité Azure IoT.
Configurez le service d’identité IoT en suivant les instructions fournies dans Configuration du service d’identité Azure IoT. Vérifiez que le service est configuré avec l’identité appropriée de l’appareil ou du module afin qu’il puisse fournir des informations de connexion à l’agent Device Update.
Installez l’agent Device Update en exécutant la commande suivante :
sudo apt-get install deviceupdate-agent
Remarque
Si votre appareil IoT ne peut pas exécuter le service d'identité IoT ou IoT Edge, qui regroupe le service d'identité IoT, vous pouvez toujours installer l'agent Device Update et le configurer en utilisant un chaîne de connexion ou x.509 certificats.
Utiliser une chaîne de connexion
Pour tester ou sur des appareils limités, vous pouvez configurer l’agent Device Update sans utiliser le service d’identité IoT. Vous pouvez utiliser une chaîne de connexion pour approvisionner l’agent Device Update à partir du module ou de l’appareil.
Dans le portail Azure, copiez la chaîne de connexion principale. Si l’agent Device Update est configuré en tant qu’identité de module, copiez la chaîne de connexion principale du module. Sinon, copiez la chaîne de connexion principale de l’appareil.
Dans une fenêtre de terminal sur l’ordinateur ou l’appareil IoT où vous avez installé l’agent Device Update, modifiez le fichier de configuration Device Update en exécutant la commande suivante :
- Pour un agent Ubuntu :
sudo nano /etc/adu/du-config.json. - Pour une image de référence Yocto :
sudo nano /adu/du-config.json.
- Pour un agent Ubuntu :
Dans le fichier du-config.json , définissez toutes les valeurs qui ont un espace réservé
Place value hereet entrez la chaîne de connexion primaire copiée comme valeur de champconnectionData. Pour un exemple, consultez Exemple de contenu du fichier « du-config.json ».
Utiliser des certificats X.509
L’agent Device Update version 1.3.0 et ultérieure prend en charge l’authentification auprès de IoT Hub à l’aide de certificats X.509. Azure IoT Hub prend en charge deux méthodes de configuration de certificat X.509 :
- Certificats signés par l’autorité de certification (recommandé) : Les appareils s’authentifient à l’aide d’un certificat émis par une autorité de certification approuvée.
- Certificats signés par l’utilisateur (basés sur l’empreinte numérique) : Chaque identité d’appareil est configurée avec une empreinte numérique de certificat qui IoT Hub valide pendant l’authentification.
Configurer l’authentification X.509
Inscrivez votre identité d’appareil dans IoT Hub avec l’authentification X.509 activée.
- Configurez l’appareil à l’aide des deux éléments suivants :
- Certificat émis par une autorité de certification approuvée.
- Un certificat auto-signé avec une empreinte numérique inscrite.
- Installez l’agent Device Update sur l’appareil.
Le service DPS (Device Provisioning Service) peut être utilisé pour approvisionner des identités et des certificats d’appareil. Toutefois, DPS ne provisionne pas d’identités de module. La configuration de l’agent Device Update doit toujours être terminée sur l’appareil.
Pour obtenir des instructions de configuration pas à pas, notamment des scénarios avancés tels que des clés matérielles sauvegardées (par exemple, des modules de sécurité matériels (HSM) ou un stockage de clés basé sur PKCS#11 pour la gestion des clés sécurisées), consultez le guide d’authentification X.509 : How to Use X.509 Client Certificate Authentication.
Remarque
La prise en charge de l’authentification X.509 dans l’agent Device Update utilise la configuration d’identité standard Azure IoT Hub. Cette fonctionnalité n’est pas intégrée à la gestion des certificats d’Azure Device Registry (ADR) (préversion).
Configurer l’agent Device Update
Après avoir installé l’agent Device Update, modifiez le fichier de configuration Device Update en exécutant la commande suivante.
sudo nano /etc/adu/du-config.json
Dans le fichier du-config.json, définissez toutes les valeurs qui ont un espace réservé Place value here.
Azure IoT Identity Service (AIS)
-
"connectionType":"AIS" -
"connectionData":""(chaîne vide)
Remarque
Lors de l’utilisation de Azure IoT Identity Service (AIS), le service doit être configuré pour fournir l’identité correcte à l’agent Device Update. Cela inclut la configuration des identités dans config.toml et la garantie que l’agent est associé à l’identité appropriée de l’appareil ou du module. Si l’agent Device Update s’exécute en tant que module, une identité de module correspondante doit être configurée afin que AIS puisse retourner les informations de connexion du module à l’agent. Pour plus d’informations sur la configuration, consultez Configuring the Azure IoT Identity Service.
chaîne de connexion
-
"connectionType":"string" -
"connectionData":"HostName=<hub>.azure-devices.net;DeviceId=<device>;SharedAccessKey=<key>"(remplacez par votre nom d’hôte IoT Hub, votre ID d’appareil et votre clé d’accès partagé)
Certificats X.509
-
"connectionType":"x509" -
"connectionData":"HostName=<hub>.azure-devices.net;DeviceId=<device>;x509=true"(remplacez par votre nom d’hôte et votre ID d’appareil IoT Hub) -
"connectionX509CertFilePath":"/etc/adu/certs/client.pem" -
"connectionX509PrivateKeyFilePath":"/etc/adu/certs/client.key" -
"connectionX509CaCertFilePath":"/etc/adu/certs/ca.pem"
Pour plus d’informations sur la configuration, consultez le Azure Device Update Agent Configuration Guide.
Pour plus d’informations, consultez : Fichier de configuration Device Update. Pour un exemple, consultez Exemple de contenu du fichier « du-config.json ».
Démarrez l’agent Device Update
Démarrez l’agent Device Update et vérifiez qu’il s’exécute correctement sur votre appareil.
Dans une fenêtre terminale sur l’ordinateur ou l’appareil IoT où vous avez installé l’agent Device Update, redémarrez l’agent en exécutant la commande suivante :
sudo systemctl restart deviceupdate-agentVérifiez l’état de l’agent en exécutant la commande suivante.
sudo systemctl status deviceupdate-agentL’état
OKdoit s’afficher.Sur la page du portail IoT Hub, accédez à Appareils ou IoT Edge pour rechercher l’appareil que vous avez configuré et consultez l’agent Device Update s’exécutant en tant que module. Par exemple :
Activer l’agent Device Update derrière un serveur proxy
Les appareils exécutant l’agent Device Update envoient des requêtes HTTPS pour communiquer avec IoT Hub. Si vous avez connecté votre appareil à un réseau qui utilise un serveur proxy, vous devez configurer le service systemd Device Update pour qu’il communique avec le serveur.
Avant de configurer Device Update, vérifiez que vous disposez de l’URL du proxy. L’URL du proxy se présente sous le protocole de format ://proxy_host:proxy_port.
Créez un répertoire de configuration de remplacement pour systemd et un fichier de remplacement pour systemd en exécutant la commande suivante :
sudo mkdir -p /etc/systemd/system/deviceupdate-agent.service.d
sudo nano /etc/systemd/system/deviceupdate-agent.service.d/override.conf
Ajouter les détails du proxy à la configuration
[Service]
Environment="HTTP_PROXY=http://your.proxy.server:port"
Environment="HTTPS_PROXY=http://your.proxy.server:port"
Redémarrez l’agent pour appliquer les changements :
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart deviceupdate-agent
Vous pouvez ensuite vérifier que les variables d’environnement sont appliquées à l’aide de
sudo systemctl show deviceupdate-agent | grep -i proxy
Générer et exécuter un agent Device Update
Vous pouvez également créer et modifier votre propre agent Device Update personnalisé. Suivez les instructions de la section Comment créer l’agent Device Update pour générer l’agent Device Update à partir de la source.
Une fois l’agent compilé avec succès, suivez Exécution de l’agent de référence Device Update pour IoT Hub pour lancer l’agent. Pour apporter des modifications nécessaires à l’incorporation de l’agent dans votre image, suivez comment modifier le codede l’agent Device Update.
Dépannage
Si vous rencontrez des problèmes, consultez le Guide de résolution des problèmes Device Update pour IoT Hub pour vous aider à résoudre les problèmes et à collecter les informations nécessaires à fournir à Microsoft.
Contenu connexe
- Guide de résolution des problèmes de Device Update pour IoT Hub
- Azure Device Update pour IoT Hub en utilisant une image Raspberry Pi
- Azure Device Update pour IoT Hub en utilisant l’agent de package Ubuntu
- Tutoriel : Effectuer une mise à jour du proxy à l’aide de Device Update pour Azure IoT Hub
- Azure Device Update pour IoT Hub avec un agent de simulation
- Device Update pour Azure IoT Hub en utilisant Eclipse ThreadX