- Article
- 20 minutes de lecture
S'applique à:IoT Edge1.1
Développeur IdO 1.4
Important
Périphérie IdOLa date de fin du support 1.1 était le 13 décembre 2022. Visitez le site WebMicrosoft-Supportrichtliniepour plus d'informations sur la prise en charge de ce produit, service, technologie ou API.
Avec Azure IoT Edge, votre solution IoT peut devenir plus efficace en déplaçant les charges de travail du cloud vers la périphérie. Cette fonctionnalité est particulièrement utile pour les services qui gèrent de grandes quantités de données, tels que B. les modèles de vision par ordinateur.vue personnaliséevous pouvez créer des classificateurs d'images personnalisés et les déployer en tant que conteneurs sur des appareils. En travaillant ensemble, ces deux services vous permettent d'obtenir des informations à partir de flux vidéo ou d'images sans avoir à déplacer toutes les données hors site. Custom Vision fournit un classificateur qui compare une image à un modèle formé pour générer des informations.
Par exemple, sur un appareil IoT Edge, Custom Vision peut déterminer si le trafic est plus lourd ou plus léger que la normale sur une autoroute ou si des espaces vides s'alignent dans un parking. Ces informations peuvent être partagées avec un autre service pour prendre des mesures.
Dans ce tutoriel, vous apprendrez à :
- Créez un classificateur d'images avec Custom Vision.
- Développez un module IoT Edge qui interroge le serveur Web Custom Vision sur votre appareil.
- Envoyez les résultats de la classification des images à IoT Hub.
si vous n'avez pasAbonnement Azure, euh... créercompte gratuit azuravant de commencer.
exigences
taxons
Ce didacticiel est une version simplifiée de l'exemple de projet.Custom Vision et Azure IoT Edge sur un Raspberry Pi 3. Ce didacticiel est conçu pour s'exécuter sur une machine virtuelle dans le cloud. Il utilise des images fixes pour former et tester le classificateur d'images, ce qui est utile pour quiconque commence à évaluer Custom Vision sur IoT Edge. L'exemple de projet utilise du matériel physique et configure un flux de caméra en direct pour former et tester le classificateur d'images, utile pour quiconque souhaite essayer un scénario pratique plus détaillé.
Avant de commencer ce didacticiel, vous devez avoir suivi les étapes ci-dessus pour configurer votre environnement pour le développement de conteneurs Linux :Créer des modules IoT Edge avec des conteneurs Linux. Si vous suivez ce didacticiel, les conditions préalables suivantes doivent être remplies :
- Un niveau gratuit ou standardConcentrateur IdOpas d'azur.
- Un appareil exécutant Azure IoT Edge avec des conteneurs Linux. Vous pouvez utiliser les guides de démarrage rapide pour configurer : apériphérique linuxle sienpériphérique Windows.
- Un registre de conteneurs commeRegistre de conteneurs Azure.
- Code VisualStudioconfiguré avec des extensionsAzure IdO EdgeetAzure IdOHub.
- Téléchargez et installez-en unSystème de gestion de conteneur compatible avec Dockersur votre machine de développement. Configurez-le pour exécuter des conteneurs Linux.
Pour développer un module IoT Edge avec le service Custom Vision, installez les prérequis supplémentaires suivants sur votre ordinateur de développement :
Créer un classificateur d'images de vue personnalisé
Pour créer un classificateur d'images, vous devez créer un projet de vue personnalisé et fournir des images de formation. Pour plus d'informations sur la façon de procéder, consultez cette section.Comment créer un classificateur de vue personnalisé.
Une fois que vous avez créé et entraîné votre classificateur d'images, vous pouvez l'exporter en tant que conteneur Docker et le déployer sur un appareil IoT Edge.
créer un projet
Accédez à dans votre navigateur Website web vue personnalisée.
Choisircommencer la sessionet connectez-vous avec le même compte que celui utilisé pour accéder aux ressources Azure.
ChoisirNouveau projet.
Créez votre projet avec les valeurs suivantes :
Champion Wert Nom Par exemple, donnez un nom à votre projetEdgeTreeClassifier. La description Description facultative du projet. Ressource Sélectionnez l'un de vos groupes de ressources Azure qui contient une ressource de service d'affichage personnalisé oucréer unsi vous n'en avez pas déjà ajouté un. types de projets classification Types de classification (Types de classification) Multiclasse (un seul tag par image)(Multiclass (une étiquette par image)) domaines général (compact)(Général (compact)) fonctions d'exportation Plateformes de base (Tensorflow, CoreML, ONNX...) Choisircréer un projet.
Chargez des images et entraînez votre classificateur
La création d'un classificateur d'images nécessite un ensemble d'images d'entraînement ainsi que des images de test.
Cloner ou télécharger des exemples d'images à partir du référentielCognitivo-CustomVision-Windowssur votre machine de développement local.
Git Clone https://github.com/Microsoft/Cognitive-CustomVision-Windows.git
Revenez à votre projet de vision personnalisée et sélectionnez-leAjouter des photos.
Accédez au référentiel git que vous avez cloné localement et accédez au premier dossier d'images.Cognitive-CustomVision-Windows/Exemples/Images/Hemlock. Sélectionnez les 10 images dans le dossier et cliquez surEsprit ouvert.
ajouter l'étiquetteciguëà ce groupe d'images et appuyez surpelouse principalepour appliquer l'étiquette.
Choisirtélécharger 10 fichiers(télécharger 10 fichiers).
Une fois les images chargées, sélectionnezFini.
choisir à nouveauAjouter des photos.
Accédez au deuxième dossier Images.Cognitive-CustomVision-Windows / Exemples / Images / Cerisier japonais. Sélectionnez les 10 images dans le dossier et cliquez surEsprit ouvert.
ajouter l'étiquettecerise japonaiseà ce groupe d'images et appuyez surpelouse principalepour appliquer l'étiquette.
Choisirtélécharger 10 fichiers(télécharger 10 fichiers). Une fois les images chargées, sélectionnezFini.
Lorsque les deux séries d'images sont sélectionnées et chargées, sélectionnezBahn(Entraîner) pour entraîner le classificateur.
Exportez votre classificateur
Après avoir formé votre classificateur, sélectionnezExportateursur la page Performances du classificateur.
ChoisirDockerFileNameà la plateforme
Choisirlinuxpour la libération
ChoisirExportateur.
Lorsque l'exportation est terminée, sélectionnezDescendreet enregistrez le package .zip localement sur votre ordinateur. Extrayez tous les fichiers du package. Utilisez ces fichiers pour créer un module IoT Edge qui contient le serveur de classification d'images.
Lorsque vous atteindrez cette étape, vous aurez terminé la création et la formation de votre projet Custom Vision. Vous utiliserez les fichiers exportés dans la section suivante, mais vous en avez terminé avec la page Web Custom Vision.
Créer une solution IoT Edge
Vous avez maintenant les fichiers d'une version conteneurisée de votre classificateur d'images sur votre machine de développement. Dans cette section, vous allez configurer le conteneur de classificateur d'images pour qu'il s'exécute en tant que module IoT Edge. Vous allez également créer un deuxième module livré avec le classificateur d'images. Le deuxième module envoie des requêtes au classifieur et envoie les résultats à IoT Hub sous forme de messages.
créer une solution
Une solution est un moyen logique de développer et d'organiser plusieurs modules pour un seul déploiement IoT Edge. Une solution contient le code d'un ou plusieurs modules ainsi qu'un manifeste de déploiement qui déclare comment les configurer sur un appareil IoT Edge.
Sélectionner dans Visual Studio Codeannonce>pagaie de commandepour ouvrir la palette de commandes VS Code.
Dans la palette de commandes, tapez et exécutez la commandeAzure IoT Edge : nouvelle solution IoT Edge. Dans la palette de commandes, fournissez les informations suivantes pour créer votre solution :
Champion Wert sélectionner le dossier Sélectionnez l'emplacement sur votre machine de développement VS Code pour créer les fichiers de solution. Indiquez un nom de solution (Nommer la solution) Par exemple, entrez un nom descriptif pour votre solutionsolution visuelle personnaliséeou acceptez le nom par défaut. Sélectionnez le modèle de module Choisirpython uniquement. Entrez un nom de module (Nommer le module) Nommez votre moduleclassificateur. Il est important que le nom de ce module soit en minuscule. En effet, IoT Edge est sensible à la casse lors du référencement de modules, et cette solution utilise une bibliothèque qui formate toutes les requêtes en minuscules.
Spécifiez le référentiel d'images Docker pour le module Un référentiel d'images contient le nom de votre registre de conteneurs et le nom de votre image de conteneur. L'image de votre conteneur sera préremplie à partir de la dernière étape. RemplaçantHôte local : 5 000après la valeur deserveur de connexionà partir de votre registre de conteneurs Azure. Vous pouvez obtenir le serveur de connexion à partir de la page de présentation du registre de conteneurs dans le portail Azure. La dernière chaîne semble<Registrierungsname>.azurecr.io/classifier.
La fenêtre Visual Studio Code charge l'espace de travail de la solution IoT Edge.
Ajoutez vos données d'inscription
Le fichier d'environnement stocke vos informations d'identification d'enregistrement de conteneur et les partage avec le runtime IoT Edge. Le runtime a besoin de ces informations d'identification pour extraire vos images privées vers l'appareil IoT Edge.
L'extension IoT Edge tente d'obtenir les informations d'identification d'inscription de votre conteneur auprès d'Azure et de les placer dans le fichier d'environnement. Assurez-vous que vos informations d'identification sont déjà incluses. Sinon, ajoutez-les maintenant :
- Dans VS Code Explorer, ouvrez le fichier ENV.
- Mettre à jour les champs avec des valeurs deNom d'utilisateurc'est dele mot de passeque vous avez copié à partir du registre de conteneurs Azure.
- Enregistrez ce fichier.
commentaires
Ce didacticiel utilise les informations d'identification de l'administrateur AzureContainerRegistry, qui sont utiles pour les scénarios de développement et de test. Lorsque vous êtes prêt pour les scénarios de production, nous vous recommandons d'utiliser l'option d'authentification la moins privilégiée, par exemple B. Principes de service. Pour plus d'informations, voirGérer l'accès au registre des conteneurs.
Choisissez votre architecture cible
Actuellement, Visual Studio Code peut développer des modules pour Linux AMD64 et Linux ARM32v7. Vous devez choisir l'architecture que vous ciblez pour chaque solution, car le conteneur est construit et exécuté différemment pour chaque type d'architecture. La valeur par défaut est Linux AMD64, et nous l'utiliserons pour ce didacticiel.
Ouvrez la palette de commandes et recherchezAzure IoT Edge - Définir la plateforme cible par défaut pour la solution Edge(Azure IoT Edge : définir la plateforme cible par défaut pour la solution Edge) ou sélectionnez l'icône de raccourci dans la barre latérale en bas de la fenêtre.
Dans la palette de commandes, sélectionnez l'architecture cible dans la liste des options. Étant donné que nous utilisons une machine virtuelle Ubuntu comme appareil IoT Edge pour ce didacticiel, nous conserverons les paramètres par défaut.AMD64.
Ajoutez votre classificateur d'images
Le modèle de module Python dans Visual Studio Code contient un exemple de code que vous pouvez exécuter pour tester IoT Edge. Vous n'utiliserez pas ce code dans ce scénario. Au lieu de cela, suivez les étapes de cette section pour remplacer l'exemple de code par l'encapsuleur de classificateur d'image précédemment exporté.
Dans votre explorateur de fichiers, accédez au package Custom Vision que vous avez téléchargé et extrait. Copiez tout le contenu du package extrait. Vous devriez avoir deux dossiers.applicationetazurmlet deux fichiersFichier DockeretLiesmich.
Dans votre explorateur de fichiers, accédez au répertoire dans lequel vous avez demandé à Visual Studio Code de créer votre solution IoT Edge.
Ouvrez le dossier du module classifieur. Si vous avez utilisé les noms suggérés dans la section précédente, la structure des dossiers ressemble à ceciCustomVisionSolution / Modules / Classificateur.
Collez les fichiers dans le dossier.classificateur.
Revenez à la fenêtre Visual Studio Code. L'espace de travail de votre solution doit maintenant afficher les fichiers de classificateur d'images dans le dossier du module.
See AlsoRéplicas secondaires hyperscale - Azure SQL DatabaseDéployer des modules et des itinéraires avec des manifestes de déploiement - Azure IoT EdgeChoisissez un processus pour votre projet Azure DevOps - Azure BoardsDéployer des modules à grande échelle à partir du portail Azure - Azure IoT Edgeouvrir le fichiermodule.jsondans le dossier du classificateur.
paramètre de mise à jourplates-formespour référencer le Dockerfile nouvellement ajouté et supprimer toutes les options sauf AMD64, qui est la seule architecture que nous utiliserons pour ce didacticiel.
"Plateformes": { "amd64": "./Dockerfile"}
Enregistrez vos modifications.
Créer un module de caméra simulée
Dans une véritable implémentation de Custom Vision, vous auriez une caméra qui fournirait des images en direct ou des flux vidéo. Pour ce scénario, simulez la caméra en créant un module qui envoie une image test au classificateur d'images.
Ajouter un nouveau module et le configurer
Dans cette section, vous allez ajouter un nouveau module au même dossier CustomVisionSolution et fournir le code pour créer la caméra simulée.
Dans la même fenêtre Visual Studio Code, utilisez la palette de commandes pour exécuterAzure IoT Edge : Ajouter un module IoT Edge. Dans la palette de commandes, fournissez les informations suivantes pour votre nouveau module :
opportun Wert Sélectionnez le fichier de modèle de déploiement Choisir le fichierImplémentation.template.jsonavec des pâtes CustomVisionSolution. Sélectionnez le modèle de module Choisirpython uniquement Entrez un nom de module (Nommer le module) Nommez votre moduledétection de caméra Spécifiez le référentiel d'images Docker pour le module RemplaçantHôte local : 5 000par valeurserveur de connexionà partir de votre registre de conteneurs Azure. La dernière chaîne semble<Nom de l'enregistrement>.azurecr.io/cameracapture.
La fenêtre VS Code charge votre nouveau module dans l'espace de travail de la solution et met à jour le fichier deployment.template.json. Vous devriez maintenant voir deux dossiers de module : classifier et cameraCapture.
ouvrir le fichierprincipal.pydans le fichierModule/détection de caméra.
Remplacez le fichier entier par le code suivant. Cet exemple de code envoie des requêtes POST au service de traitement d'image exécuté dans le module classifieur. Nous avons fourni à ce wrapper de module un exemple d'image à utiliser dans les requêtes. Il encapsule ensuite la réponse sous forme de message IoT Hub et l'envoie à une file d'attente de sortie.
# Copyright (c) Microsoft. Tous droits réservés. # Sous licence MIT. Consultez le fichier LICENSE à la racine du projet pour # obtenir des informations complètes sur la licence. import timeimport sysimport oimport reviewsimport jsonfrom azure.iot.device import IoTHubModuleClient, Message# global countersSENT_IMAGES = 0# global clientCLIENT = None# Send message to IoT Hub# Route output1 to $ Upstream in deployment.template.jsondef send_to_hub(strMessage): message = Message(bytearray(strMessage, 'utf8')) CUSTOMER.send_message_to_output(message, "output1") global SENT_IMAGES SENT_IMAGES += 1 print( "Total images sent: {} ".format(SENT_IMAGES) )# Une image pour trier l'image server send# Renvoie la réponse JSON du serveur avec le résultat de la prédiction def sendFrameForProcessing(imagePath, imageProcessingEndpoint): headers = {'Content-Type': 'application/octet-stream'} with open(imagePath, mode="rb " ) as test_image : test : réponse = request.post(imageProcessingEndpoint, headers = headers, data = test_image) print("Réponse du service d'évaluation : (" + str(response.status_code ) + ") " + js on.dumps (response . json()) + "\n") sauf exception co mo e: print(e) print("Aucune réponse du service d'évaluation") return None return json.dumps(response.json())def main (imagePath, imageProcessingEndpoint): try: print ("Module de caméra factice pour Azure IoT Edge . Appuyez sur Ctrl-C pour quitter." ) essayez : global CLIENT CLIENT = IoTHubModuleClient.create_from_edge_environment() except Exception as iothub_error : print("Unexpected error {} from IoTHub".format(iothub_error) ) return print("L'exemple va maintenant être envoyé images pour le traitement et sont stockées indéfiniment"). Si vrai : Sort = sendFrameForProcessing(imagePath, imageProcessingEndpoint) if Sort : send_to_hub(sort) time.sleep(10) except KeyboardInterrupt : print ("IoT Edge module sampletopped") if __name__ == '__main__' : essayez : # Obtenez l'emplacement de l'image et le point de terminaison du serveur d'évaluation de l'image à partir de l'environnement de conteneur IMAGE_PATH = os.getenv('IMAGE_PATH', "") IMAGE_PROCESSING_ENDPOINT = os.getenv(' IMAGE_PROCESSING_ENDPOINT', "" ) sauf ValueError comme erreur : print ( erreur ) sys.exit(1) if ((IMAGE_PATH and IMAGE_PROCESSING_ENDPOINT) != ""): main(IMAGE_PATH, IMAGE_PROCESSING_ENDPOINT) else : print( "Erreur r : chemin de l'image ou fin de traitement de l'image Missing Point" )
enregistrer le fichierprincipal.py.
ouvrir le fichierExigences.txt.
Ajoutez une nouvelle ligne pour une bibliothèque à inclure dans le conteneur.
Pétitions
enregistrer le fichierExigences.txt.
Ajouter une image de test au conteneur
Plutôt que d'utiliser une vraie caméra pour fournir un flux d'images pour ce scénario, nous avons utilisé une seule image de test. Une image de test est incluse dans le référentiel GitHub que vous avez téléchargé précédemment dans ce didacticiel pour les images d'entraînement.
Accédez à l'image de test située àCognitivo-CustomVision-Windows/test/Photos/Test.
Copietest_image.jpg
Accédez au répertoire de la solution IoT Edge et collez l'image de test dans le dossier.Module/détection de caméra. L'image doit se trouver dans le même dossier que le fichier main.py que vous avez modifié dans la section précédente.
Ouvrez le fichier dans Visual Studio CodeDockerfile.amd64pour le module cameraCapture.
Après la ligne spécifiant le répertoire de travail,
RÉPERTOIRE DE TRAVAIL/application
, ajoutez la ligne de code suivante :AJOUTER ./test_image.jpg .
Enregistrez le fichier Docker.
Préparer un manifeste de déploiement
Jusqu'à présent, dans ce didacticiel, vous avez formé un modèle de vue personnalisé pour classer les images d'arborescence et empaqueté ce modèle en tant que module IoT Edge. Vous avez ensuite créé un deuxième module qui peut interroger le serveur de classification d'images et renvoyer ses résultats à IoT Hub. Vous pouvez maintenant créer le manifeste de déploiement qui indique à un appareil IoT Edge comment lancer et exécuter ces deux modules ensemble.
L'extension IoT Edge pour Visual Studio Code fournit un modèle dans chaque solution IoT Edge pour vous aider à créer un manifeste de déploiement.
ouvrir le fichierImplémentation.template.jsondans le dossier des solutions.
Localiser la rubriqueModule, qui doit contenir trois modules : les deux que vous créez (classifier et cameraCapture) et un troisième, inclus par défaut, SimulatedTemperatureSensor.
supprimer le modulecapteur de température simuléavec tous ses paramètres. Ce module est inclus pour fournir des exemples de données pour les cas de test, mais nous n'en avons pas besoin pour cette implémentation.
Si vous avez nommé le module de classification des images autrement queclassificateur, vérifiez maintenant le nom et assurez-vous qu'il est en minuscules. Le module cameraCapture appelle le module Classifier à l'aide d'une bibliothèque de requêtes qui formate toutes les requêtes en minuscules et IoT Edge est sensible à la casse.
paramètre de mise à jourcréer des optionsau module cameraCapture avec le code JSON suivant. Ces informations créent des variables d'environnement dans le conteneur du module qui sont récupérées dans le processus main.py. En incluant ces informations dans le manifeste de déploiement, vous pouvez modifier l'image ou le point de terminaison sans avoir à réimager le module.
"createOptions": "{\"Env\":[\"IMAGE_PATH=test_image.jpg\",\"IMAGE_PROCESSING_ENDPOINT=http://classifier/image\"]}"
Si vous avez nommé votre module Vue personnalisée différemmentclassificateur, mettez à jour la valeur du point de terminaison de l'image pour qu'elle corresponde aux valeurs.
A la fin du fichier, mettez à jour le paramètre.extensibledepuis le module $edgeHub. Vous souhaitez transférer les résultats de la prédiction cameraCapture vers IoT Hub.
"routes": { "cameraCaptureToIoTHub": "DE /messages/modules/cameraCapture/outputs/* À $upstream" },
Si vous avez nommé votre deuxième module autrement quedétection de caméra, mettez à jour la valeur de route pour qu'elle corresponde aux valeurs.
enregistrer le fichierImplémentation.template.json.
Créez et alimentez votre solution IoT Edge
Une fois les modules créés et le modèle de manifeste de déploiement configuré, vous pouvez créer et transférer les images de conteneur vers votre registre de conteneurs.
Une fois les images dans votre registre, vous pouvez déployer la solution sur un appareil IoT Edge. Vous pouvez définir des modules sur un appareil via le hub IoT, mais vous pouvez également accéder à vos hubs et appareils IoT via Visual Studio Code. Dans cette section, vous allez configurer l'accès à votre hub IoT, puis utiliser VS Code pour déployer la solution sur votre appareil IoT Edge.
Tout d'abord, créez votre solution et soumettez-la au registre de conteneurs.
Ouvrez le terminal intégré de VS Code en sélectionnantannonce>Terminal.
Connectez-vous à Docker en tapant la commande suivante dans le terminal. Connectez-vous avec votre nom d'utilisateur, votre mot de passe et votre serveur de connexion Azure Container Registry. Vous pouvez obtenir ces valeurs dans la sectionclef d'accèsà partir de votre inscription sur le portail Azure.
docker login -u <nom d'utilisateur ACR> -p <mot de passe ACR> <serveur de connexion ACR>
Vous pouvez recevoir un avis de sécurité recommandant son utilisation.
--password-stdin
. Bien qu'il s'agisse des meilleures pratiques pour les scénarios de production, cela n'est pas pertinent pour ce didacticiel. Pour plus d'informations, consultez les informations de référenceconnexion do docker.Faites un clic droit sur le fichier dans VS Code ExplorerImplémentation.template.jsonet sélectionnezCréer et exploiter une solution IoT Edge(Créer et piloter la solution IoT Edge).
La commande compile and ship déclenche trois opérations. Créez d'abord un dossier dans la solution appeléParamètrescontient l'intégralité du manifeste de déploiement. Il est généré à partir des informations du modèle de déploiement et d'autres fichiers de solution. alors elle court
Docker-Build
pour générer l'image de conteneur basée sur le Dockerfile qui correspond à votre architecture cible. alors elle courtPoussée Docker
pour transférer le référentiel d'images vers votre registre de conteneurs.Ce processus peut prendre quelques minutes la première fois, mais il sera plus rapide la prochaine fois que vous exécuterez les commandes.
Déployer des modules sur un appareil
Utilisez VisualStudio Code Explorer et l'extension Azure IoTEdge pour déployer le projet de module sur votre appareil IoTEdge. Vous avez déjà un manifeste de déploiement prêt pour votre scénario, c'est-à-dire le fichierImplémentation.amd64.jsonsitué dans le dossier de configuration. Sélectionnez simplement l'appareil à provisionner.
Assurez-vous que votre appareil IoTEdge est opérationnel.
Dans l'explorateur de code Visual Studio dans la sectionHub IoT sur Azure, extenseurDispositifspour voir votre liste d'appareils IoT.
Cliquez avec le bouton droit sur le nom de l'appareil IoT Edge et sélectionnezCréer un déploiement sur un seul appareil(Créez un déploiement pour un seul appareil.)
Choisir le fichierImplémentation.amd64.jsondans le fichierParamètres, puis cliqueSélectionner un manifeste de déploiement Edge. N'utilisez pas le fichier deployment.template.json.
développer la sectionModulesur votre appareil pour voir la liste des modules déployés et en cours d'exécution. Cliquez sur le bouton Mettre à jour. Vous voyez souvent les nouveaux modulesclassificateuretdétection de caméracourir avecagent $ bordet$edgeHub.
Vous pouvez également vérifier que tous les modules de votre appareil sont opérationnels. Exécutez la commande suivante sur votre appareil IoT Edge pour afficher l'état des modules.
iotedge-Lista
L'initialisation des modules peut prendre plusieurs minutes. L'environnement d'exécution IoT Edge doit recevoir votre nouveau manifeste de déploiement, extraire les images de module de l'environnement d'exécution du conteneur et lancer chaque nouveau module.
Afficher les résultats du classement
Il existe deux façons d'afficher les résultats de vos modules, soit sur l'appareil lui-même lors de la création et de l'envoi de messages, soit dans Visual Studio Code lors de la réception de messages dans IoT Hub.
Affichez les journaux d'activité du module cameraCapture sur votre appareil pour voir les messages envoyés et reçus par IoT Hub.
iotedge enregistre la capture de la caméra
Dans Visual Studio Code, cliquez avec le bouton droit sur le nom de l'appareil IoT Edge et sélectionnezCommencer à surveiller le point de terminaison d'événement intégré.
commentaires
Tout d'abord, vous pouvez voir des erreurs de connexion dans la sortie du module cameraCapture. Ils sont dus au délai entre le déploiement et la sortie des modules.
Le module cameraCapture tentera automatiquement de se reconnecter jusqu'à ce qu'il réussisse. Une fois connecté, vous verrez les messages d'évaluation d'image attendus décrits ci-dessous.
Les résultats du moteur Custom Vision, envoyés sous forme de messages du moteur cameraCapture, incluent la probabilité que l'image représente une pruche ou un cerisier. Comme l'image représente une pruche, la probabilité doit être de 1,0.
ressources propres
Si vous souhaitez passer au prochain article recommandé, vous pouvez conserver les ressources et les paramètres que vous avez créés pour les réutiliser. Vous pouvez continuer à utiliser le même appareil IoT Edge comme appareil de test.
Vous pouvez également exclure les ressources Azure et les paramètres locaux utilisés dans cet article pour éviter des frais.
Supprimer des ressources Azure
La suppression de ressources et de groupes de ressources Azure est irréversible. Veillez à ne pas supprimer accidentellement les mauvaises ressources ou groupes de ressources. Si vous avez créé le hub IoT dans un groupe de ressources existant qui contient les ressources que vous souhaitez conserver, supprimez uniquement la ressource hub IoT et non le groupe de ressources.
Pour supprimer des fonctionnalités :
connexionportail azur, puis sélectionnezgroupes de ressources.
Choisissez le nom du groupe de ressources qui contient vos ressources de test IoT Edge.
Consultez la liste des ressources incluses dans votre groupe de ressources. Si vous voulez tous les supprimer, vous pouvez choisirSupprimer le groupe de ressources. Si vous ne souhaitez en supprimer que certaines, vous pouvez cliquer sur chaque fonctionnalité pour les supprimer individuellement.
prochaines étapes
Dans ce didacticiel, vous avez formé un modèle de vue personnalisé et l'avez déployé en tant que module sur un appareil IoT Edge. Vous avez ensuite créé un module qui peut interroger le service de classification d'images et renvoyer ses résultats à IoT Hub.
Continuez à parcourir les didacticiels ci-dessous pour découvrir d'autres façons dont Azure IoT Edge peut vous aider à transformer les données en périphérie en informations commerciales.
Stockez les données à la périphérie avec les bases de données SQL Server