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

  1. 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
    
  2. 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>
    
  3. 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.

  4. 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
    }
    
  5. 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.

  1. 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.

  1. À 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.

  2. 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.

  3. Sélectionnez l’onglet Mises à jour.

  4. Sélectionnez + Importer une nouvelle mise à jour.

  5. Sélectionnez + Sélectionner dans le conteneur de stockage, puis choisissez votre conteneur et compte de stockage.

    Capture d’écran montrant le bouton permettant de sélectionner l’importation à partir d’un conteneur de stockage.

  6. Sélectionnez Charger pour ajouter les fichiers que vous avez téléchargés à l’étape 1.

  7. 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.

    Capture d’écran montrant des exemples de fichiers chargés pour mettre à jour des caméras connectées à un appareil de nettoyage intelligent.

  8. Choisissez Sélectionner.

  9. L’interface utilisateur affiche maintenant la liste des fichiers qui seront importés vers Device Update. Sélectionnez Importer la mise à jour.

    Capture d’écran montrant les fichiers répertoriés et le bouton d’importation d’une mise à jour.

  10. 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.

  11. 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.

    Capture d’écran montrant la mise à jour importée ajoutée à 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.

  1. Accédez à l’onglet Groupes et déploiements en haut de la page.

    Capture d’écran illustrant des appareils dissociés.

  2. 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.

    Capture d’écran illustrant l’affichage de conformité des mises à jour.

  3. 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

  1. 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.

  2. 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.

    Détails du groupe

  3. 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 ».

    Sélectionner la mise à jour

  4. Planifiez le démarrage de votre déploiement (immédiat ou futur), puis sélectionnez Créer.

    Créer un déploiement

  5. L’état sous Détails du déploiement doit passer à Actif, et la mise à jour déployée doit indiquer « (déploiement en cours) ».

    Déploiement actif

  6. Visualisez le graphique de conformité. Vous devez voir que la mise à jour est maintenant en cours.

  7. 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.

    Mise à jour réussie

Superviser le déploiement d’une mise à jour

  1. Sélectionnez l’onglet Historique du déploiement en haut de la page.

    Historique des déploiements

  2. Sélectionnez le lien Détails en regard du déploiement que vous avez créé.

    Détails du déploiement

  3. 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.

Étapes suivantes