Partager via


Démarrage rapide : Contrôler un appareil connecté à un hub IoT

Dans ce guide de démarrage rapide, vous utilisez une méthode directe pour contrôler un appareil simulé connecté à votre hub IoT. IoT Hub est un service Azure qui vous permet de gérer vos appareils IoT à partir du cloud et d’ingérer des volumes élevés de données de télémétrie d’appareil vers le cloud pour le stockage ou le traitement. Vous pouvez utiliser des méthodes directes pour modifier à distance le comportement des appareils connectés à votre ioT Hub.

Le guide de démarrage rapide utilise deux applications .NET préécrites :

  • Application d’appareil simulé qui répond aux méthodes directes appelées à partir d’une application de service. Pour recevoir les appels de méthode directe, cette application se connecte à un point de terminaison spécifique à l’appareil sur votre hub IoT.

  • Application de service qui appelle les méthodes directes sur l’appareil simulé. Pour appeler une méthode directe sur un appareil, cette application se connecte au point de terminaison côté service sur votre hub IoT.

Conditions préalables

  • Un compte Azure avec un abonnement actif. Créez-en un gratuitement.

  • Les deux exemples d’applications que vous exécutez dans ce guide de démarrage rapide sont écrits à l’aide de C#. Vous avez besoin du Kit de développement logiciel (SDK) .NET 6.0 ou supérieur sur votre ordinateur de développement.

    Vous pouvez télécharger le Kit SDK .NET Core pour plusieurs plateformes sur .NET.

    Vous pouvez vérifier la version actuelle de C# sur votre machine de développement à l’aide de la commande suivante :

    dotnet --version
    
  • Clonez ou téléchargez le Kit de développement logiciel (SDK) Microsoft Azure IoT pour .NET à partir de GitHub. Les exemples d’applications utilisés par ce guide de démarrage rapide sont inclus dans le Kit de développement logiciel (SDK).

  • Assurez-vous que le port 8883 est ouvert dans votre pare-feu. L’exemple d’appareil de ce guide de démarrage rapide utilise le protocole MQTT, qui communique sur le port 8883. Ce port pourrait être bloqué dans certains environnements réseau professionnels et scolaires. Pour plus d’informations et des façons de contourner ce problème, consultez la section Se connecter à IoT Hub de Communiquer avec un hub IoT à l’aide du protocole MQTT.

Remarque

Cet article utilise la version la plus récente de l’extension Azure IoT, appelée azure-iot. La version héritée est appelée azure-cli-iot-ext. Vous ne devez avoir qu’une seule version installée à la fois. Vous pouvez utiliser la commande az extension list pour valider les extensions actuellement installées.

Utilisez az extension remove --name azure-cli-iot-ext pour supprimer la version héritée de l’extension.

Utilisez az extension add --name azure-iot pour ajouter la nouvelle version de l’extension.

Pour voir quelles extensions sont actuellement installées, utilisez az extension list.

Dans cette section, vous utilisez Azure CLI pour créer un hub IoT et un groupe de ressources. Un groupe de ressources Azure est un conteneur logique dans lequel les ressources Azure sont déployées et gérées. Un hub IoT agit en tant que hub de messages central pour la communication bidirectionnelle entre votre application IoT et les appareils.

Si vous disposez déjà d’un hub IoT dans votre abonnement Azure, vous pouvez ignorer cette section.

Pour créer un hub IoT et un groupe de ressources :

  1. Lancez votre application CLI. Pour utiliser les commandes Common Language Infrastructure (CLI) dans le reste de cet article, copiez la syntaxe de la commande, collez-la dans votre application CLI, modifiez les valeurs des variables et appuyez sur Enter.

    • Si vous utilisez Cloud Shell, sélectionnez le bouton Essayer dans les commandes CLI pour lancer Cloud Shell dans une fenêtre de navigateur partagée. Ou vous pouvez ouvrir Cloud Shell dans un onglet de navigateur distinct.
    • Si vous utilisez Azure CLI localement, démarrez votre application console CLI et connectez-vous à Azure CLI.
  2. Exécutez la commande az extension add pour installer ou mettre à niveau l’extension azure-iot vers la version actuelle.

    az extension add --upgrade --name azure-iot
    
  3. Dans votre application CLI, exécutez la commande az group create pour créer un groupe de ressources. La commande suivante crée un groupe de ressources nommé MyResourceGroup à l’emplacement eastus :

    Remarque

    Si vous le souhaitez, vous pouvez définir un autre emplacement. Pour voir les régions disponibles, exécutez az account list-locations. Ce démarrage rapide utilise eastus comme indiqué dans l’exemple de commande.

    az group create --name MyResourceGroup --location eastus
    
  4. Exécutez la commande az iot hub create pour créer un hub IoT. La création de votre hub IoT peut prendre plusieurs minutes.

    YourIoTHubName. Remplacez cet espace réservé et les accolades qui l’entourent dans la commande suivante, en utilisant le nom que vous avez choisi pour votre hub IoT. Le nom du hub IoT doit être globalement unique dans Azure. Utilisez le nom de votre hub IoT dans le reste de ce guide de démarrage rapide là où vous voyez l’espace réservé.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

