Partager via


Démarrage rapide : Déployer votre premier module de IoT Edge sur un appareil Windows

S'applique à :IoT Edge 1.5 cocher IoT Edge 1.5

Important

IoT Edge 1.5 LTS est la version prise en charge. IoT Edge 1,4 LTS a atteint la fin de vie le 12 novembre 2024. Si vous utilisez une version antérieure, consultez Update IoT Edge.

Testez Azure IoT Edge avec ce guide rapide en déployant du code conteneurisé sur un appareil Windows IoT Edge exécutant Linux. IoT Edge vous permet de gérer à distance le code sur vos appareils afin de pouvoir envoyer davantage de charges de travail à la périphérie. Pour ce guide de démarrage rapide, il est recommandé d'utiliser votre propre appareil client Windows pour voir comment il est facile d'utiliser Azure IoT Edge pour Linux sur Windows. Si vous souhaitez utiliser Windows Server ou une machine virtuelle Azure pour créer votre déploiement, suivez les étapes décrites dans le guide pratique sur 'installation et l’approvisionnement de Azure IoT Edge pour Linux sur un appareil Windows.

Dans ce guide de démarrage rapide, vous apprenez à :

  • Créez un hub IoT.
  • Inscrivez un appareil IoT Edge sur votre hub IoT.
  • Installez et démarrez le IoT Edge pour Linux sur Windows runtime sur votre appareil.
  • Déployez à distance un module sur un appareil IoT Edge et envoyez des données de télémétrie.

Diagramme illustrant l’architecture de ce guide de démarrage rapide pour votre appareil et votre cloud.

Ce guide de démarrage rapide vous guide tout au long de la configuration de votre Azure IoT Edge pour Linux sur Windows appareil. Ensuite, vous déployez un module à partir du portail Azure sur votre appareil. Le module que vous utilisez est un capteur simulé qui génère des données de température, d’humidité et de pression. D’autres didacticiels Azure IoT Edge s’appuient sur le travail que vous effectuez ici en déployant des modules qui analysent les données simulées pour les insights métier.

Si vous n'avez pas d'abonnement actif Azure, créez un compte free avant de commencer.

Prérequis

Préparez votre environnement pour la Azure CLI.

Créez un groupe de ressources cloud pour gérer toutes les ressources que vous utilisez dans ce guide de démarrage rapide.

az group create --name IoTEdgeResources --location westus2

Vérifiez que votre appareil IoT Edge répond aux exigences suivantes :

  • Configuration système requise

    • Windows 101/11 (Pro, Enterprise, IoT Enterprise) 1 Windows 10 build minimale 17763 avec toutes les mises à jour cumulatives actuelles installées.
  • Configuration matérielle requise

    • Mémoire libre minimale : 1 Go
    • Espace disque disponible minimal : 10 Go

Créer un hub IoT

Commencez par créer un hub IoT à l’aide de la Azure CLI.

Diagramme illustrant l’étape de création d’un hub IoT.

Le niveau gratuit de Azure IoT Hub fonctionne pour ce guide de démarrage rapide. Si vous avez déjà utilisé IoT Hub et que vous disposez d’un hub, vous pouvez utiliser cet IoT Hub.

Le code suivant crée un hub F1 gratuit dans le groupe de ressources IoTEdgeResources. Remplacez {hub_name} par un nom unique pour votre hub IoT. La création de votre hub IoT peut prendre plusieurs minutes.

az iot hub create --resource-group IoTEdgeResources --name {hub_name} --sku F1 --partition-count 2

Si vous obtenez une erreur parce que vous disposez déjà d’un hub gratuit dans votre abonnement, remplacez la référence SKU par S1. Si vous recevez une erreur indiquant que le nom du hub IoT n’est pas disponible, cela signifie que quelqu’un d’autre a déjà un hub portant ce nom. Essayez avec un autre nom.

Inscrire un appareil IoT Edge

