Démarrage rapide : Provisionner un appareil à clé symétrique simulé
Dans ce démarrage rapide, vous créez un appareil simulé sur votre machine Windows. L’appareil simulé est configuré pour utiliser le mécanisme d’attestation de clé symétrique pour l’authentification. Une fois votre appareil configuré, vous le configurez dans votre hub IoT en utilisant le Service IoT Hub Device Provisioning.
Si vous ne connaissez pas le processus de provisionnement, passez en revue la vue d’ensemble du provisionnement.
Ce guide de démarrage rapide présente une solution pour une station de travail Windows. Vous pouvez toutefois également effectuer les procédures sur Linux. Pour obtenir un exemple sur Linux, consultez Tutoriel : Provisionner pour la géolatence.
Prérequis
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Effectuez les étapes décrites dans Configurer le service IoT Hub Device Provisioning avec le portail Azure.
- Si vous utilisez un environnement de développement Windows, installez Visual Studio 2019 avec la charge de travail « Desktop Development en C++ » activée. Visual Studio 2015 et Visual Studio 2017 sont également pris en charge. Pour Linux ou macOS, consultez la section appropriée de Préparer votre environnement de développement dans la documentation du kit de développement logiciel (SDK).
Installez le kit SDK .NET 6.0 sur votre machine Windows. Vous pouvez exécuter la commande suivante pour vérifier votre version.
dotnet --info
- Installez Node.js v4.0+.
- Installez Python 3.7 ou une version ultérieure sur votre machine Windows. Vous pouvez vérifier votre version de Python en exécutant
python --version
.
Installez Java SE Development Kit 8 ou une version ultérieure sur votre machine.
Téléchargez et installez Maven.
- Installez la dernière version de Git. Vérifiez que Git est ajouté aux variables d’environnement accessibles à la fenêtre de commande. Consultez Outils clients Git de Software Freedom Conservancy pour accéder à la dernière version des outils
git
à installer, ce qui inclut Git Bash, l’application en ligne de commande que vous pouvez utiliser pour interagir avec votre dépôt Git local.
Préparer votre environnement de développement
Dans cette section, vous allez préparer un environnement de développement qui est utilisé pour générer le SDK C Azure IoT . L’exemple de code tente de provisionner l’appareil pendant la séquence de démarrage de ce dernier.
Téléchargez le dernier système de génération CMake.
Important
Vérifiez que les prérequis de Visual Studio (Visual Studio et la charge de travail « Développement Desktop en C++ ») sont installés sur votre machine avant de commencer l’installation de
CMake
. Une fois les composants requis en place et le téléchargement effectué, installez le système de génération de CMake. Sachez également que les versions antérieures du système de génération CMake ne permettent pas de générer le fichier solution utilisé dans cet article. Veillez à utiliser la dernière version de CMake.Ouvrez un navigateur web, puis accédez à la page des versions du kit SDK C Azure IoT.
Sélectionnez l’onglet Étiquettes en haut de la page.
Copiez le nom d’étiquette de la version la plus récente du SDK C Azure IoT.
Ouvrez une invite de commandes ou l’interpréteur de commandes Git Bash. Exécutez les commandes suivantes pour cloner la dernière version du dépôt GitHub de l’appareil Azure IoT SDK pour C. Remplacez
<release-tag>
par la balise que vous avez copiée à l’étape précédente, par exemple :lts_01_2023
.git clone -b <release-tag> https://github.com/Azure/azure-iot-sdk-c.git cd azure-iot-sdk-c git submodule update --init
Cette opération peut prendre plusieurs minutes.
Une fois l’opération terminée, exécutez les commandes suivantes à partir du répertoire
azure-iot-sdk-c
:mkdir cmake cd cmake
L’exemple de code utilise une clé symétrique pour fournir l’attestation. Exécutez la commande suivante pour générer une version du SDK spécifique à votre plateforme cliente de développement qui inclut le client de provisionnement des appareils :
cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON ..
Conseil
Si
cmake
ne trouve pas votre compilateur C++, vous risquez de rencontrer des erreurs de génération lors de l’exécution de la commande ci-dessus. Si cela se produit, essayez d’exécuter la commande dans l’invite de commandes de Visual Studio.Quand la build se termine correctement, les dernières lignes de la sortie ressemblent à la sortie suivante :
$ cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON .. -- Building for: Visual Studio 16 2019 -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042. -- The C compiler identification is MSVC 19.29.30040.0 -- The CXX compiler identification is MSVC 19.29.30040.0 ... -- Configuring done -- Generating done -- Build files have been written to: E:/IoT Testing/azure-iot-sdk-c/cmake
Ouvrez un environnement de ligne de commande Git CMD ou Git Bash.
Clonez le dépôt GitHub Azure IoT SDK pour C# avec la commande suivante :
git clone https://github.com/Azure/azure-iot-sdk-csharp.git
Ouvrez un environnement de ligne de commande Git CMD ou Git Bash.
Clonez le dépôt GitHub du kit SDK Azure IoT pour Node.js à l’aide de la commande suivante :
git clone https://github.com/Azure/azure-iot-sdk-node.git --recursive
Ouvrez un environnement de ligne de commande Git CMD ou Git Bash.
Clonez le dépôt GitHub du SDK Azure IoT pour Python à l’aide de la commande suivante :
git clone -b v2 https://github.com/Azure/azure-iot-sdk-python.git --recursive
Notes
Les exemples utilisés dans ce tutoriel se trouvent dans la branche v2 du référentiel azure-iot-sdk-python. V3 du Kit de développement logiciel (SDK) Python est disponible en version bêta.
Ouvrez un environnement de ligne de commande Git CMD ou Git Bash.
Clonez le dépôt GitHub du SDK Azure IoT pour Java à l’aide de la commande suivante :
git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
Accédez au répertoire
azure-iot-sdk-java
racine et générez le projet pour télécharger tous les packages nécessaires. Cette étape peut prendre plusieurs minutes.cd azure-iot-sdk-java mvn install -DskipTests=true
Créer une inscription d’appareil
Le service Azure IoT Device Provisioning prend en charge deux types d’inscriptions :
- Groupes d’inscription : utilisés pour inscrire plusieurs appareils connexes.
- Inscriptions individuelles : utilisées pour inscrire un seul appareil.
Cet article décrit l’inscription individuelle d’un appareil à provisionner auprès d’un hub IoT.
Connectez-vous au portail Azure et accédez à votre instance du service Device Provisioning.
Sélectionnez Gérer les inscriptions dans la section Paramètres du menu de navigation.
Sélectionnez l’onglet Inscriptions individuelles, puis Ajouter une inscription individuelle.
Dans la section Inscription + approvisionnement de la page Ajouter une inscription, fournissez les informations suivantes pour configurer les détails de l’inscription :
Champ Description Attestation Sélectionnez Clé symétrique comme Mécanisme d’attestation. Paramètres de clé symétrique Cochez la case Générer automatiquement des clés symétriques si vous souhaitez utiliser des clés générées de manière aléatoire. Désélectionnez cette case si vous souhaitez fournir vos propres clés. ID d'inscription Fournissez un ID d’inscription unique pour l’appareil. État d’approvisionnement Cochez la case Activer cette inscription si vous souhaitez que cette inscription soit disponible pour approvisionner son appareil. Désélectionnez cette case si vous souhaitez désactiver l’inscription. Vous pouvez modifier ce paramètre ultérieurement. Stratégie de réapprovisionnement Choisissez une stratégie de réapprovisionnement qui reflète la façon dont vous souhaitez que DPS gère les appareils qui demandent le réapprovisionnement. Pour plus d’informations, consultez Réplica de réapprovisionnement. Sélectionnez Suivant : hubs IoT.
Sous l’onglet IoT Hubs de la page Ajouter une inscription, fournissez les informations suivantes pour déterminer les hubs IoT pour lesquels l’inscription peut approvisionner des appareils :
Champ Description Hubs IoT cibles Sélectionnez un ou plusieurs de vos hubs IoT liés, ou ajoutez un nouveau lien à un hub IoT. Pour en savoir plus sur la liaison de hubs IoT à votre instance DPS, consultez Comment lier et gérer des hubs IoT. Stratégie d’allocation Si vous avez sélectionné plusieurs hubs IoT liés, sélectionnez la façon dont vous souhaitez affecter des appareils aux différents hubs. Pour en savoir plus sur les stratégies d’allocation, consultez le guide pratique pour utiliser des stratégies d’allocation.
Si vous avez sélectionné un seul hub IoT lié, nous vous recommandons d’utiliser la stratégie de distribution uniformément pondérée.Sélectionnez Suivant : paramètres de l’appareil
Sous l’onglet Paramètres de l’appareil de la page Ajouter une inscription, fournissez les informations suivantes pour définir la façon dont les appareils nouvellement approvisionnés seront configurés :
Champ Description ID de périphérique Fournissez un ID d’appareil qui sera attribué à l’appareil approvisionné dans IoT Hub. Si vous ne fournissez pas un ID d’appareil, l’ID d’inscription est utilisé. IoT Edge Cochez Activer IoT Edge sur les appareils approvisionnés si l’appareil approvisionné exécute Azure IoT Edge. Désélectionnez cette case si cette inscription concerne un appareil sans IoT Edge activé. Balises d’appareil Utilisez cette zone de texte pour fournir les balises que vous souhaitez appliquer au jumeau d’appareil de l’appareil approvisionné. Propriétés souhaitées Utilisez cette zone de texte pour fournir les propriétés souhaitées que vous souhaitez appliquer au jumeau d’appareil de l’appareil approvisionné. Pour en savoir plus, consultez Comprendre et utiliser les jumeaux d’appareil IoT Hub.
Sélectionnez Suivant : Vérifier + créer.
Dans l’onglet Vérifier + créer, vérifiez toutes vos valeurs, puis sélectionnez Créer.
Une fois que vous avez créé l’inscription individuelle, une clé primaire et une clé secondaire sont générées et ajoutées à l’entrée d’inscription. Vous utiliserez la clé primaire dans l’exemple d’appareil plus loin dans ce guide de démarrage rapide.
Pour voir votre inscription d’appareil à clé symétrique simulée, sélectionnez l’onglet Inscriptions individuelles.
Sélectionnez l’ID d’inscription de votre appareil dans la liste des inscriptions individuelles.
Copiez la valeur de la Clé primaire générée.
Préparer et exécuter le code de provisionnement d’un appareil
Dans cette section, vous allez mettre à jour l’exemple de code d’appareil pour envoyer la séquence de démarrage de l’appareil à votre instance du service de provisionnement des appareils. Grâce à cette séquence de démarrage, l’appareil est reconnu, authentifié et affecté à un hub IoT lié à l’instance du service de provisionnement des appareils.
L’exemple de code de provisionnement effectue les tâches suivantes, dans l’ordre :
Authentifie votre appareil avec votre ressource Device Provisioning à l’aide des trois paramètres suivants :
- L’étendue de l’ID de votre service Device Provisioning
- L’ID d’inscription pour l’inscription de votre appareil.
- La clé symétrique principale pour l’inscription de votre appareil.
Affecte l’appareil à l’hub IoT qui est déjà lié à votre instance du service Device Provisioning.
Pour mettre à jour et exécuter l’exemple de provisionnement avec les informations de votre appareil :
Dans le menu principal de votre service Device Provisioning, sélectionnez Vue d’ensemble.
Copiez la valeur Étendue de l’ID.
Dans Visual Studio, ouvrez le fichier de solution azure_iot_sdks.sln généré en exécutant CMake. Le fichier solution doit être à l’emplacement suivant :
\azure-iot-sdk-c\cmake\azure_iot_sdks.sln
Conseil
Si le fichier n’a pas été généré dans votre répertoire CMake, vérifiez que vous avez utilisé une version récente du système de génération CMake.
Dans la fenêtre Explorateur de solutions de Visual Studio, accédez au dossier Provision_Samples. Développez le projet exemple nommé prov_dev_client_sample. Développez Fichiers sources, puis ouvrez prov_dev_client_sample.c.
Recherchez la constante
id_scope
et remplacez la valeur par la valeur Étendue de l’ID que vous avez copiée à l’étape 2.static const char* id_scope = "0ne00002193";
Recherchez la définition de la fonction
main()
dans le même fichier. Vérifiez que la variablehsm_type
est définie surSECURE_DEVICE_TYPE_SYMMETRIC_KEY
, comme indiqué dans l’exemple suivant :SECURE_DEVICE_TYPE hsm_type; //hsm_type = SECURE_DEVICE_TYPE_TPM; //hsm_type = SECURE_DEVICE_TYPE_X509; hsm_type = SECURE_DEVICE_TYPE_SYMMETRIC_KEY;
Recherchez l’appel à
prov_dev_set_symmetric_key_info()
dans prov_dev_client_sample.c qui est commenté.// Set the symmetric key if using they auth type //prov_dev_set_symmetric_key_info("<symm_registration_id>", "<symmetric_Key>");
Supprimez les marques de commentaire de l’appel de fonction et remplacez les valeurs d’espace réservé (crochets inclus) par votre ID d’inscription de votre appareil et la valeur de clé primaire que vous avez copiée précédemment.
// Set the symmetric key if using they auth type prov_dev_set_symmetric_key_info("symm-key-device-007", "your primary key here");
Enregistrez le fichier .
Cliquez avec le bouton droit sur le projet dps_client_sample et sélectionnez Définir comme projet de démarrage.
Dans le menu Visual Studio, sélectionnez Déboguer>Exécuter sans débogage pour exécuter la solution. Dans l’invite de regénération du projet, sélectionnez Yes (Oui) pour regénérer le projet avant de l’exécuter.
La sortie suivante est un exemple illustrant la connexion réussie de l’appareil à l’instance de service de provisionnement à affecter à un hub IoT :
Provisioning API Version: 1.2.8 Registering Device Provisioning Status: PROV_DEVICE_REG_STATUS_CONNECTED Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING Registration Information received from service: test-docs-hub.azure-devices.net, deviceId: device-007 Press enter key to exit:
L’exemple de code de provisionnement effectue les tâches suivantes :
Authentifie votre appareil avec votre ressource Device Provisioning à l’aide des trois paramètres suivants :
- L’étendue de l’ID de votre service Device Provisioning
- L’ID d’inscription pour l’inscription de votre appareil.
- La clé symétrique principale pour l’inscription de votre appareil.
Affecte l’appareil à l’hub IoT qui est déjà lié à votre instance du service Device Provisioning.
Envoie un message de télémétrie de test au hub IoT.
Pour mettre à jour et exécuter l’exemple de provisionnement avec les informations de votre appareil :
Dans le menu principal de votre service Device Provisioning, sélectionnez Vue d’ensemble.
Copiez la valeur Étendue de l’ID.
Ouvrez une invite de commandes et accédez à SymmetricKeySample dans le dépôt du SDK cloné :
cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample\'
Dans le dossier SymmetricKeySample, ouvrez Parameters.cs dans un éditeur de texte. Ce fichier montre les paramètres pris en charge par l’exemple. Seuls les trois premiers paramètres requis sont utilisés dans cet article lors de l’exécution de l’exemple. Passez en revue le code dans ce fichier. Aucune modification n’est requise.
Paramètre Obligatoire Description --i
ou--IdScope
Vrai Étendue de l’ID de l’instance DPS --r
ou--RegistrationId
Vrai L’ID d’inscription est une chaîne insensible à la casse (jusqu’à 128 caractères) de caractères alphanumériques et des caractères spéciaux : '-'
,'.'
,'_'
,':'
. Le dernier caractère doit être alphanumérique ou être un tiret ('-'
).--p
ou--PrimaryKey
Vrai Clé primaire de l’inscription individuelle ou clé d’appareil dérivée de l’inscription de groupe. Pour savoir comment générer la clé dérivée, consultez ComputeDerivedSymmetricKeySample. --g
ou--GlobalDeviceEndpoint
Faux Point de terminaison global pour les appareils auxquels se connecter. La valeur par défaut est global.azure-devices-provisioning.net
--t
ou--TransportType
Faux Transport à utiliser pour communiquer avec l’instance de provisionnement d’appareil. La valeur par défaut est Mqtt
. Les valeurs possibles incluentMqtt
,Mqtt_WebSocket_Only
,Mqtt_Tcp_Only
,Amqp
,Amqp_WebSocket_Only
,Amqp_Tcp_only
etHttp1
.Dans le dossier SymmetricKeySample, ouvrez ProvisioningDeviceClientSample.cs dans un éditeur de texte. Ce fichier montre comment la classe SecurityProviderSymmetricKey est utilisée avec la classe ProvisioningDeviceClient pour provisionner votre appareil à clé symétrique simulé. Passez en revue le code dans ce fichier. Aucune modification n’est requise.
Générez et exécutez l’exemple de code à l’aide de la commande suivante :
- Remplacez
<id-scope>
par la valeur Étendue de l’ID que vous avez copiée à l’étape 2. - Remplacez
<registration-id>
par la valeur ID d’inscription que vous avez fournie pour l’inscription de l’appareil. - Remplacez
<primarykey>
par la valeur Clé primaire que vous avez copiée à partir de l’inscription de l’appareil.
dotnet run --i <id-scope> --r <registration-id> --p <primarykey>
- Remplacez
Vous devriez obtenir un résultat semblable à la sortie suivante. Une chaîne « TestMessage » est envoyée au hub en guise de message de test.
D:\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample>dotnet run --i 0ne00000A0A --r symm-key-csharp-device-01 --p sbDDeEzRuEuGKag+kQKV+T1QGakRtHpsERLP0yPjwR93TrpEgEh/Y07CXstfha6dhIPWvdD1nRxK5T0KGKA+nQ== Initializing the device provisioning client... Initialized for registration Id symm-key-csharp-device-01. Registering with the device provisioning service... Registration status: Assigned. Device csharp-device-01 registered to ExampleIoTHub.azure-devices.net. Creating symmetric key authentication for IoT Hub... Testing the provisioned device with IoT Hub... Sending a telemetry message... Finished. Enter any key to exit.
L’exemple de code de provisionnement effectue les tâches suivantes, dans l’ordre :
Authentifie votre appareil avec votre ressource Device Provisioning à l’aide des quatre paramètres suivants :
PROVISIONING_HOST
PROVISIONING_IDSCOPE
PROVISIONING_REGISTRATION_ID
PROVISIONING_SYMMETRIC_KEY
Affecte l’appareil à l’hub IoT qui est déjà lié à votre instance du service Device Provisioning.
Envoie un message de télémétrie de test au hub IoT.
Pour mettre à jour et exécuter l’exemple de provisionnement avec les informations de votre appareil :
Dans le menu principal de votre service Device Provisioning, sélectionnez Vue d’ensemble.
Copiez les valeurs Étendue de l’ID et Point de terminaison d’appareil global.
Ouvrez une invite de commandes pour l’exécution de commandes Node.js, puis accédez au répertoire suivant :
cd azure-iot-sdk-node/provisioning/device/samples
Dans le dossier provisioning/device/samples, ouvrez register_symkey.js et passez en revue le code. Notez que l’exemple de code définit une charge utile personnalisée :
provisioningClient.setProvisioningPayload({a: 'b'});
Vous pouvez mettre ce code en commentaire, car il n’est pas nécessaire dans le cadre de ce guide de démarrage rapide. Une charge utile personnalisée est nécessaire si vous souhaitez utiliser une fonction d’allocation personnalisée pour affecter votre appareil à un hub IoT. Pour plus d’informations, consultez Didacticiel : Utiliser des stratégies d’allocation personnalisées.
La méthode
provisioningClient.register()
tente d’effectuer l’inscription de votre appareil.Aucun autre changement n’est nécessaire.
À l’invite de commandes, exécutez les commandes suivantes pour définir les variables d’environnement utilisées par l’exemple :
- Remplacez
<provisioning-global-endpoint>
par la valeur Point de terminaison d’appareil global que vous avez copiée à l’étape 2. - Remplacez
<id-scope>
par la valeur Étendue de l’ID que vous avez copiée à l’étape 2. - Remplacez
<registration-id>
par la valeur ID d’inscription que vous avez fournie pour l’inscription de l’appareil. - Remplacez
<primarykey>
par la valeur Clé primaire que vous avez copiée à partir de l’inscription de l’appareil.
set PROVISIONING_HOST=<provisioning-global-endpoint>
set PROVISIONING_IDSCOPE=<id-scope>
set PROVISIONING_REGISTRATION_ID=<registration-id>
set PROVISIONING_SYMMETRIC_KEY=<primarykey>
- Remplacez
Générez et exécutez l’exemple de code à l’aide des commandes suivantes :
npm install
node register_symkey.js
Vous devriez obtenir un résultat semblable à la sortie suivante. Une chaîne « Hello World » est envoyée au hub en guise de message de test.
D:\azure-iot-samples-csharp\provisioning\device\samples>node register_symkey.js registration succeeded assigned hub=ExampleIoTHub.azure-devices.net deviceId=nodejs-device-01 payload=undefined Client connected send status: MessageEnqueued
L’exemple de code de provisionnement effectue les tâches suivantes, dans l’ordre :
Authentifie votre appareil avec votre ressource Device Provisioning à l’aide des quatre paramètres suivants :
PROVISIONING_HOST
PROVISIONING_IDSCOPE
PROVISIONING_REGISTRATION_ID
PROVISIONING_SYMMETRIC_KEY
Affecte l’appareil à l’hub IoT qui est déjà lié à votre instance du service Device Provisioning.
Envoie un message de télémétrie de test au hub IoT.
Pour mettre à jour et exécuter l’exemple de provisionnement avec les informations de votre appareil :
Dans le menu principal de votre service Device Provisioning, sélectionnez Vue d’ensemble.
Copiez les valeurs Étendue de l’ID et Point de terminaison d’appareil global.
Ouvrez une invite de commandes et accédez au répertoire dans lequel se trouve l’exemple de fichier, provision_symmetric_key.py.
cd azure-iot-sdk-python\samples\async-hub-scenarios
À l’invite de commandes, exécutez les commandes suivantes pour définir les variables d’environnement utilisées par l’exemple :
- Remplacez
<provisioning-global-endpoint>
par la valeur Point de terminaison d’appareil global que vous avez copiée à l’étape 2. - Remplacez
<id-scope>
par la valeur Étendue de l’ID que vous avez copiée à l’étape 2. - Remplacez
<registration-id>
par la valeur ID d’inscription que vous avez fournie pour l’inscription de l’appareil. - Remplacez
<primarykey>
par la valeur Clé primaire que vous avez copiée à partir de l’inscription de l’appareil.
set PROVISIONING_HOST=<provisioning-global-endpoint>
set PROVISIONING_IDSCOPE=<id-scope>
set PROVISIONING_REGISTRATION_ID=<registration-id>
set PROVISIONING_SYMMETRIC_KEY=<primarykey>
- Remplacez
Installez la bibliothèque azure-iot-device en exécutant la commande suivante.
pip install azure-iot-device
Exécutez l’exemple de code Python dans provision_symmetric_key.py.
python provision_symmetric_key.py
Vous devriez obtenir un résultat semblable à la sortie suivante. Des exemples de messages de télémétrie de la vitesse du vent sont également envoyés au hub en guise de test.
D:\azure-iot-sdk-python\samples\async-hub-scenarios>python provision_symmetric_key.py RegistrationStage(RequestAndResponseOperation): Op will transition into polling after interval 2. Setting timer. The complete registration result is python-device-008 docs-test-iot-hub.azure-devices.net initialAssignment null Will send telemetry from the provisioned device sending message #8 sending message #9 sending message #3 sending message #10 sending message #4 sending message #2 sending message #6 sending message #7 sending message #1 sending message #5 done sending message #8 done sending message #9 done sending message #3 done sending message #10 done sending message #4 done sending message #2 done sending message #6 done sending message #7 done sending message #1 done sending message #5
L’exemple de code de provisionnement effectue les tâches suivantes, dans l’ordre :
Authentifie votre appareil avec votre ressource Device Provisioning à l’aide des quatre paramètres suivants :
GLOBAL_ENDPOINT
SCOPE_ID
REGISTRATION_ID
SYMMETRIC_KEY
Affecte l’appareil à l’hub IoT qui est déjà lié à votre instance du service Device Provisioning.
Envoie un message de télémétrie de test au hub IoT.
Pour mettre à jour et exécuter l’exemple de provisionnement avec les informations de votre appareil :
Dans le menu principal de votre service Device Provisioning, sélectionnez Vue d’ensemble.
Copiez les valeurs Étendue de l’ID et Point de terminaison d’appareil global. Ces valeurs sont respectivement vos paramètres
SCOPE_ID
etGLOBAL_ENDPOINT
.Ouvrez l’exemple de code d’appareil Java pour le modifier. Le chemin complet de l’exemple de code d’appareil est le suivant :
azure-iot-sdk-java/provisioning/provisioning-device-client-samples/provisioning-symmetrickey-individual-sample/src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningSymmetricKeyIndividualEnrollmentSample.java
Définissez la valeur des variables suivantes pour votre DPS et l’inscription de l’appareil :
- Remplacez
<id-scope>
par la valeur Étendue de l’ID que vous avez copiée à l’étape 2. - Remplacez
<provisioning-global-endpoint>
par la valeur Point de terminaison d’appareil global que vous avez copiée à l’étape 2. - Remplacez
<registration-id>
par la valeur ID d’inscription que vous avez fournie pour l’inscription de l’appareil. - Remplacez
<primarykey>
par la valeur Clé primaire que vous avez copiée à partir de l’inscription de l’appareil.
private static final String SCOPE_ID = "<id-scope>"; private static final String GLOBAL_ENDPOINT = "<provisioning-global-endpoint>"; private static final String SYMMETRIC_KEY = "<primarykey>"; private static final String REGISTRATION_ID = "<registration-id>";
- Remplacez
Ouvrez une invite de commandes pour la génération. Accédez à l’exemple de dossier de projet de provisionnement du dépôt SDK Java.
cd azure-iot-sdk-java\provisioning\provisioning-device-client-samples\provisioning-symmetrickey-individual-sample
Générez l’exemple.
mvn clean install
Accédez au dossier
target
et exécutez le fichier.jar
créé. Dans la commandejava
, remplacez l'espace réservé{version}
par la version dans le nom de fichier.jar
sur votre ordinateur.cd target java -jar ./provisioning-symmetrickey-individual-sample-{version}-with-deps.jar
Vous devriez obtenir un résultat semblable à la sortie suivante.
Starting... Beginning setup. Initialized a ProvisioningDeviceClient instance using SDK version 1.11.0 Starting provisioning thread... Waiting for Provisioning Service to register Opening the connection to device provisioning service... Connection to device provisioning service opened successfully, sending initial device registration message Authenticating with device provisioning service using symmetric key Waiting for device provisioning service to provision this device... Current provisioning status: ASSIGNING Device provisioning service assigned the device successfully IotHUb Uri : <Your IoT hub name>.azure-devices.net Device ID : java-device-007 Sending message from device to IoT Hub... Press any key to exit... Message received! Response status: OK_EMPTY
Confirmer l’inscription du provisionnement de votre appareil
Accédez au portail Azure.
Dans le menu de gauche ou dans la page du portail, sélectionnez Toutes les ressources.
Sélectionnez le hub IoT auquel votre appareil a été attribué.
Dans le menu Gestion des périphériques, sélectionnez Appareils.
Si votre appareil a été provisionné correctement, l’ID de l’appareil doit apparaître dans la liste, avec l’État défini sur Activé. Si vous ne voyez pas votre appareil, sélectionnez Actualiser en haut de la page.
Notes
Si vous avez modifié la valeur par défaut de l’état du jumeau d’appareil initial dans l’entrée d’inscription de votre appareil, l’état du jumeau souhaité peut être extrait du hub et agir en conséquence. Pour en savoir plus, consultez Comprendre et utiliser les jumeaux d’appareil IoT Hub.
Nettoyer les ressources
Si vous envisagez de continuer à manipuler et à explorer l’exemple de client d’appareil, ne nettoyez pas les ressources créées dans ce guide de démarrage rapide. Sinon, effectuez les étapes suivantes pour supprimer toutes les ressources créées par ce guide de démarrage rapide.
Supprimer l’inscription de votre appareil
Fermez la fenêtre de sortie de l’exemple de client d’appareil sur votre machine.
Dans le menu de gauche du portail Azure, sélectionnez Toutes les ressources.
Sélectionnez votre service Device Provisioning.
Dans le menu Paramètres, sélectionnez Gérer les inscriptions.
Sélectionnez l’onglet Inscriptions individuelles.
Cochez la case à côté de l’ID d’inscription de l’appareil que vous avez inscrit dans ce guide de démarrage rapide.
En haut de la page, sélectionnez Supprimer.
Supprimer l’inscription de votre appareil dans IoT Hub
Dans le menu de gauche du portail Azure, sélectionnez Toutes les ressources.
Sélectionnez votre hub IoT.
Dans le menu Explorateurs, sélectionnez Appareils IoT.
Cochez la case à côté de l’ID d’appareil de l’appareil que vous avez inscrit dans ce guide de démarrage rapide.
En haut de la page, sélectionnez Supprimer.
Étapes suivantes
Dans ce démarrage rapide, vous avez approvisionné un seul appareil sur votre hub IoT à l’aide d’une inscription individuelle. Ensuite, découvrez comment approvisionner de nombreux appareils sur plusieurs hubs.