Tutoriel : Configurer un environnement - Machine Learning sur Azure IoT Edge
S’applique à : IoT Edge 1.1
Important
IoT Edge la date de fin du support 1.1 était le 13 décembre 2022. Consultez la page Politique de support Microsoft pour plus d’informations sur la prise en charge de ce produit, de ce service, de cette technologie ou de cette API. Pour plus d’informations sur la mise à jour vers la dernière version d’IoT Edge, consultez Mettre à jour IoT Edge.
Cet article vous aide à préparer votre environnement pour le développement et le déploiement. Tout d’abord, configurez une machine de développement avec tous les outils dont vous avez besoin. Ensuite, créez les ressources cloud nécessaires dans Azure.
Dans cette section du tutoriel, vous allez apprendre à :
- Configurer une machine virtuelle pour le développement.
- Configurer un hub IoT et un stockage cloud à utiliser dans votre environnement de développement.
Prérequis
Cet article fait partie d’une série décrivant l’utilisation d’Azure Machine Learning sur IoT Edge. Chaque article de la série s’appuie sur le travail réalisé dans le cadre de l’article précédent. Si vous êtes tombé directement sur cet article, reportez-vous au premier article de la série.
Configurer la machine virtuelle de développement
Cette étape est généralement effectuée par un développeur cloud. Certains logiciels peuvent également être utiles pour un scientifique des données.
Nous avons créé un script PowerShell qui crée une machine virtuelle Azure avec plusieurs des prérequis déjà configurés. La machine virtuelle que vous créez doit pouvoir gérer la virtualisation imbriquée, c’est pourquoi nous avons choisi la taille de machine Standard_D8s_v3.
La machine virtuelle de développement sera mise en place avec :
- Windows 10
- Chocolatey
- Docker Desktop pour Windows
- Git pour Windows
- GIT Credential Manager pour Windows
- Kit de développement logiciel (SDK) .NET Core
- Python 3
- Visual Studio Code
- Azure PowerShell
- Extensions de VS Code
La machine virtuelle du développeur n’est pas strictement nécessaire : tous les outils de développement peuvent être exécutés sur un ordinateur local. Cependant, nous recommandons fortement d’utiliser la machine virtuelle pour assurer des règles du jeu équitables.
Il faut environ 30 minutes pour créer et configurer la machine virtuelle.
Clonez ou téléchargez l’exemple de dépôt Machine Learning and IoT Edge sur votre ordinateur local.
Ouvrez PowerShell en tant qu’administrateur et accédez au répertoire \IoTEdgeAndMlSample\DevVM situé sous le répertoire racine dans lequel vous avez téléchargé le code. Nous utiliserons
srcdir
pour faire référence au répertoire racine de votre source.cd c:\srcdir\IoTEdgeAndMlSample\DevVM
Le répertoire DevVM contient les fichiers nécessaires à la création d’une machine virtuelle Azure appropriée pour compléter ce tutoriel.
Exécutez la commande suivante pour permettre l’exécution des scripts. Cliquez sur Oui à tout lorsque vous y êtes invité.
Set-ExecutionPolicy Bypass -Scope Process
Exécutez Create-AzureDevVM.ps1.
.\Create-AzureDevVm.ps1
À l’invite, fournissez les informations suivantes :
- ID d’abonnement Azure : votre ID d’abonnement, disponible dans Abonnements Azure dans le portail.
- Nom du groupe de ressources : nom d’un groupe de ressources nouveau ou existant dans Azure.
- Emplacement : Choisissez un emplacement Azure où la machine virtuelle sera créée. Par exemple, « USA Ouest 2 » ou « Europe Nord ». Pour plus d’informations, consultez Emplacements Azure.
- Nom d’utilisateur : entrez un nom facile à retenir pour le compte administrateur de la machine virtuelle.
- Mot de passe : définissez un mot de passe pour le compte administrateur de la machine virtuelle.
Pendant plusieurs minutes, le script exécute les étapes suivantes :
- Installe le module Azure PowerShell Az.
- Vous invite à vous connecter à Azure.
- Confirme les informations relatives à la création de votre machine virtuelle. Appuyez sur y ou Entrée pour continuer.
- Crée le groupe de ressources s’il n’existe pas.
- Déploie la machine virtuelle.
- Active Hyper-V sur la machine virtuelle.
- Installe les logiciels nécessaires au développement et clone l’exemple de dépôt.
- Redémarre la machine virtuelle.
- Crée un fichier RDP sur votre bureau pour se connecter à la machine virtuelle.
Si vous êtes invité à entrer le nom de la machine virtuelle pour la redémarrer, vous pouvez copier son nom à partir de la sortie du script. La sortie indique également le chemin du fichier RDP pour se connecter à la machine virtuelle.
Définir la planification d’arrêt automatique
Pour vous aider à réduire les coûts, la machine virtuelle de développement a été créée avec une planification d’arrêt automatique définie à 1900 PST. Vous devrez peut-être mettre à jour ce paramètre en fonction de votre localisation et de votre planification. Pour mettre à jour la planification d’arrêt :
Dans le portail Azure, accédez à la machine virtuelle créée par le script.
Dans le menu du volet de gauche, sous Opérations, sélectionnez Arrêt automatique.
Ajustez les options Arrêt planifié et Fuseau horaire selon vos besoins, puis sélectionnez Enregistrer.
Se connecter à la machine virtuelle de développement
Maintenant que nous avons créé une machine virtuelle, nous devons terminer l’installation du logiciel nécessaire pour compléter le tutoriel.
Double-cliquez sur le fichier RDP que le script a créé sur votre bureau.
Une boîte de dialogue vous indique que l’éditeur de la connexion distante est inconnu. Comme c’est acceptable, sélectionnez Se connecter.
Entrez le mot de passe d’administrateur que vous avez fourni pour créer la machine virtuelle, puis cliquez sur OK.
Une invite vous demande d’accepter le certificat de la machine virtuelle. Sélectionnez Oui.
Installer les extensions Visual Studio Code
Maintenant que vous êtes connecté à la machine de développement, ajoutez quelques extensions utiles à Visual Studio Code pour faciliter l’expérience de développement.
Connectez-vous à la machine virtuelle de développement, ouvrez une fenêtre PowerShell et accédez au répertoire C:\source\IoTEdgeAndMlSample\DevVM. Ce répertoire a été créé par le script de création de la machine virtuelle.
cd C:\source\IoTEdgeAndMlSample\DevVM
Exécutez la commande suivante pour permettre l’exécution des scripts. Cliquez sur Oui à tout lorsque vous y êtes invité.
Set-ExecutionPolicy Bypass -Scope Process
Exécutez le script des extensions Visual Studio Code.
.\Enable-CodeExtensions.ps1
Le script s’exécutera pendant quelques minutes en installant des extensions de code VS :
- Azure IoT Edge
- Azure IoT Hub
- Python
- C#
- Docker
- PowerShell
Configurer IoT Hub et le stockage
Ces étapes sont généralement effectuées par un développeur de cloud.
Azure IoT Hub est le cœur de toute application IoT dans la mesure où il gère la communication sécurisée entre les appareils IoT et le cloud. C’est le principal point de coordination pour l’exploitation de la solution d’apprentissage automatique IoT Edge.
IoT Hub utilise des itinéraires pour diriger les données entrantes des appareils IoT vers d’autres services en aval. Nous allons tirer parti des routes IoT Hub pour envoyer des données d’appareil à Stockage Azure. Dans Stockage Azure, les données d’appareil sont consommées par Azure Machine Learning pour entraîner notre classificateur de durée de vie restante (RUL).
Plus loin dans le tutoriel, nous utiliserons IoT Hub pour configurer et gérer notre appareil Azure IoT Edge.
Dans cette section, vous utilisez un script pour créer un hub IoT Azure et un compte Stockage Azure. Ensuite, dans le portail Azure, vous configurez une route qui transfère les données reçues par le hub à un conteneur Stockage Azure. Ces étapes prennent environ 10 minutes.
Connectez-vous à la machine virtuelle de développement, ouvrez une fenêtre PowerShell et accédez au répertoire IoTHub.
cd C:\source\IoTEdgeAndMlSample\IoTHub
Exécutez le script de création. Utilisez les mêmes valeurs pour l’ID d’abonnement, la localisation et le groupe de ressources que lors de la création de la machine virtuelle de développement.
.\New-HubAndStorage.ps1 -SubscriptionId <subscription id> -Location <location> -ResourceGroupName <resource group>
- Vous serez invité à vous connecter à Azure.
- Le script confirme les informations pour la création de votre compte Hub et Stockage. Appuyez sur y ou Entrée pour continuer.
L’exécution du script prend deux minutes. Une fois terminé, le script affiche le nom du hub IoT et du compte de stockage.
Passer en revue l’itinéraire vers le stockage dans IoT Hub
Dans le cadre de la création du hub IoT, le script que nous avons exécuté à la section précédente a également créé un point de terminaison personnalisé et un itinéraire. Les itinéraires IoT Hub se composent d’une expression de requête et d’un point de terminaison. Si un message correspond à l’expression, les données sont envoyées jusqu’au point final associé via l’itinéraire. Les points de terminaison peuvent être des Event Hubs, des files d’attente de Service Bus et des rubriques. Dans ce cas, le point de terminaison est un conteneur d’objets blob dans un compte de stockage. Nous allons utiliser le portail Azure pour passer en revue la route créée par notre script.
Ouvrez le portail Azure et accédez au groupe de ressources que vous utilisez pour ce tutoriel.
Dans la liste des ressources, sélectionnez le hub IoT que le script a créé. Son nom se termine par des caractères aléatoires tels que
IotEdgeAndMlHub-jrujej6de6i7w
.Dans le menu du volet de gauche, sous Paramètres de hub, sélectionnez Routage des messages.
Dans la page Routage des messages, sélectionnez l’onglet Points de terminaison personnalisés.
Développez la section Stockage :
Nous voyons que turbofanDeviceStorage figure dans la liste des points de terminaison personnalisés. Ce point de terminaison présente les caractéristiques suivantes :
- Il pointe vers le conteneur de stockage d’objets blob que vous avez créé (
devicedata
), comme indiqué par Nom du conteneur. - Son Format de nom de fichier comporte le mot « partition » comme dernier élément du nom. Ce format est plus pratique pour les opérations de fichier que nous effectuerons avec Azure Notebooks plus loin dans ce tutoriel.
- Son État doit être sain.
- Il pointe vers le conteneur de stockage d’objets blob que vous avez créé (
Sélectionnez l’onglet Itinéraires.
Sélectionnez l’itinéraire turbofanDeviceDataToStorage.
Dans la page Détails de la route, notez que le point de terminaison de la route est turbofanDeviceStorage.
Examinez la requête de routage, qui a la valeur true. Ce paramètre signifie que tous les messages de télémétrie de l’appareil correspondront à cette route et que tous les messages seront envoyés au point de terminaison turbofanDeviceStorage.
Dans la mesure où aucune modification n’a été apportée, fermez cette page.
Nettoyer les ressources
Ce tutoriel fait partie d’une série où chaque article s’appuie sur le travail effectué dans les articles précédents. Ne nettoyez pas les ressources avant d’avoir terminé le dernier tutoriel.
Étapes suivantes
Dans cet article, nous avons créé un hub IoT et configuré un itinéraire vers un compte Stockage Azure. Nous allons à présent envoyer les données d’un ensemble d’appareils simulés par le biais du hub IoT au compte de stockage. Plus tard dans le tutoriel, après avoir configuré notre appareil et nos modules IoT Edge, nous revisiterons les itinéraires et examinerons un peu plus la requête de routage.
Passez à l’article suivant pour créer un appareil simulé à surveiller.