Récupérer la chaîne de connexion de service

Vous avez également besoin de la chaîne de connexion de service de votre hub IoT pour permettre à l’application de service de se connecter au hub et de récupérer les messages. La chaîne de connexion de service est destinée à votre hub IoT dans son ensemble et diffère de la chaîne de connexion de l’appareil que vous avez récupérée dans la section précédente.

La commande suivante récupère la chaîne de connexion de service pour votre hub IoT :

az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table

Notez la chaîne de connexion de service, qui ressemble à ceci :

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

Vous utiliserez cette valeur plus loin dans ce démarrage rapide.

Simuler un appareil

L’application d’appareil simulé se connecte à un point de terminaison spécifique à l’appareil sur votre hub IoT, envoie des données de télémétrie simulées et écoute les appels de méthode directe à partir de votre hub. Dans ce démarrage rapide, l’appel de méthode directe à partir du concentrateur indique à l’appareil de modifier la fréquence à laquelle il envoie des données de télémétrie. L’appareil simulé renvoie un accusé de réception à votre hub une fois qu’il a exécuté la méthode directe.

  1. Dans une fenêtre de terminal local, accédez au dossier racine du Kit de développement logiciel (SDK). Ensuite, accédez au dossier iothub\device\samples\getting started\SimulatedDeviceWithCommand .

  2. Exécutez la commande suivante pour installer les packages requis pour l’application d’appareil simulé :

    dotnet restore
    
  3. Exécutez la commande suivante pour générer et exécuter l’application d’appareil simulé.

    {DeviceConnectionString} : remplacez cet espace réservé par la chaîne de connexion de l’appareil que vous avez précédemment notée.

    dotnet run -- -c "{DeviceConnectionString}"
    

    La capture d’écran suivante présente la sortie lorsque l’application d’appareil simulé envoie des données de télémétrie à votre IoT Hub :

    Capture d’écran d’une fenêtre de terminal montrant la sortie de l’application d’appareil simulé.

Appeler la méthode directe

L’application de service se connecte à un point de terminaison côté service sur votre IoT Hub. L’application effectue des appels de méthode directe à un appareil via votre IoT Hub et écoute les accusés de réception. Une application de service IoT Hub s’exécute généralement dans le cloud.

  1. Dans une autre fenêtre de terminal local, accédez au dossier racine du Kit de développement logiciel (SDK). Ensuite, accédez au dossier iothub\service\samples\getting started\InvokeDeviceMethod .

  2. Dans la fenêtre de terminal local, exécutez les commandes suivantes pour installer les bibliothèques requises pour l’application de service :

    dotnet build
    
  3. Dans la fenêtre de terminal local, exécutez les commandes suivantes pour générer et exécuter l’application de service.

    {ServiceConnectionString} : remplacez cet espace réservé par la chaîne de connexion de service IoT Hub que vous avez précédemment notée.

    {DeviceName}: remplacez cet espace réservé par le nom de l’appareil que vous avez inscrit.

    dotnet run -- -c "{ServiceConnectionString}" -d {DeviceName}
    

    La capture d’écran suivante montre les résultats quand l’application effectue un appel de méthode direct à l’appareil et reçoit un accusé de réception :

    Capture d’écran d’une fenêtre de terminal montrant le résultat de l’appel de méthode directe à partir de l’application de service.

    Après avoir exécuté l’application de service, vous voyez un message dans la fenêtre du terminal local exécutant le dispositif simulé, et le taux auquel il envoie des messages change :

    Capture d’écran d’une fenêtre de terminal montrant le résultat direct du message et la sortie mise à jour à partir de l’application d’appareil simulé.

Ce guide de démarrage rapide utilise deux applications Java :

  • Application d’appareil simulé qui répond aux méthodes directes appelées à partir d’une application back-end.
  • Application de service qui appelle la méthode directe sur l’appareil simulé.

Conditions préalables

Remarque

