Utiliser l’extension IoT pour Azure CLI permettant la gestion des appareils Azure IoT Hub

Diagramme de bout en bout

Dans cet article, vous apprenez à utiliser l’extension IoT pour Azure CLI avec différentes options de gestion sur votre machine de développement. L’extension IoT pour Azure CLI est une extension IoT open source qui étend les fonctionnalités de d’Azure CLI. L’interface Azure CLI comprend des commandes permettant d’interagir avec les points de terminaison de gestion et ceux d’Azure Resource Manager. Par exemple, vous pouvez utiliser Azure CLI pour créer une machine virtuelle Azure ou un hub IoT. Une extension de l’interface CLI permet à un service Azure d’enrichir l’interface CLI, donnant ainsi accès à des fonctionnalités supplémentaires propres au service. L’extension IoT offre aux développeurs IoT un accès en ligne de commande à toutes les fonctionnalités d’IoT Hub, d’IoT Edge et du service IoT Hub Device Provisioning.

Option de gestion Tâche
Méthodes directes Faites agir un appareil comme commençant/arrêtant d’envoyer des messages ou comme redémarrant l’appareil.
Propriétés souhaitées pour la représentation Mettez un appareil dans certains états, par exemple en réglant un voyant sur le vert ou en définissant l’intervalle d’envoi de télémétrie sur 30 minutes.
Propriétés signalées pour la représentation Obtenez l’état signalé d’un appareil. Par exemple, l’appareil signale que le voyant clignote maintenant.
Balises de représentation Stocker les métadonnées spécifiques à l’appareil dans le cloud, par exemple, l’emplacement de déploiement d’un distributeur automatique.
Requêtes de représentations d’appareil Interrogez tous les jumeaux d’appareil pour récupérer ceux qui présentent des conditions arbitraires, comme l’identification des appareils qui sont disponibles pour utilisation.

Pour plus d’explications sur les différences et des conseils sur l’utilisation de ces options, consultez l’aide sur la communication appareil-à-cloud et l’aide sur la communication cloud-à-appareil.

Les représentations d’appareil sont des documents JSON qui stockent des informations sur l’état des appareils (métadonnées, configurations et conditions). IoT Hub conserve une représentation d’appareil pour chaque appareil que vous y connectez. Pour plus d’informations sur les représentations d’appareil, consultez Prise en main des représentations d’appareils.

Notes

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. Une seule version doit être 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 les extensions que vous avez installées, utilisez az extension list.

Notes

Les fonctionnalités décrites dans cet article sont uniquement disponibles au niveau Standard d’IoT Hub. Pour plus d’informations sur les niveaux de base et standard/gratuit d’IoT Hub, consultez Choisir le niveau IoT Hub correspondant à votre solution.

Prérequis

  • Suivre le tutoriel Simulateur en ligne Raspberry Pi ou un des tutoriels de l’appareil. Par exemple, vous pouvez accéder à Raspberry Pi avec Node.js ou à l’un des démarrages rapides Envoyer des données de télémétrie. Ces articles demandent les éléments suivants :

    • Un abonnement Azure actif.
    • Une instance Azure IoT Hub associée à votre abonnement.
    • Une application cliente qui envoie des messages à votre instance Azure IoT Hub.
  • Vérifiez que votre appareil exécute l’application cliente tout au long de ce didacticiel.

  • Python 2.7x ou Python 3.x

  • l’interface de ligne de commande Azure. Si vous devez l’installer, consultez Installer l’interface Azure CLI. Vous devez utiliser Azure CLI version 2.0.70 ou ultérieure. Utilisez az –version pour valider.

Notes

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. Une seule version doit être 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 les extensions que vous avez installées, utilisez az extension list.

  • Installez l’extension IoT. Le plus simple consiste à exécuter az extension add --name azure-iot. Le Lisez-moi de l’extension IoT décrit différentes manières d’installer l’extension.

Connexion à votre compte Azure

Connectez-vous à votre compte Azure en exécutant la commande suivante :

az login

Méthodes directes

az iot hub invoke-device-method --device-id <your device id> \
  --hub-name <your hub name> \
  --method-name <the method name> \
  --method-payload <the method payload>

Propriétés souhaitées du jumeau d’appareil

Définissez un intervalle de propriété = 3000 en exécutant la commande suivante :

az iot hub device-twin update -n <your hub name> \
  -d <your device id> --set properties.desired.interval=3000

Cette propriété peut être lue sur votre appareil.

Propriétés signalées du jumeau d’appareil

Obtenez les propriétés signalées de l’appareil en exécutant la commande suivante :

az iot hub device-twin show -n <your hub name> -d <your device id>

L’une des propriétés jumelles signalées est $metadata.$lastUpdated, qui indique la dernière fois où l’application d’appareil a mis à jour son ensemble de propriétés signalées.

Balises du jumeau d’appareil

Affichez les balises et les propriétés de votre appareil en exécutant la commande suivante :

az iot hub device-twin show --hub-name <your hub name> --device-id <your device id>

Ajoutez un champ Rôle = temperature&humidity à l’appareil en exécutant la commande suivante :

az iot hub device-twin update \
  --hub-name <your hub name> \
  --device-id <your device id> \
  --set tags='{"role":"temperature&humidity"}'

Requêtes de représentations d’appareil

Interrogez les appareils avec une étiquette Rôle = « temperature&humidity » en exécutant la commande suivante :

az iot hub query --hub-name <your hub name> \
  --query-command "SELECT * FROM devices WHERE tags.role = 'temperature&humidity'"

Interrogez tous les appareils à l’exception de ceux avec une étiquette Rôle = « temperature&humidity » en exécutant la commande suivante :

az iot hub query --hub-name <your hub name> \
  --query-command "SELECT * FROM devices WHERE tags.role != 'temperature&humidity'"

Étapes suivantes

Vous avez appris à analyser des messages appareil vers cloud et à envoyer des messages cloud vers appareil entre votre appareil IoT et l’instance IoT Hub.

Pour continuer à bien démarrer avec Azure IoT Hub et explorer tous les scénarios IoT, consultez les articles suivants :