Inscrivez un appareil IoT Edge auprès de votre hub IoT nouvellement créé.

Diagramme montrant l’étape d’inscription d’un appareil avec une identité de hub IoT.

Créez une identité d’appareil pour votre appareil simulé afin qu’il puisse communiquer avec votre IoT Hub. L’identité de l’appareil réside dans le cloud et vous utilisez une chaîne de connexion unique pour l'appareil pour associer un appareil physique à une identité d’appareil.

IoT Edge appareils se comportent et peuvent être gérés différemment des appareils IoT classiques. Utilisez l’indicateur --edge-enabled pour déclarer que cette identité concerne un appareil IoT Edge.

  1. Dans Azure Cloud Shell, entrez la commande suivante pour créer un appareil nommé myEdgeDevice dans votre hub.

    az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name {hub_name}
    

    Si vous recevez une erreur concernant les clés de stratégie iothubowner, vérifiez que Cloud Shell utilise la dernière version de l’extension Azure IoT.

  2. Affichez la chaîne de connexion de votre appareil, qui lie votre appareil physique à son identité dans IoT Hub. Elle contient le nom de votre hub IoT, le nom de votre appareil et une clé partagée qui authentifie les connexions entre les deux.

    az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
    
  3. Copiez la valeur de la clé connectionString à partir de la sortie JSON et enregistrez-la. Cette valeur est la chaîne de connexion d'appareil. Utilisez-le pour configurer le runtime IoT Edge dans la section suivante.

    Par exemple, votre connection string doit ressembler à HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE_SHARED_ACCESS_KEY>.

Installer et démarrer le runtime IoT Edge

Installez IoT Edge pour Linux sur Windows sur votre appareil et configurez-le avec la chaîne de connexion de l'appareil.

Diagramme montrant l’étape de démarrage du runtime IoT Edge.

Exécutez les commandes PowerShell suivantes sur l’appareil cible où vous souhaitez déployer Azure IoT Edge pour Linux sur Windows. Pour déployer sur un appareil cible distant à l’aide de PowerShell, utilisez PowerShell distant pour établir une connexion à un appareil distant et exécuter ces commandes à distance sur cet appareil.

  1. Dans une session PowerShell avec élévation de privilèges, exécutez la commande suivante pour activer Hyper-V. Pour plus d’informations, consultez Hyper-V sur Windows 10.

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
    
  2. Dans une session PowerShell avec élévation de privilèges, exécutez chacune des commandes suivantes pour télécharger IoT Edge pour Linux sur Windows.

    • X64/AMD64

      $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
      $ProgressPreference = 'SilentlyContinue'
      Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_5_LTS_X64" -OutFile $msiPath
      
    • ARM64

      $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
      $ProgressPreference = 'SilentlyContinue'
      Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_5_LTS_ARM64" -OutFile $msiPath
      
  3. Installez IoT Edge pour Linux sur Windows sur votre appareil.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    
  4. Définissez la stratégie d’exécution sur l’appareil AllSigned cible si ce n’est pas déjà fait. Vous pouvez vérifier la stratégie d’exécution actuelle dans une invite PowerShell avec élévation de privilèges en utilisant :

    Get-ExecutionPolicy -List
    

    Si la stratégie d'exécution de local machine n'est pas AllSigned, définissez-la à l'aide de la commande suivante :

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    
  5. Créez le déploiement IoT Edge pour Linux sur Windows.

    Deploy-Eflow
    
  6. Entrez Y pour accepter les termes du contrat de licence.

  7. Entrez O ou R pour activer ou désactiver les données de diagnostic facultatives , selon vos préférences. Un déploiement réussi est illustré dans l’image suivante.

    Capture d’écran montrant qu’un déploiement réussi indique « Déploiement effectué » à la fin des messages dans la console.

  8. Configurez votre appareil à l’aide de la chaîne de connexion de l’appareil que vous avez récupérée dans la section précédente. Remplacez le texte de l’espace réservé par votre propre valeur.

    Provision-EflowVm -provisioningType ManualConnectionString -devConnString "<CONNECTION_STRING_HERE>"
    