Cet article utilise la version la plus récente de l’extension Azure IoT, appelée azure-iot. La version héritée est appelée azure-cli-iot-ext. Vous ne devez avoir qu’une seule version installée à la fois. Vous pouvez utiliser la commande az extension list pour valider les extensions actuellement installées.

Utilisez az extension remove --name azure-cli-iot-ext pour supprimer la version héritée de l’extension.

Utilisez az extension add --name azure-iot pour ajouter la nouvelle version de l’extension.

Pour voir quelles extensions sont actuellement installées, utilisez az extension list.

Créer un hub IoT

Dans cette section, vous utilisez Azure CLI pour créer un hub IoT et un groupe de ressources. Un groupe de ressources Azure est un conteneur logique dans lequel les ressources Azure sont déployées et gérées. Un hub IoT agit en tant que hub de messages central pour la communication bidirectionnelle entre votre application IoT et les appareils.

Si vous disposez déjà d’un hub IoT dans votre abonnement Azure, vous pouvez ignorer cette section.

Pour créer un hub IoT et un groupe de ressources :

  1. Lancez votre application CLI. Pour utiliser les commandes Common Language Infrastructure (CLI) dans le reste de cet article, copiez la syntaxe de la commande, collez-la dans votre application CLI, modifiez les valeurs des variables et appuyez sur Enter.

    • Si vous utilisez Cloud Shell, sélectionnez le bouton Essayer dans les commandes CLI pour lancer Cloud Shell dans une fenêtre de navigateur partagée. Ou vous pouvez ouvrir Cloud Shell dans un onglet de navigateur distinct.
    • Si vous utilisez Azure CLI localement, démarrez votre application console CLI et connectez-vous à Azure CLI.
  2. Exécutez la commande az extension add pour installer ou mettre à niveau l’extension azure-iot vers la version actuelle.

    az extension add --upgrade --name azure-iot
    
  3. Dans votre application CLI, exécutez la commande az group create pour créer un groupe de ressources. La commande suivante crée un groupe de ressources nommé MyResourceGroup à l’emplacement eastus :

    Remarque

    Si vous le souhaitez, vous pouvez définir un autre emplacement. Pour voir les régions disponibles, exécutez az account list-locations. Ce démarrage rapide utilise eastus comme indiqué dans l’exemple de commande.

    az group create --name MyResourceGroup --location eastus
    
  4. Exécutez la commande az iot hub create pour créer un hub IoT. La création de votre hub IoT peut prendre plusieurs minutes.

    YourIoTHubName. Remplacez cet espace réservé et les accolades qui l’entourent dans la commande suivante, en utilisant le nom que vous avez choisi pour votre hub IoT. Le nom du hub IoT doit être globalement unique dans Azure. Utilisez le nom de votre hub IoT dans le reste de ce guide de démarrage rapide là où vous voyez l’espace réservé.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

Inscrire un appareil

Un appareil doit être inscrit dans votre hub IoT pour pouvoir se connecter. Dans cette section, vous utilisez Azure CLI pour créer une identité d’appareil.

Si vous disposez déjà d’un appareil inscrit dans votre hub IoT, vous pouvez ignorer cette section.

Pour créer une identité d’appareil :

  1. Exécutez la commande az iot hub device-identity create dans votre shell CLI. Cette commande crée l'identité de l'appareil.

    YourIoTHubName. Remplacez cet espace réservé et les accolades qui l’entourent dans la commande suivante, en utilisant le nom que vous avez choisi pour votre hub IoT. Le nom du hub IoT doit être globalement unique dans Azure.

    myDevice. Vous pouvez utiliser ce nom pour l’ID d’appareil tout au long de cet article, ou fournissez un autre nom d’appareil.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. Exécutez la commande az iot hub device-identity connection-string show.

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
    

    La chaîne de connexion en sortie est au format suivant :

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Enregistrez la chaîne de connexion en lieu sûr.

Remarque

Maintenez votre application CLI ouverte. Vous l’utiliserez dans les étapes ultérieures.

Récupérer la chaîne de connexion de service

Vous avez également besoin d’une chaîne de connexion de service pour permettre à l’application back-end de se connecter à votre hub IoT et de récupérer les messages. La commande suivante récupère la chaîne de connexion de service pour votre hub IoT :

YourIoTHubName : remplacez cet espace réservé dans la commande suivante par le nom que vous avez choisi pour votre hub IoT.

az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table

Notez la chaîne de connexion de service, qui ressemble à ceci :

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

Vous utiliserez cette valeur plus loin dans ce démarrage rapide. Cette chaîne de connexion de service est différente de la chaîne de connexion de l’appareil que vous avez notée à l’étape précédente.

