Tutoriel : Device Update pour Azure IoT Hub avec l’agent de référence du simulateur Ubuntu (18.04 x64)

Device Update pour Azure IoT Hub prend en charge les mises à jour basées sur une image, un package et un script.

Les mises à jour basées sur une image offrent un niveau de confiance plus élevé pour l’état final de l’appareil. Il est généralement plus facile de répliquer les résultats d’une mise à jour d’image entre un environnement de préproduction et un environnement de production, car il ne pose pas les mêmes défis que les packages et leurs dépendances. En raison de leur nature atomique, il est facile d'adopter un modèle de basculement A/B.

Ce tutoriel vous guide tout au long des étapes permettant d’effectuer une mise à jour basée sur des images de bout en bout à l’aide de Device Update pour IoT Hub.

Dans ce tutoriel, vous apprendrez comment le faire :

  • Télécharger et installer une image.
  • Ajoutez une balise à votre appareil IoT.
  • Importez une mise à jour.
  • Créer un groupe d'appareils
  • Déployez une mise à jour d’image.
  • Supervisez le déploiement de la mise à jour.

Conditions préalables

Si ce n’est déjà fait, créez un compte et une instance Device Update et configurez un hub IoT.

Téléchargez le fichier zip nommé Tutorial_Simulator.zip à partir des ressources de mise en production dans la dernière version et décompressez-le.

Ajouter un appareil à Azure IoT Hub

Une fois l’agent Device Update exécuté sur un appareil IoT, vous devez ajouter l’appareil à IoT Hub. À partir d’IoT Hub, une chaîne de connexion est générée pour un appareil particulier.

  1. À partir du portail Azure, démarrez device Update pour IoT Hub.

  2. Créez un nouvel appareil.

  3. Dans le volet gauche, accédez à Appareils. Ensuite, cliquez sur Nouveau.

  4. Sous ID de périphérique, entrez un nom pour l’appareil. Assurez-vous que la case Générer automatiquement les clés est cochée.

  5. Cliquez sur Enregistrer.

  6. À présent, vous êtes redirigé vers la page Appareils et l’appareil que vous avez créé doit figurer dans la liste. Sélectionnez cet appareil.

  7. Dans l’affichage de l’appareil, sélectionnez l’icône Copier en regard de la chaîne de connexion principale.

  8. Collez les caractères copiés quelque part pour une utilisation ultérieure dans les étapes suivantes :

    Cette chaîne copiée est votre chaîne de connexion d’appareil.

Installer un agent Device Update pour le tester en tant que simulateur

  1. Suivez les instructions pour installer le runtime Azure IoT Edge.

    Remarque

    L’agent Device Update ne dépend pas d’IoT Edge. Mais il s’appuie sur le démon IoT Identity Service installé avec IoT Edge (1.2.0 et versions ultérieures) pour obtenir une identité et se connecter à IoT Hub.

    Bien qu’il ne soit pas abordé dans ce tutoriel, le démon Du service d’identité IoT peut être installé autonome sur les appareils IoT basés sur Linux. La séquence d’installation est importante. L’agent de package Device Update doit être installé après le service d’identité IoT. Sinon, l’agent de package ne sera pas inscrit en tant que composant autorisé pour établir une connexion à IoT Hub.

  2. Ensuite, installez les paquets .deb de l'agent de mise à jour de l'appareil.

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    
  3. Entrez le module de votre appareil IoT (ou appareil, selon la façon dont vous avez approvisionné l’appareil avec Device Update) chaîne de connexion principale dans le fichier de configuration en exécutant la commande suivante :

    sudo nano /etc/adu/du-config.json
    
  4. Configurez l’agent pour qu’il s’exécute comme un simulateur. Exécutez la commande suivante sur l’appareil IoT afin que l’agent Device Update appelle le gestionnaire de simulateur pour traiter une mise à jour de package avec APT ('microsoft/apt :1') :

    sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_simulator_1.so --update-type 'microsoft/apt:1'
    

    Pour inscrire et appeler le gestionnaire de simulateur, utilisez le format suivant, en remplissant les espaces réservés :

    sudo /usr/bin/AducIotAgent --register--content-handler <full path to the handler file> --update-type <update type name>

  5. Vous aurez besoin du fichier sample-du-simulator-data.json à partir du fichier téléchargé Tutorial_Simulator.zip dans les conditions préalables.

    Ouvrez le fichier sample-du-simulator-data.json et copiez le contenu dans le Presse-papiers :

    nano sample-du-simulator-data.json
    

    Sélectionnez le contenu du fichier, puis appuyez sur Ctrl+C. Appuyez sur Ctrl+X pour fermer le fichier et n’enregistrez pas les modifications.

    Exécutez la commande suivante pour créer et modifier le du-simulator-data.json fichier dans le dossier tmp :

    sudo nano /tmp/du-simulator-data.json
    

    Appuyez sur Ctrl+V pour coller le contenu dans l’éditeur. Sélectionnez Ctrl+X pour enregistrer les modifications, puis Y.

    Modifier les autorisations :

    sudo chown adu:adu /tmp/du-simulator-data.json
    sudo chmod 664 /tmp/du-simulator-data.json
    

    Si /tmp n’existe pas, puis :

     sudo mkdir/tmp
     sudo chown root:root/tmp
     sudo chmod 1777/tmp
    
  6. Redémarrez l’agent Device Update en exécutant la commande suivante :

     sudo systemctl restart adu-agent
    

Le logiciel Device Update pour Azure IoT Hub est soumis aux termes du contrat de licence suivant :