Votre appareil IoT Edge est maintenant configuré. Il est prêt à exécuter les modules déployés dans le cloud.

Déployer un module

Gérez votre appareil Azure IoT Edge à partir du cloud pour déployer un module qui envoie des données de télémétrie à IoT Hub.

Diagramme illustrant l’étape de déploiement d’un module.

L’une des principales fonctionnalités de Azure IoT Edge déploie du code sur vos appareils IoT Edge à partir du cloud. IoT Edge modules sont des packages exécutables implémentés en tant que conteneurs. Dans cette section, vous allez déployer un module prédéfini à partir de la section modules IoT Edge de Microsoft Artifact Registry.

Le module que vous déployez dans cette section simule un capteur et envoie les données générées. Ce module est un élément de code utile lorsque vous commencez à utiliser IoT Edge, car vous pouvez utiliser les données simulées pour le développement et le test. Si vous souhaitez voir exactement ce que fait ce module, vous pouvez afficher le code source du capteur de température simulé.

Effectuez ces étapes pour déployer votre premier module.

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

  2. Dans le menu de gauche, sélectionnez Appareils sous le menu Gestion des appareils.

  3. Sélectionnez l’ID de l’appareil cible dans la liste des appareils.

    Note

    Lorsque vous créez un appareil IoT Edge, il affiche le code d’état 417 -- The device's deployment configuration is not set dans le portail Azure. Cet état est normal et signifie que l’appareil est prêt à recevoir un déploiement de module.

  4. Dans la barre supérieure, sélectionnez Définir des modules.

    Choisissez les modules que vous souhaitez exécuter sur votre appareil. Vous pouvez choisir parmi les modules que vous avez déjà créés, les modules de Microsoft Artifact Registry ou les modules que vous avez créés vous-même. Dans ce guide de démarrage rapide, vous déployez un module à partir du Registre Microsoft Artifact.

  5. Dans la section IoT Edge modules, sélectionnez Add puis choisissez IoT Edge Module.

  6. Mettez à jour les paramètres de module suivants :

    Paramètre Valeur
    Nom du module IoT SimulatedTemperatureSensor
    URI d’image mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latest
    Stratégie de redémarrage toujours
    État souhaité exécution en cours
  7. Sélectionnez Suivant : Itinéraires pour continuer à configurer des itinéraires.

  8. Ajoutez un itinéraire qui envoie tous les messages du module de température simulée à IoT Hub.

    Paramètre Valeur
    Nom SimulatedTemperatureSensorToIoTHub
    Valeur FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
  9. Sélectionnez Suivant : Vérifier + créer.

  10. Passez en revue le fichier JSON, puis sélectionnez Créer. Le fichier JSON définit tous les modules que vous déployez sur votre appareil IoT Edge.

    Note

    Lorsque vous envoyez un nouveau déploiement à un appareil IoT Edge, rien n’est envoyé à votre appareil. Au lieu de cela, l’appareil interroge IoT Hub régulièrement pour obtenir de nouvelles instructions. Si l’appareil trouve un manifeste de déploiement mis à jour, il utilise les informations sur le nouveau déploiement pour extraire les images de module à partir du cloud, puis commence à exécuter les modules localement. Ce processus peut prendre plusieurs minutes.

Une fois que vous avez créé les détails de déploiement du module, l’assistant vous renvoie à la page de détails de l’appareil. Visualisez l’état du déploiement sous l’onglet Modules.

Vous devez voir trois modules : $edgeAgent, $edgeHub et SimulatedTemperatureSensor. Si un ou plusieurs modules ont Yes sous Specified in Deployment mais pas sous Reported by Device, votre appareil IoT Edge les démarre toujours. Attendez quelques minutes, puis actualisez la page.

