Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :
IoT Edge 1.5
Important
IoT Edge 1.5 LTS est la version prise en charge. IoT Edge 1.4 LTS est en fin de vie depuis le 12 novembre 2024. Si vous utilisez une version antérieure, consultez l’article Mettre à jour IoT Edge.
Essayez Azure IoT Edge dans ce guide de démarrage rapide en déployant du code conteneurisé sur un appareil IoT Edge Linux virtuel. 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, utilisez une machine virtuelle Azure pour votre appareil IoT Edge. Il vous permet de créer rapidement une machine de test et de la supprimer lorsque vous avez terminé.
Dans ce guide de démarrage rapide, vous apprenez à :
- Créez un IoT Hub.
- Inscrivez un appareil IoT Edge dans votre IoT Hub.
- Installez et démarrez le runtime IoT Edge sur un appareil virtuel.
- Déployez un module à distance sur un appareil IoT Edge.
Ce guide de démarrage rapide vous explique comment créer une machine virtuelle Linux configurée pour être un appareil IoT Edge. Ensuite, vous déployez un module depuis le portail Azure vers votre appareil. Ce guide de démarrage rapide utilise un module de capteur simulé qui génère des données de température, d’humidité et de pression. Les autres tutoriels Azure IoT Edge s’appuient sur le travail que vous effectuez ici en déployant des modules supplémentaires qui analysent les données simulées des insights métier.
Si vous n’avez pas d’abonnement Azure actif, créez un compte gratuit avant de commencer.
Prérequis
Configurez votre environnement pour Azure CLI.
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour obtenir plus d’informations, consultez Démarrage d’Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour obtenir d’autres options de connexion, consultez S’authentifier auprès d’Azure à l’aide d’Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser et gérer des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
Un groupe de ressources permettant de gérer toutes les ressources que vous utilisez lors de ce démarrage rapide. Ce guide de démarrage rapide et les didacticiels suivants utilisent l’exemple de nom de groupe de ressources IoTEdgeResources.
az group create --name IoTEdgeResources --location westus2
Créer un hub IoT
Démarrez le démarrage rapide en créant un Hub IoT avec Azure CLI.
Le niveau gratuit d’IoT Hub fonctionne pour ce guide de démarrage rapide. Si vous avez utilisé IoT Hub par le passé et que vous avez créé un hub, vous pouvez utiliser ce hub IoT.
Le code suivant crée un hub gratuit F1 dans le groupe de ressources IoTEdgeResources. Remplacez par <hub-name> un nom unique pour votre IoT Hub. La création d’un hub IoT peut prendre quelques minutes.
az iot hub create --resource-group IoTEdgeResources --name <hub-name> --sku F1 --partition-count 2
Si vous obtenez une erreur, car il existe déjà un Hub IoT gratuit dans votre abonnement, remplacez la référence SKU par S1. Chaque abonnement peut avoir uniquement un IoT hub gratuit. 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.
Enregistrer un appareil IoT Edge
Inscrivez un appareil IoT Edge auprès du hub IoT que vous venez de créer.
Créez une identité d’appareil pour votre appareil IoT Edge afin qu’il puisse communiquer avec votre IoT Hub. L’identité d’appareil se trouve dans le cloud, et une chaîne unique de connexion d’appareil vous permet d’associer un appareil physique à une identité d’appareil.
Étant donné que les appareils IoT Edge se comportent et sont gérés différemment des appareils IoT classiques, déclarez cette identité en tant qu’appareil IoT Edge à l’aide de l’indicateur --edge-enabled .
Entrez la commande suivante dans Azure Cloud Shell 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 , assurez-vous que Cloud Shell exécute la dernière version de l’extension azure-iot .
Vérifiez la chaîne de connexion de votre appareil, qui lie l’appareil physique à son identité dans IoT Hub. Il inclut le nom de votre IoT Hub, le nom de votre appareil et une clé partagée qui authentifie les connexions entre eux. Vous utilisez à nouveau cette chaîne de connexion dans la section suivante pour configurer votre appareil IoT Edge.
az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <hub-name>Par exemple, la chaîne de connexion doit ressembler à
HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE-SHARED-ACCESS-KEY>.
Configurer votre appareil IoT Edge
Créez une machine virtuelle avec le runtime Azure IoT Edge.
Le runtime IoT Edge est déployé sur tous les appareils IoT Edge et a trois composants. Le démon de sécurité IoT Edge démarre chaque fois qu’un appareil IoT Edge démarre et amorce l’appareil en démarrant l’agent IoT Edge. L’agent IoT Edge facilite le déploiement et la surveillance des modules sur l’appareil IoT Edge, notamment le hub IoT Edge. Le hub IoT Edge gère les communications entre les modules sur l’appareil IoT Edge et entre l’appareil et IoT Hub.
Pendant la configuration du runtime, fournissez une chaîne de connexion d’appareil. Cette chaîne est récupérée à partir d’Azure CLI. Cette chaîne associe votre appareil physique à l’identité d’appareil IoT Edge dans Azure.
Déployer l’appareil IoT Edge
Cette section utilise un modèle Azure Resource Manager pour créer une machine virtuelle et y installer le runtime IoT Edge. Pour utiliser votre propre appareil Linux à la place, vous pouvez suivre les étapes d’installation indiquées dans Provisionner manuellement un appareil Linux IoT Edge, puis revenir à ce guide de démarrage rapide.
Utilisez le bouton Déployer sur Azure ou les commandes CLI pour créer un appareil IoT Edge basé sur le modèle prédéfini iotedge-vm-deploy .
Déployez à l’aide du modèle Azure Resource Manager IoT Edge.
Si vous utilisez Bash ou Cloud Shell, copiez la commande suivante dans un éditeur de texte, remplacez le texte d’espace réservé par vos informations, puis collez la commande dans votre fenêtre Bash ou Cloud Shell :
az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \ --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' \ --parameters adminUsername='azureUser' \ --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) \ --parameters authenticationType='password' \ --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"Si vous utilisez PowerShell, copiez la commande suivante dans votre fenêtre PowerShell, puis remplacez le texte des espaces réservés par vos propres informations :
az deployment group create ` --resource-group IoTEdgeResources ` --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" ` --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' ` --parameters adminUsername='azureUser' ` --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) ` --parameters authenticationType='password' ` --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
Ce modèle prend les paramètres suivants :
| Paramètre | Description |
|---|---|
| resource-group | Groupe de ressources dans lequel les ressources sont créées. Utilisez le nom IoTEdgeResources par défaut que nous avons utilisé dans cet article ou fournissez le nom d’un groupe de ressources existant dans votre abonnement. |
| template-uri | Pointeur vers le modèle Resource Manager que nous utilisons. |
| dnsLabelPrefix | Chaîne utilisée pour créer le nom d’hôte de la machine virtuelle. Remplacez le texte de l’espace réservé par le nom de votre machine virtuelle. |
| adminUsername | Nom d’utilisateur du compte administrateur de la machine virtuelle. Utilisez l’exemple azureUser ou indiquez un nouveau nom d’utilisateur. |
| deviceConnectionString | Chaîne de connexion de l’identité d’appareil dans IoT Hub, qui est utilisée pour configurer le runtime IoT Edge sur la machine virtuelle. La commande CLI dans ce paramètre récupère la chaîne de connexion pour vous. Remplacez le texte de l’espace réservé par le nom de votre hub IoT. |
| authenticationType | Méthode d’authentification pour le compte administrateur. Ce guide de démarrage rapide utilise l’authentification par mot de passe (password), mais vous pouvez également définir ce paramètre sur sshPublicKey. |
| adminPasswordOrKey | Mot de passe ou valeur de la clé SSH pour le compte administrateur. Remplacez le texte de l’espace réservé par un mot de passe sécurisé. Votre mot de passe doit comporter au moins 12 caractères, choisis dans trois des quatre catégories suivantes : caractères minuscules, caractères majuscules, chiffres et caractères spéciaux. |
Une fois le déploiement terminé, la sortie au format JSON dans l’interface CLI contient les informations SSH pour se connecter à la machine virtuelle. Copiez la valeur de l’entrée public SSH de la section outputs. Par exemple, votre commande SSH devrait ressembler à ssh azureUser@edge-vm.westus2.cloudapp.azure.com.
Afficher l’état du runtime IoT Edge
Les autres commandes de ce guide sont exécutées sur votre appareil IoT Edge lui-même, afin que vous puissiez voir ce qui s’y passe concrètement. Si vous utilisez une machine virtuelle, connectez-vous maintenant à celle-ci à l’aide du nom d’utilisateur administrateur que vous avez configuré et du nom DNS qui a été généré par la commande de déploiement. Vous pouvez également trouver le nom DNS dans la page Vue d’ensemble de la machine virtuelle dans le portail Azure. Utilisez la commande suivante pour vous connecter à votre machine virtuelle. Remplacez <admin-username> et <DNS-name> par vos propres valeurs.
ssh <admin-username>@<DNS-name>
Une fois connecté à votre machine virtuelle, vérifiez que le runtime a été correctement installé et configuré sur votre appareil IoT Edge.
Vérifiez si IoT Edge est en cours d’exécution. La commande suivante retourne l’état Ok si IoT Edge est en cours d’exécution ou fournit des erreurs de service.
sudo iotedge system statusConseil
Vous avez besoin de privilèges élevés pour exécuter les commandes
iotedge. Une fois que vous vous déconnectez de votre machine et que vous vous reconnectez pour la première fois après avoir installé le runtime IoT Edge, vos autorisations sont automatiquement mises à jour. Dans l’intervalle, ajoutezsudodevant les commandes.Si vous avez besoin de résoudre les problèmes du service, récupérez les journaux d’activité de ce dernier.
sudo iotedge system logsAffichez tous les modules s’exécutant sur votre appareil IoT Edge. Comme le service vient de démarrer pour la première fois, vous devez uniquement voir le module edgeAgent en cours d’exécution. Le module edgeAgent s’exécute par défaut et vous aide à installer et démarrer tous les modules supplémentaires que vous déployez sur votre appareil.
sudo iotedge list
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 d’appareil à IoT Hub.
Une fonctionnalité clé d’Azure IoT Edge déploie du code sur vos appareils IoT Edge à partir du cloud. Les modules IoT Edge sont des packages exécutables implémentés en tant que conteneurs. Dans cette section, vous déployez 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 s’avère être un extrait de code utile quand vous prenez en main IoT Edge, car vous pouvez utiliser les données simulées à des fins de développement et de test. Si vous souhaitez voir exactement ce que fait ce module, vous pouvez afficher le code source du capteur de température simulé.
Procédez comme suit pour déployer votre premier module.
Connectez-vous au portail Azure et accédez à votre IoT Hub.
Dans le menu de gauche, sous Gestion des appareils, sélectionnez Appareils.
Sélectionnez l’ID d’appareil de l’appareil IoT Edge cible dans la liste.
Lorsque vous créez un appareil IoT Edge, il affiche le code
417 -- The device's deployment configuration is not setd’état dans le portail Azure. Cet état est normal et signifie que l’appareil est prêt à recevoir un déploiement de module.Dans la barre supérieure, sélectionnez Définir des modules.
Sélectionnez les modules que vous souhaitez exécuter sur votre appareil. Vous pouvez choisir parmi les modules que vous avez créés vous-même ou des images dans un registre de conteneurs. Dans ce guide de démarrage rapide, vous déployez un module à partir du registre de conteneurs Microsoft.
Dans la section Modules IoT Edge, sélectionnez Ajouter, puis choisissez Module IoT Edge.
Mettez à jour les paramètres de module suivants :
Paramètre Valeur Nom du module IoT SimulatedTemperatureSensorURI d’image mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latestStratégie de redémarrage toujours État souhaité exécution en cours Sélectionnez Suivant : Itinéraires pour continuer à configurer des itinéraires.
Ajoutez une route qui envoie tous les messages du module de température simulé à IoT Hub.
Paramètre Valeur Nom SimulatedTemperatureSensorToIoTHubValeur FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstreamSélectionnez Suivant : Vérifier + créer.
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.
Notes
Quand vous envoyez un nouveau déploiement à un appareil IoT Edge, rien n’est envoyé en mode push à votre appareil. Au lieu de cela, l’appareil interroge régulièrement IoT Hub pour connaître les nouvelles instructions. Si l’appareil détecte 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 localement les modules. 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 la valeur Oui apparaît dans la colonne Spécifié dans le déploiement mais pas dans la colonne Signalé par l’appareil pour un ou plusieurs modules, cela signifie que votre appareil IoT Edge est encore en train de les démarrer. Attendez quelques minutes, puis actualisez la page.
Si vous rencontrez des problèmes de déploiement de modules, apprenez-en davantage sur la résolution des problèmes liés aux appareils IoT Edge à partir du portail Azure.
Afficher les données générées
Dans ce guide de démarrage rapide, vous créez un appareil IoT Edge et installez le runtime IoT Edge sur celui-ci. Ensuite, vous utilisez le portail Azure pour déployer un module IoT Edge pour s’exécuter sur l’appareil sans apporter de modifications à l’appareil lui-même.
Dans ce cas, le module que vous avez envoyé (push) génère des exemples de données d’environnement que vous pouvez utiliser pour les tests ultérieurement. Le capteur simulé surveille à la fois une machine et l’environnement de la machine. Par exemple, ce capteur peut se trouver dans une salle de serveur, sur un étage d’usine ou sur une éolienne. Le message inclut la température et l’humidité ambiantes, la température et la pression de la machine ainsi qu’un horodatage. Les tutoriels IoT Edge se servent des données créées par ce module comme données de test pour l’analytique.
Ouvrez l’invite de commandes sur votre appareil IoT Edge ou utilisez la connexion SSH à partir d’Azure CLI. Vérifiez que le module que vous avez déployé à partir du cloud s’exécute sur votre appareil IoT Edge :
sudo iotedge list
Affichez les messages envoyés à partir du module capteur de température :
sudo iotedge logs SimulatedTemperatureSensor -f
Conseil
Les commandes IoT Edge respectent la casse lors de la référence aux noms de module.
Nettoyer les ressources
Pour continuer avec les didacticiels IoT Edge, utilisez l’appareil que vous avez inscrit et configuré dans 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 un IoT Hub dans un nouveau groupe de ressources, vous pouvez supprimer ce groupe et toutes les ressources associées. Vérifiez le contenu du groupe de ressources pour vous assurer qu’il n’y a rien à conserver. Si vous ne voulez pas supprimer tout le groupe, vous pouvez supprimer des ressources individuelles.
Important
La suppression d’un groupe de ressources est irréversible.
Supprimez le groupe IoTEdgeResources . La suppression d’un groupe de ressources peut prendre quelques minutes.
az group delete --name IoTEdgeResources --yes
Vérifiez que le groupe de ressources est supprimé en consultant la liste des groupes de ressources.
az group list
É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. À présent, vous utilisez un appareil de test qui génère des données brutes sur son environnement.
Dans le tutoriel suivant, vous apprendrez à surveiller l’activité et l’intégrité de votre appareil à partir du portail Azure.