Simuler un appareil

L’application d’appareil simulé se connecte à un point de terminaison spécifique à l’appareil sur votre hub IoT, envoie des données de télémétrie simulées et écoute les appels de méthode directe à partir de votre hub. Dans ce démarrage rapide, l’appel de méthode directe à partir du concentrateur indique à l’appareil de modifier la fréquence à laquelle il envoie des données de télémétrie. L’appareil simulé renvoie un accusé de réception à votre hub une fois qu’il a exécuté la méthode directe.

  1. Dans une fenêtre de terminal local, accédez au dossier racine de l’exemple de projet Java. Accédez ensuite au dossier iot-hub\Quickstarts\simulated-device-2 .

  2. Ouvrez le fichier src/main/java/com/microsoft/docs/iothub/samples/SimulatedDevice.java dans un éditeur de texte de votre choix.

    Remplacez la valeur de la connString variable par la chaîne de connexion de l’appareil que vous avez notée précédemment. Enregistrez ensuite vos modifications dans SimulatedDevice.java.

  3. Dans la fenêtre de terminal local, exécutez les commandes suivantes pour installer les bibliothèques requises et générer l’application d’appareil simulé :

    mvn clean package
    
  4. Dans la fenêtre de terminal local, exécutez les commandes suivantes pour exécuter l’application d’appareil simulé :

    java -jar target/simulated-device-2-1.0.0-with-deps.jar
    

    La capture d’écran suivante présente la sortie lorsque l’application d’appareil simulé envoie des données de télémétrie à votre IoT Hub :

    Capture d’écran d’une fenêtre de terminal montrant la sortie de l’application d’appareil simulé.

Appeler la méthode directe

L’application back-end se connecte à un point de terminaison côté service sur votre IoT Hub. L’application effectue des appels de méthode directe à un appareil via votre IoT Hub et écoute les accusés de réception. Une application back-end IoT Hub s’exécute généralement dans le cloud.

  1. Dans une autre fenêtre de terminal local, accédez au dossier racine de l’exemple de projet Java. Accédez ensuite au dossier iot-hub\Quickstarts\back-end-application .

  2. Ouvrez le fichier src/main/java/com/microsoft/docs/iothub/samples/BackEndApplication.java dans un éditeur de texte de votre choix.

    Remplacez la valeur de la iotHubConnectionString variable par la chaîne de connexion de service que vous avez notée précédemment. Enregistrez ensuite vos modifications dans BackEndApplication.java.

  3. Dans la fenêtre de terminal local, exécutez les commandes suivantes pour installer les bibliothèques requises et générer l’application principale :

    mvn clean package
    
  4. Dans la fenêtre de terminal local, exécutez les commandes suivantes pour exécuter l’application principale :

    java -jar target/back-end-application-1.0.0-with-deps.jar
    

    La capture d’écran suivante montre les résultats quand l’application effectue un appel de méthode direct à l’appareil et reçoit un accusé de réception :

    Capture d’écran d’une fenêtre de terminal montrant le résultat de l’appel de méthode directe à partir de l’application de service.

    Après avoir exécuté l’application principale, un message s’affiche dans la fenêtre de terminal local exécutant l’appareil simulé, et le taux auquel il envoie des messages change.

    Capture d’écran d’une fenêtre de terminal montrant le résultat direct du message et la sortie mise à jour à partir de l’application d’appareil simulé.

Ce guide de démarrage rapide utilise deux applications Node.js :

  • Application d’appareil simulé qui répond aux méthodes directes appelées à partir d’une application back-end. Pour recevoir les appels de méthode directe, cette application se connecte à un point de terminaison spécifique à l’appareil sur votre hub IoT.
  • Une application back-end qui appelle les méthodes directes sur l’appareil simulé. Pour appeler une méthode directe sur un appareil, cette application se connecte à un point de terminaison spécifique au service sur votre hub IoT.

Conditions préalables

  • Un compte Azure avec un abonnement actif. Créez-en un gratuitement.

  • Node.js 12+.

    Vous pouvez vérifier la version actuelle de Node.js sur votre machine de développement à l’aide de la commande suivante :

    node --version
    
  • Clonez ou téléchargez les exemples d'Node.js Azure IoT à partir de GitHub.

  • Assurez-vous que le port 8883 est ouvert dans votre pare-feu. L’exemple d’appareil de ce guide de démarrage rapide utilise le protocole MQTT, qui communique sur le port 8883. Ce port pourrait être bloqué dans certains environnements réseau professionnels et scolaires. Pour plus d’informations et des façons de contourner ce problème, consultez la section Se connecter à IoT Hub de Communiquer avec un hub IoT à l’aide du protocole MQTT.

