Partager via


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 adu-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 :

    1. Elle copie le fichier components-inventory.json et l’ajoute dans le dossier /usr/local/contoso-devices.

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

    3. Elle inscrit l’extension :

      sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
      
  2. Affichez et enregistrez la version logicielle des composants en utilisant la commande suivante pour configurer la machine virtuelle afin qu’elle prenne en charge les mises à jour du proxy :

    ~/demo/show-demo-components.sh
    

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. Notez que les noms de fichier manifeste suivent 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 d’aspirateur 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.

Apprenez-en davantage sur l’importation de mises à jour.

Créer un groupe de mises à jour

  1. Accédez à l’onglet Groupes et déploiements en haut de la page. Capture d’écran des appareils non groupés.

  2. Sélectionnez le bouton « Ajouter un groupe » pour créer un groupe. Capture d’écran de l’ajout d’un groupe d’appareils.

  3. Sélectionnez une étiquette IoT Hub et une classe d’appareil dans la liste, puis sélectionnez Créer un groupe. Capture d’écran de la sélection de l’étiquette.

  4. Une fois le groupe créé, vous voyez que la liste des groupes et le graphique de conformité des mises à jour ont été mis à 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 de la vue de conformité des mises à jour.

  5. Vous voyez maintenant le groupe que vous venez de créer ainsi que toutes les mises à jour disponibles pour les appareils dans le 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. Vous pouvez déployer la meilleure mise à jour disponible sur le nouveau groupe défini par l’utilisateur à partir de cette vue en cliquant sur le bouton « Déployer » en regard du groupe.

En savoir plus sur l’ajout d’étiquettes et la création de groupes de mises à jour

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). En savoir plus sur la conformité des mises à jour.

  2. Sélectionnez le groupe cible en cliquant sur le nom du groupe. Vous serez redirigé vers les détails du groupe sous Informations de base du groupe.

Détails du groupe

  1. Pour lancer le déploiement, accédez à l’onglet Déploiement actuel. Cliquez sur le lien de déploiement en regard 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 mettre à jour

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

Créer un déploiement

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

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

  2. Une fois votre appareil correctement mis à jour, vous devez voir votre graphique de conformité et les détails du déploiement refléter la même chose.

    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

Vous pouvez utiliser les tutoriels suivants pour une démonstration simple de Device Update pour IoT Hub :