Capture d’écran montrant le capteur de température simulé (SimulatedTemperatureSensor) dans la liste des modules déployés.

Si vous rencontrez des problèmes lors du déploiement de modules, consultez Dépanner les appareils IoT Edge dans le portail Azure.

Afficher les données générées

Dans ce guide de démarrage rapide, vous avez créé un nouvel appareil IoT Edge et installé le runtime IoT Edge sur celui-ci. Ensuite, vous avez utilisé le portail Azure pour déployer un module IoT Edge à exécuter sur l’appareil sans avoir à apporter de modifications à l’appareil lui-même.

Le module que vous envoyez génère des exemples de données d’environnement que vous pouvez utiliser ultérieurement pour les tests. Le capteur simulé surveille à la fois une machine et l’environnement autour de la machine. Par exemple, ce capteur peut être installé dans une salle de serveurs, dans une usine ou sur une éolienne. Les messages qu’il envoie incluent la température et l’humidité ambiantes, la température et la pression de la machine ainsi qu’un horodatage. IoT Edge didacticiels utilisent les données créées par ce module comme données de test pour l’analytique.

  1. Connectez-vous à votre IoT Edge pour Linux sur Windows machine virtuelle à l’aide de la commande suivante dans votre session PowerShell :

    Connect-EflowVm
    

    Note

    Le seul compte autorisé à accéder via SSH à la machine virtuelle est celui de l’utilisateur qui l’a créée.

  2. Après vous être connecté, consultez la liste des modules d’exécution IoT Edge à l’aide de la commande Linux suivante :

    sudo iotedge list
    

    Capture d’écran montrant où vérifier que vos modules de capteur de température, d’agent et de hub sont en cours d’exécution.

  3. Affichez les messages envoyés du module capteur de température vers le cloud à l’aide de la commande Linux suivante :

    sudo iotedge logs SimulatedTemperatureSensor -f
    

    Capture d’écran montrant les journaux de sortie du module Capteur de température simulé quand il est en cours d’exécution.

    Conseil

    Les commandes IoT Edge respectent la casse lorsqu’elles font référence aux noms de module.

Nettoyer les ressources

Si vous souhaitez passer aux didacticiels IoT Edge, ignorez cette étape. Vous pouvez utiliser l’appareil que vous avez inscrit et configuré dans le cadre de ce guide de démarrage rapide. Sinon, supprimez les ressources Azure que vous avez créées pour éviter les frais.

Si vous avez créé votre machine virtuelle et votre hub IoT dans un nouveau groupe de ressources, supprimez ce groupe et toutes les ressources associées. Si vous ne souhaitez pas supprimer l’ensemble du groupe, supprimez plutôt des ressources individuelles.

Important

Vérifiez le contenu du groupe de ressources pour être certain que vous ne voulez rien en conserver. La suppression d’un groupe de ressources est irréversible.

Utilisez la commande suivante pour supprimer le groupe IoTEdgeResources. La suppression peut prendre quelques minutes.

az group delete --name IoTEdgeResources

Vous pouvez vérifier que le groupe de ressources est supprimé en consultant la liste des groupes de ressources à l’aide de cette commande.

az group list

Désinstaller IoT Edge pour Linux sur Windows

Pour supprimer l'installation d'Azure IoT Edge pour Linux sur Windows de votre appareil, procédez comme suit.

  1. Ouvrez Settings sur Windows.
  2. Sélectionnez Ajout/Suppression de programmes.
  3. Sélectionnez l’application Azure IoT Edge.
  4. Sélectionnez Désinstaller.

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez créé un appareil IoT Edge et utilisé l’interface cloud Azure IoT Edge pour déployer du code sur l’appareil. Vous avez désormais un appareil de test générant des données brutes sur son environnement.

Dans le tutoriel suivant, vous allez apprendre à surveiller l’activité et l’intégrité de votre appareil à partir du portail Azure.