Remarque

Cet article utilise la version la plus récente de l’extension Azure IoT, appelée azure-iot. La version héritée est appelée azure-cli-iot-ext. Vous ne devez avoir qu’une seule version installée à la fois. Vous pouvez utiliser la commande az extension list pour valider les extensions actuellement installées.

Utilisez az extension remove --name azure-cli-iot-ext pour supprimer la version héritée de l’extension.

Utilisez az extension add --name azure-iot pour ajouter la nouvelle version de l’extension.

Pour voir quelles extensions sont actuellement installées, utilisez az extension list.

Créer un hub IoT

Dans cette section, vous utilisez Azure CLI pour créer un hub IoT et un groupe de ressources. Un groupe de ressources Azure est un conteneur logique dans lequel les ressources Azure sont déployées et gérées. Un hub IoT agit en tant que hub de messages central pour la communication bidirectionnelle entre votre application IoT et les appareils.

Si vous disposez déjà d’un hub IoT dans votre abonnement Azure, vous pouvez ignorer cette section.

Pour créer un hub IoT et un groupe de ressources :

  1. Lancez votre application CLI. Pour utiliser les commandes Common Language Infrastructure (CLI) dans le reste de cet article, copiez la syntaxe de la commande, collez-la dans votre application CLI, modifiez les valeurs des variables et appuyez sur Enter.

    • Si vous utilisez Cloud Shell, sélectionnez le bouton Essayer dans les commandes CLI pour lancer Cloud Shell dans une fenêtre de navigateur partagée. Ou vous pouvez ouvrir Cloud Shell dans un onglet de navigateur distinct.
    • Si vous utilisez Azure CLI localement, démarrez votre application console CLI et connectez-vous à Azure CLI.
  2. Exécutez la commande az extension add pour installer ou mettre à niveau l’extension azure-iot vers la version actuelle.

    az extension add --upgrade --name azure-iot
    
  3. Dans votre application CLI, exécutez la commande az group create pour créer un groupe de ressources. La commande suivante crée un groupe de ressources nommé MyResourceGroup à l’emplacement eastus :

    Remarque

    Si vous le souhaitez, vous pouvez définir un autre emplacement. Pour voir les régions disponibles, exécutez az account list-locations. Ce démarrage rapide utilise eastus comme indiqué dans l’exemple de commande.

    az group create --name MyResourceGroup --location eastus
    
  4. Exécutez la commande az iot hub create pour créer un hub IoT. La création de votre hub IoT peut prendre plusieurs minutes.

    YourIoTHubName. Remplacez cet espace réservé et les accolades qui l’entourent dans la commande suivante, en utilisant le nom que vous avez choisi pour votre hub IoT. Le nom du hub IoT doit être globalement unique dans Azure. Utilisez le nom de votre hub IoT dans le reste de ce guide de démarrage rapide là où vous voyez l’espace réservé.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

Inscrire un appareil

Un appareil doit être inscrit dans votre hub IoT pour pouvoir se connecter. Dans cette section, vous utilisez Azure CLI pour créer une identité d’appareil.

Si vous disposez déjà d’un appareil inscrit dans votre hub IoT, vous pouvez ignorer cette section.

Pour créer une identité d’appareil :

  1. Exécutez la commande az iot hub device-identity create dans votre shell CLI. Cette commande crée l'identité de l'appareil.

    YourIoTHubName. Remplacez cet espace réservé et les accolades qui l’entourent dans la commande suivante, en utilisant le nom que vous avez choisi pour votre hub IoT. Le nom du hub IoT doit être globalement unique dans Azure.

    myDevice. Vous pouvez utiliser ce nom pour l’ID d’appareil tout au long de cet article, ou fournissez un autre nom d’appareil.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. Exécutez la commande az iot hub device-identity connection-string show.

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
    

    La chaîne de connexion en sortie est au format suivant :

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Enregistrez la chaîne de connexion en lieu sûr.

Remarque

Maintenez votre application CLI ouverte. Vous l’utiliserez dans les étapes ultérieures.

Récupérer la chaîne de connexion de service

Vous avez également besoin de la chaîne de connexion de service de votre hub IoT pour permettre à l’application back-end de se connecter à votre hub IoT et de récupérer les messages. La commande suivante récupère la chaîne de connexion de service pour votre hub IoT :

