Tutoriel : Effectuer une mise à jour du proxy à l’aide de Device Update pour Azure IoT Hub
Si vous ne l’avez pas déjà fait, passez en revue Utilisation des mises à jour du proxy avec Device Update pour Azure IoT Hub.
Configurer un appareil ou une machine virtuelle de test
Ce tutoriel utilise une machine virtuelle (VM) Ubuntu Server 18.04 LTS comme exemple.
Installer l’agent Device Update et les dépendances
Inscrivez packages.microsoft.com dans un référentiel de packages APT :
sudo apt-get update sudo apt install curl curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ~/microsoft-prod.list sudo cp ~/microsoft-prod.list /etc/apt/sources.list.d/ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > ~/microsoft.gpg sudo cp ~/microsoft.gpg /etc/apt/trusted.gpg.d/ sudo apt-get update
Installez deviceupdate-agent sur l’appareil IoT. Téléchargez le dernier fichier Debian Device Update à partir de packages.microsoft.com :
sudo apt-get install deviceupdate-agent
Vous pouvez également copier le fichier Debian téléchargé sur la machine virtuelle de test. Si vous utilisez PowerShell sur votre ordinateur, exécutez la commande shell suivante :
scp <path to the .deb file> tester@<your vm's ip address>:~
Puis connectez-vous à distance à votre machine virtuelle et exécutez la commande shell suivante dans le répertoire home :
#go to home folder cd ~ #install latest Device Update agent sudo apt-get install ./<debian file name from the previous step>
Accédez à Azure IoT Hub et copiez la chaîne de connexion principale du module Device Update de votre appareil IoT. Remplacez toute valeur par défaut pour le champ
connectionData
par la chaîne de connexion principale dans le fichier du-config.json :sudo nano /etc/adu/du-config.json
Notes
Vous pouvez également copier la chaîne de connexion principale de l’appareil, mais nous vous recommandons d’utiliser la chaîne du module Device Update. Pour plus d’informations sur la configuration du module, consultez Approvisionnement de l’agent Device Update.
Vérifiez que /etc/adu/du-diagnostics-config.json contient les paramètres corrects pour la collecte des journaux. Par exemple :
{ "logComponents":[ { "componentName":"adu", "logPath":"/var/log/adu/" }, { "componentName":"do", "logPath":"/var/log/deliveryoptimization-agent/" } ], "maxKilobytesToUploadPerLogPath":50 }
Redémarrez l’agent Device Update :
sudo systemctl restart deviceupdate-agent
Configurer des composants fictifs
À des fins de test et de démonstration, nous allons créer les composants fictifs suivants sur l’appareil :
- Trois moteurs
- Deux caméras
- "hostfs"
- "rootfs"
Important
La configuration des composants précédente est basée sur l’implémentation d’un exemple d’extension d’énumérateur de composant appelé libcontoso-component-enumerator.so. Elle requiert également ce fichier de données d’inventaire de composant fictif : /usr/local/contoso-devices/components-inventory.json.
Copiez le dossier demo dans votre répertoire de base sur la machine virtuelle de test. Exécutez ensuite la commande suivante pour copier les fichiers requis aux emplacements appropriés :
`~/demo/tools/reset-demo-components.sh`
La commande
reset-demo-components.sh
effectue les étapes suivantes en votre nom :Elle copie le fichier components-inventory.json et l’ajoute dans le dossier /usr/local/contoso-devices.
Elle copie l’extension d’énumérateur de composant Contoso (libcontoso-component-enumerator.so) à partir du dossier Ressources et l’ajoute dans le dossier /var/lib/adu/extensions/sources.
Elle inscrit l’extension :
sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
Importer un exemple de mise à jour
Si vous ne l’avez pas déjà fait, créez un compte et une instance Device Update, ce qui inclut la configuration d’un hub IoT. Démarrez ensuite la procédure suivante.
À partir de la dernière version de Device Update sous Ressources, téléchargez les images et manifestes d’importation des mises à jour du proxy.
Connectez-vous au portail Azure et accédez à votre hub IoT avec Device Update. Dans le volet gauche, sélectionnez Gestion des périphériques>Mises à jour.
Sélectionnez l’onglet Mises à jour.
Sélectionnez + Importer une nouvelle mise à jour.
Sélectionnez + Sélectionner dans le conteneur de stockage, puis choisissez votre conteneur et compte de stockage.
Sélectionnez Charger pour ajouter les fichiers que vous avez téléchargés à l’étape 1.
Chargez le manifeste d’importation parent, le manifeste d’importation enfant et les fichiers de charge utile dans votre conteneur.
L’exemple suivant montre des exemples de fichiers chargés pour mettre à jour des caméras connectées à un aspirateur intelligent. Il inclut également un script de pré-installation permettant de désactiver les caméras avant la mise à jour à distance.
Dans l’exemple, le manifeste d’importation parent est contoso.Virtual-Vacuum-virtual-camera.1.4.importmanifest.json. Le manifeste d’importation enfant contenant les détails de la mise à jour de la caméra est Contoso.Virtual-Vacuum.3.3.importmanifest.json. Les noms de fichier manifeste suivent tous les deux le format requis et se terminent par .importmanifest.json.
Choisissez Sélectionner.
L’interface utilisateur affiche maintenant la liste des fichiers qui seront importés vers Device Update. Sélectionnez Importer la mise à jour.
Le processus d’importation commence et l’écran passe à la section Historique d’importation. Sélectionnez Actualiser pour voir la progression jusqu’à la fin du processus d’importation. Selon la taille de la mise à jour, l’importation peut se terminer en quelques minutes ou durer plus longtemps.
Lorsque la colonne État indique que l’importation a réussi, sélectionnez l’onglet Mises à jour disponibles. Vous devez maintenant voir votre mise à jour importée dans la liste.
Pour plus d’informations sur le processus d’importation, consultez Importer une mise à jour vers Device Update.
Afficher les groupes d’appareils
Device Update utilise des groupes pour organiser les appareils. Device Update trie automatiquement les appareils en groupes en fonction des étiquettes et des propriétés de compatibilité qui leur sont attribuées. Chaque appareil appartient à un seul groupe, mais les groupes peuvent avoir plusieurs sous-groupes pour trier différentes classes d’appareils.
Accédez à l’onglet Groupes et déploiements en haut de la page.
Affichez la liste des groupes et le graphique de conformité de mise à jour. Le graphique de conformité des mises à jour montre le nombre d’appareils dans différents états de conformité : À la mise à jour la plus récente, Nouvelles mises à jour disponibles et Mises à jour en cours. En savoir plus sur la conformité des mises à jour.
Vous devez voir un groupe d’appareils qui contient l’appareil simulé que vous avez configuré dans ce tutoriel, ainsi que toutes les mises à jour disponibles pour les appareils du nouveau groupe. Si des appareils ne répondent pas aux exigences de classe d’appareil du groupe, ils apparaissent dans un groupe non valide correspondant. Pour déployer la meilleure mise à jour disponible sur le nouveau groupe défini par l’utilisateur à partir de cet affichage, sélectionnez Déployer à côté du groupe.
Pour plus d’informations sur les balises et les groupes, consultez Gérer des groupes d’appareils.
Déployer la mise à jour
Une fois le groupe créé, vous devriez voir une nouvelle mise à jour disponible pour votre groupe d’appareils, avec un lien vers cette mise à jour sous Meilleure mise à jour (vous devrez peut-être actualiser l’affichage une fois).
Pour plus d’informations sur la conformité, consultez Conformité des mises à jour d’appareils.
Sélectionnez le groupe cible en cliquant sur le nom du groupe. Vous êtes redirigé vers les détails du groupe sous Informations de base du groupe.
Pour démarrer le déploiement, accédez à l’onglet Déploiement actuel. Sélectionnez le lien de déploiement à côté de la mise à jour souhaitée dans la section Mises à jour disponibles. La meilleure mise à jour disponible pour un groupe donné est indiquée par la mention « Optimale ».
Planifiez le démarrage de votre déploiement (immédiat ou futur), puis sélectionnez Créer.
L’état sous Détails du déploiement doit passer à Actif, et la mise à jour déployée doit indiquer « (déploiement en cours) ».
Visualisez le graphique de conformité. Vous devez voir que la mise à jour est maintenant en cours.
Une fois votre appareil correctement mis à jour, vous voyez que votre graphique de conformité et les détails du déploiement sont mis à jour pour concorder.
Superviser le déploiement d’une mise à jour
Sélectionnez l’onglet Historique du déploiement en haut de la page.
Sélectionnez le lien Détails en regard du déploiement que vous avez créé.
Sélectionnez Actualiser pour voir les détails d’état les plus récents.
Vous avez maintenant réussi une mise à jour de bout en bout du proxy à l’aide de Device Update pour IoT Hub.
Nettoyer les ressources
Lorsque vous n’en avez plus besoin, nettoyez votre compte, instance, hub IoT et appareil IoT Device Update.