Lisez les termes du contrat de licence avant d’utiliser l’agent. Votre installation et votre utilisation constituent votre acceptation de ces conditions. Si vous n’êtes pas d’accord avec les termes du contrat de licence, n’utilisez pas l’agent Device Update pour IoT Hub.

Remarque

Après votre test avec le simulateur, exécutez la commande suivante pour appeler le gestionnaire APT et déployer des mises à jour du package over-the-air :

# sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/a pt:1'

Ajouter une étiquette à votre appareil

  1. Connectez-vous au portail Azure et accédez à votre hub IoT.

  2. Dans le volet gauche des appareils, recherchez votre appareil IoT et accédez au jumeau d’appareil ou au jumeau de module.

  3. Dans le jumeau de module du module d’agent Device Update, supprimez toutes les valeurs d’étiquette Device Update existantes en leur affectant la valeur Null. Si vous utilisez l’identité de l’appareil avec un agent Device Update, apportez ces modifications sur le jumeau d’appareil.

  4. Ajoutez une nouvelle valeur d’étiquette Device Update comme indiqué ci-dessous :

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                }
    

Importer la mise à jour

  1. Vous aurez besoin des fichiers TutorialImportManifest_Sim.importmanifest.json et adu-update-image-raspberrypi3.swu dans l'Tutorial_Simulator.zip téléchargé parmi les prérequis. Le fichier de mise à jour est réutilisé à partir du tutoriel Raspberry Pi. Étant donné que la mise à jour est simulée dans ce tutoriel, le contenu du fichier spécifique n’a pas d’importance.

  2. Connectez-vous au portail Azure et accédez à votre hub IoT avec Device Update. Dans le volet gauche, sous Gestion automatique des appareils, sélectionnez 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. Sélectionnez un compte existant ou créez-en un en utilisant + Compte de stockage. Sélectionnez ensuite un conteneur existant ou créez-en un en utilisant + Conteneur. Ce conteneur sera utilisé pour préparer vos fichiers de mise à jour pour l’importation.

    Remarque

    Nous vous recommandons d’utiliser un nouveau conteneur chaque fois que vous importez une mise à jour pour éviter d’importer accidentellement des fichiers à partir de mises à jour précédentes. Si vous n’utilisez pas un nouveau conteneur, veillez à supprimer tous les fichiers du conteneur existant avant de terminer cette étape.

    Capture d’écran illustrant Comptes de stockage et Conteneurs.

  6. Dans votre conteneur, sélectionnez Charger et accédez aux fichiers que vous avez téléchargés à l’étape 1. Une fois que vous avez sélectionné tous vos fichiers de mise à jour, sélectionnez Charger. Sélectionnez ensuite le bouton Sélectionner pour revenir à la page Importer la mise à jour.

    Capture d’écran illustrant la sélection de fichiers chargés.

    Cette capture d’écran montre l’étape d’importation. Les noms de fichiers peuvent ne pas correspondre à ceux utilisés dans l’exemple.

  7. Sur la page Importer la mise à jour, passez en revue les fichiers à importer. Sélectionnez ensuite Importer la mise à jour pour démarrer le processus d’importation.

    Capture d’écran montrant La mise à jour d’importation.

  8. Le processus d’importation commence et l’écran passe à la section Historique d’importation. Quand la colonne État indique que l’importation a réussi, sélectionnez l’en-tête Mises à jour disponibles. Vous devez maintenant voir votre mise à jour importée dans la liste.

    Capture d’écran du status de la tâche.

En savoir plus sur l’importation des mises à jour.

Créer un groupe de mise à jour

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

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

  2. Sélectionnez puis choisissez l'option pour ajouter un nouveau groupe.

    Capture d’écran montrant l’ajout de groupe d’appareils.

  3. Sélectionnez une balise IoT Hub et une classe d’appareil dans la liste. Sélectionnez ensuite Créer un groupe.

    Capture d’écran montrant la sélection d’étiquettes.

  4. Une fois le groupe créé, le graphique de conformité de mise à jour et la liste des groupes sont 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 illustrant l’affichage de conformité des mises à jour.

  5. Vous devez voir votre groupe nouvellement créé et 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.

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

Déployer la mise à jour

  1. Une fois le groupe créé, vous devez voir une nouvelle mise à jour disponible pour votre groupe d’appareils. Un lien vers la mise à jour doit être sous Meilleure mise à jour. Vous devrez peut-être actualiser une fois. En savoir plus sur la conformité des mises à jour.

  2. Sélectionnez le groupe cible en sélectionnant le nom du groupe. Vous êtes dirigé vers les détails du groupe sous Principes de base du groupe.

    Capture d’écran illustrant les 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 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.

    Capture d’écran illustrant la sélection d’une mise à jour.

  4. Planifiez votre déploiement pour qu’il démarre immédiatement ou plus tard. Sélectionnez ensuite Créer.

    Capture d’écran montrant Créer un déploiement.

  5. Sous Détails du déploiement, État devient Actif. La mise à jour déployée est marquée avec la mention (déploiement en cours).

    Capture d’écran montrant que le déploiement est actif.

  6. Affichez le graphique de conformité pour 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.

    Capture d’écran montrant La mise à jour a réussi.

Surveiller le déploiement de la mise à jour

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

    Capture d’écran illustrant Historique du déploiement.

  2. Sélectionnez Détails à côté du déploiement que vous avez créé.

    Capture d’écran illustrant 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 à effectuer une mise à jour d’image de bout en bout en utilisant Device Update pour IoT Hub avec l’agent de référence du simulateur Ubuntu (18.04 x64).

Nettoyer les ressources

Quand vous n’en avez plus besoin, nettoyez votre compte Device Update, votre instance, votre hub IoT et votre appareil IoT.

Étapes suivantes