YourIoTHubName : remplacez cet espace réservé dans la commande suivante par le nom que vous avez choisi pour votre hub IoT.

az iot hub connection-string show \
  --policy-name service --hub-name {YourIoTHubName} --output table

Notez la chaîne de connexion de service, qui ressemble à ceci :

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

Vous utiliserez cette valeur plus loin dans ce démarrage rapide. Cette chaîne de connexion de service est différente de la chaîne de connexion de l’appareil que vous avez notée à l’étape précédente.

Simuler un appareil

L’application d’appareil simulé se connecte à un point de terminaison spécifique à l’appareil sur votre hub IoT, envoie des données de télémétrie simulées et écoute les appels de méthode directe à partir de votre hub. Dans ce démarrage rapide, l’appel de méthode directe à partir du concentrateur indique à l’appareil de modifier la fréquence à laquelle il envoie des données de télémétrie. L’appareil simulé renvoie un accusé de réception à votre hub une fois qu’il a exécuté la méthode directe.

  1. Dans une fenêtre de terminal local, accédez au dossier racine de l’exemple de projet Node.js. Accédez ensuite au dossier iot-hub\Quickstarts\simulated-device-2 .

  2. Ouvrez le fichier SimulatedDevice.js dans un éditeur de texte de votre choix.

    Remplacez la valeur de la connectionString variable par la chaîne de connexion de l’appareil que vous avez notée précédemment. Enregistrez ensuite vos modifications dans SimulatedDevice.js.

  3. Dans la fenêtre de terminal local, exécutez les commandes suivantes pour installer les bibliothèques requises et exécuter l’application d’appareil simulé :

    npm install
    node SimulatedDevice.js
    

    La capture d’écran suivante présente la sortie lorsque l’application d’appareil simulé envoie des données de télémétrie à votre IoT Hub :

    Capture d’écran d’une fenêtre de terminal montrant la sortie de l’application d’appareil simulé.

Appeler la méthode directe

L’application back-end se connecte à un point de terminaison côté service sur votre hub IoT. L’application effectue des appels de méthode directe à un appareil via votre IoT Hub et écoute les accusés de réception. Une application back-end IoT Hub s’exécute généralement dans le cloud.

  1. Dans une autre fenêtre de terminal local, accédez au dossier racine de l’exemple de projet Node.js. Accédez ensuite au dossier iot-hub\Quickstarts\back-end-application .

  2. Ouvrez le fichier BackEndApplication.js dans un éditeur de texte de votre choix.

    Remplacez la valeur de la connectionString variable par la chaîne de connexion de service que vous avez notée précédemment. Enregistrez ensuite vos modifications dans BackEndApplication.js.

  3. Dans la fenêtre de terminal local, exécutez les commandes suivantes pour installer les bibliothèques requises et exécuter l’application principale :

    npm install
    node BackEndApplication.js
    

    La capture d’écran suivante montre les résultats quand l’application effectue un appel de méthode direct à l’appareil et reçoit un accusé de réception :

    Capture d’écran d’une fenêtre de terminal montrant le résultat de l’appel de méthode directe à partir de l’application de service.

    Après avoir exécuté l’application principale, un message s’affiche dans la fenêtre de terminal local exécutant l’appareil simulé, et le taux auquel il envoie des messages change.

    Capture d’écran d’une fenêtre de terminal montrant le résultat direct du message et la sortie mise à jour à partir de l’application d’appareil simulé.

Ce guide de démarrage rapide utilise deux applications Python :

  • Application d’appareil simulé qui répond aux méthodes directes appelées à partir d’une application back-end.
  • Une application back-end qui appelle les méthodes directes sur l’appareil simulé.

Conditions préalables

Remarque

Cet article utilise la version la plus récente de l’extension Azure IoT, appelée azure-iot. La version héritée est appelée azure-cli-iot-ext. Vous ne devez avoir qu’une seule version installée à la fois. Vous pouvez utiliser la commande az extension list pour valider les extensions actuellement installées.

Utilisez az extension remove --name azure-cli-iot-ext pour supprimer la version héritée de l’extension.

Utilisez az extension add --name azure-iot pour ajouter la nouvelle version de l’extension.

Pour voir quelles extensions sont actuellement installées, utilisez az extension list.

Créer un hub IoT

Dans cette section, vous utilisez Azure CLI pour créer un hub IoT et un groupe de ressources. Un groupe de ressources Azure est un conteneur logique dans lequel les ressources Azure sont déployées et gérées. Un hub IoT agit en tant que hub de messages central pour la communication bidirectionnelle entre votre application IoT et les appareils.

Si vous disposez déjà d’un hub IoT dans votre abonnement Azure, vous pouvez ignorer cette section.

Pour créer un hub IoT et un groupe de ressources :

  1. Lancez votre application CLI. Pour utiliser les commandes Common Language Infrastructure (CLI) dans le reste de cet article, copiez la syntaxe de la commande, collez-la dans votre application CLI, modifiez les valeurs des variables et appuyez sur Enter.

    • Si vous utilisez Cloud Shell, sélectionnez le bouton Essayer dans les commandes CLI pour lancer Cloud Shell dans une fenêtre de navigateur partagée. Ou vous pouvez ouvrir Cloud Shell dans un onglet de navigateur distinct.
    • Si vous utilisez Azure CLI localement, démarrez votre application console CLI et connectez-vous à Azure CLI.
  2. Exécutez la commande az extension add pour installer ou mettre à niveau l’extension azure-iot vers la version actuelle.

    az extension add --upgrade --name azure-iot
    
  3. Dans votre application CLI, exécutez la commande az group create pour créer un groupe de ressources. La commande suivante crée un groupe de ressources nommé MyResourceGroup à l’emplacement eastus :

    Remarque

    Si vous le souhaitez, vous pouvez définir un autre emplacement. Pour voir les régions disponibles, exécutez az account list-locations. Ce démarrage rapide utilise eastus comme indiqué dans l’exemple de commande.

    az group create --name MyResourceGroup --location eastus
    
  4. Exécutez la commande az iot hub create pour créer un hub IoT. La création de votre hub IoT peut prendre plusieurs minutes.

    YourIoTHubName. Remplacez cet espace réservé et les accolades qui l’entourent dans la commande suivante, en utilisant le nom que vous avez choisi pour votre hub IoT. Le nom du hub IoT doit être globalement unique dans Azure. Utilisez le nom de votre hub IoT dans le reste de ce guide de démarrage rapide là où vous voyez l’espace réservé.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

Inscrire un appareil

Un appareil doit être inscrit dans votre hub IoT pour pouvoir se connecter. Dans cette section, vous utilisez Azure CLI pour créer une identité d’appareil.

Si vous disposez déjà d’un appareil inscrit dans votre hub IoT, vous pouvez ignorer cette section.

Pour créer une identité d’appareil :

  1. Exécutez la commande az iot hub device-identity create dans votre shell CLI. Cette commande crée l'identité de l'appareil.

    YourIoTHubName. Remplacez cet espace réservé et les accolades qui l’entourent dans la commande suivante, en utilisant le nom que vous avez choisi pour votre hub IoT. Le nom du hub IoT doit être globalement unique dans Azure.

    myDevice. Vous pouvez utiliser ce nom pour l’ID d’appareil tout au long de cet article, ou fournissez un autre nom d’appareil.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. Exécutez la commande az iot hub device-identity connection-string show.

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
    

    La chaîne de connexion en sortie est au format suivant :

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Enregistrez la chaîne de connexion en lieu sûr.

Remarque

Maintenez votre application CLI ouverte. Vous l’utiliserez dans les étapes ultérieures.

Récupérer la chaîne de connexion de service

Vous avez également besoin d’une chaîne de connexion de service pour permettre à l’application back-end de se connecter à votre hub IoT et de récupérer les messages. La commande suivante récupère la chaîne de connexion de service pour votre hub IoT :

YourIoTHubName : remplacez cet espace réservé dans la commande suivante par le nom que vous choisissez pour votre hub IoT.

az iot hub connection-string show \
  --policy-name service \
  --hub-name {YourIoTHubName} \
  --output table

Notez la chaîne de connexion de service, qui ressemble à ceci :

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

Vous utiliserez cette valeur plus loin dans ce démarrage rapide. Cette chaîne de connexion de service est différente de la chaîne de connexion de l’appareil que vous avez notée à l’étape précédente.

Simuler un appareil

L’application d’appareil simulé se connecte à un point de terminaison spécifique à l’appareil sur votre hub IoT, envoie des données de télémétrie simulées et écoute les appels de méthode directe à partir de votre hub. Dans ce démarrage rapide, l’appel de méthode directe à partir du concentrateur indique à l’appareil de modifier la fréquence à laquelle il envoie des données de télémétrie. L’appareil simulé renvoie un accusé de réception à votre hub une fois qu’il a exécuté la méthode directe.

  1. Dans une fenêtre de terminal local, accédez au dossier racine de l’exemple de projet Python. Accédez ensuite au dossier iot-hub\Quickstarts\simulated-device-2 .

  2. Ouvrez le fichier SimulatedDeviceSync.py dans un éditeur de texte de votre choix.

    Remplacez la valeur de la CONNECTION_STRING variable par la chaîne de connexion de l’appareil que vous avez notée précédemment. Enregistrez ensuite vos modifications dans SimulatedDeviceSync.py.

  3. Dans la fenêtre de terminal local, exécutez les commandes suivantes pour installer les bibliothèques requises pour l’application d’appareil simulé :

    pip install azure-iot-device
    
  4. Dans la fenêtre de terminal local, exécutez les commandes suivantes pour exécuter l’application d’appareil simulé :

    python SimulatedDeviceSync.py
    

    La capture d’écran suivante présente la sortie lorsque l’application d’appareil simulé envoie des données de télémétrie à votre IoT Hub :

    Capture d’écran d’une fenêtre de terminal montrant la sortie de l’application d’appareil simulé.

Appeler la méthode directe

L’application back-end se connecte à un point de terminaison côté service sur votre IoT Hub. L’application effectue des appels de méthode directe à un appareil via votre IoT Hub et écoute les accusés de réception. Une application back-end IoT Hub s’exécute généralement dans le cloud.

  1. Dans une autre fenêtre de terminal local, accédez au dossier racine de l’exemple de projet Python. Accédez ensuite au dossier iot-hub\Quickstarts\back-end-application .

  2. Ouvrez le fichier BackEndApplication.py dans un éditeur de texte de votre choix.

    Remplacez la valeur de la CONNECTION_STRING variable par la chaîne de connexion de service que vous avez notée précédemment. Enregistrez ensuite vos modifications dans BackEndApplication.py.

  3. Dans la fenêtre de terminal local, exécutez les commandes suivantes pour installer les bibliothèques requises pour l’application d’appareil simulé :

    pip install azure-iot-hub
    
  4. Dans la fenêtre de terminal local, exécutez les commandes suivantes pour exécuter l’application principale :

    python BackEndApplication.py
    

    La capture d’écran suivante montre les résultats quand l’application effectue un appel de méthode direct à l’appareil et reçoit un accusé de réception :

    Capture d’écran d’une fenêtre de terminal montrant le résultat de l’appel de méthode directe à partir de l’application de service.

    Après avoir exécuté l’application back-end, un message s’affiche dans la fenêtre de console exécutant l’appareil simulé, et le taux auquel il envoie des messages change.

    Capture d’écran d’une fenêtre de terminal montrant le résultat direct du message et la sortie mise à jour à partir de l’application d’appareil simulé.

Nettoyer les ressources

Si vous passez à l’article recommandé suivant, vous pouvez conserver les ressources que vous avez déjà créées et les réutiliser.

Sinon, vous pouvez supprimer les ressources Azure créées dans cet article pour éviter les frais.

Important

La suppression d’un groupe de ressources est irréversible. Le groupe de ressources et toutes les ressources qu’il contient sont supprimés définitivement. Veillez à ne pas supprimer accidentellement les mauvaises ressources ou le mauvais groupe de ressources. Si vous avez créé le hub IoT à l’intérieur d’un groupe de ressources existant qui contient les ressources que vous souhaitez conserver, supprimez uniquement la ressource IoT Hub elle-même au lieu de supprimer le groupe de ressources.

Pour supprimer un groupe de ressources par nom :

  1. Connectez-vous au portail Azure, puis sélectionnez Groupes de ressources.

  2. Dans la zone de texte Filtrer pour n'importe quel champ, tapez le nom du groupe de ressources contenant votre hub IoT.

  3. Dans la liste des résultats, sélectionnez le groupe de ressources contenant votre hub IoT.

  4. Dans le volet de travail du groupe de ressources, sélectionnez Supprimer le groupe de ressources dans la barre de commandes.

    Capture d’écran montrant le volet de travail d’un groupe de ressources dans le portail Azure, avec la commande Supprimer le groupe de ressources mise en surbrillance dans la barre de commandes.

  5. Vous êtes invité à confirmer la suppression du groupe de ressources. Saisissez à nouveau le nom de votre groupe de ressources pour confirmer, puis sélectionnez Supprimer. Après quelques instants, le groupe de ressources et toutes les ressources qu’il contient sont supprimés.

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez appelé une méthode directe sur un appareil à partir d’une application de service et répondu à l’appel de méthode directe dans une application d’appareil simulé.

Pour savoir comment router des messages appareil-à-cloud vers différentes destinations dans le cloud, passez au tutoriel suivant.