Partager via


Métadonnées relatives aux informations d’appareil dans la solution préconfigurée de surveillance à distance

La solution préconfigurée de surveillance à distance Azure IoT Suite montre une approche de gestion des métadonnées d’appareil. Cet article décrit l’approche de cette solution pour vous permettre de comprendre :

  • Quelles métadonnées d’appareil sont stockées par la solution.
  • Comment la solution gère les métadonnées d’appareil.

Context

La solution préconfigurée de surveillance à distance utilise Azure IoT Hub pour permettre à vos appareils d’envoyer des données vers le cloud. La solution stocke des informations sur les appareils dans trois emplacements différents :

Lieu Informations stockées Implémentation
Registre des identités ID de l’appareil, clés d’authentification, état Activé Intégré à IoT Hub
Jumeaux d’appareil Métadonnées : propriétés signalées, propriétés souhaitées, balises Intégré à IoT Hub
Cosmos DB Historique des commandes et méthodes Personnalisé pour la solution

IoT Hub inclut un registre des identités des appareils pour gérer l’accès à un IoT Hub et utilise des jumeaux d’appareil pour gérer les métadonnées de l’appareil. Il inclut également un registre des appareils spécifique à la solution de supervision à distance qui stocke l’historique des commandes et méthodes. La solution de supervision à distance utilise une base de données Cosmos DB afin d’implémenter un magasin personnalisé pour l’historique des commandes et méthodes.

Notes

La solution préconfigurée de surveillance à distance synchronise le registre des identités des appareils avec les informations de la base de données Cosmos DB. Les deux utilisent le même id d’appareil pour identifier chaque appareil connecté à votre IoT hub de manière unique.

Métadonnées de l’appareil

IoT Hub gère un jumeau d’appareil pour chaque appareil simulé et physique connecté à une solution de supervision à distance. La solution utilise des jumeaux d’appareil pour gérer les métadonnées associées aux appareils. Un jumeau d’appareil est un document JSON géré par IoT Hub et la solution utilise l’API IoT Hub pour interagir avec les jumeaux d’appareil.

Un jumeau d’appareil stocke trois types de métadonnées :

  • Les propriétés signalées sont envoyées à un IoT Hub par un appareil. Dans la solution de supervision à distance, les appareils simulés envoient les propriétés signalées au démarrage et en réponse aux commandes et méthodes Modifier l’état de l’appareil. Vous pouvez afficher les propriétés signalées dans la liste des appareils et les informations sur l’appareil dans le portail de solution. Les propriétés signalées sont en lecture seule.
  • Les propriétés souhaitées sont récupérées à partir d’IoT Hub IoT par les appareils. C’est l’appareil qui doit effectuer les modifications de configuration nécessaires sur l’appareil. C’est également l’appareil qui doit signaler la modification au hub sous la forme d’une propriété signalée. Vous pouvez définir une valeur de propriété souhaitée via le portail de solution.
  • Les balises existent seulement dans le jumeau d’appareil et ne sont jamais synchronisés avec un appareil. Vous pouvez définir des valeurs de balise dans le portail de solution et les utiliser lorsque vous filtrez la liste des appareils. La solution utilise également une balise pour identifier l’icône à afficher pour un appareil dans le portail de solution.

Les propriétés signalées à partir des appareils simulés sont par exemple le fabricant, le numéro de modèle, la latitude et la longitude. Les appareils simulés retournent également la liste des méthodes prises en charge sous la forme d’une propriété signalée.

Notes

Le code d’appareil simulé utilise uniquement les propriétés souhaitées Desired.Config.TemperatureMeanValue et Desired.Config.TelemetryInterval pour mettre à jour les propriétés signalées renvoyées à IoT Hub. Toutes les autres demandes de modification de propriétés souhaitées sont ignorées.

Un document JSON des métadonnées relatives aux informations d’appareil stocké dans la base de données Cosmos DB du registre des appareils présente la structure suivante :

{
  "DeviceProperties": {
    "DeviceID": "deviceid1",
    "HubEnabledState": null,
    "CreatedTime": "2016-04-25T23:54:01.313802Z",
    "DeviceState": "normal",
    "UpdatedTime": null
    },
  "SystemProperties": {
    "ICCID": null
  },
  "Commands": [],
  "CommandHistory": [],
  "IsSimulatedDevice": false,
  "id": "fe81a81c-bcbc-4970-81f4-7f12f2d8bda8"
}

Notes

Les informations d’appareil peuvent également inclure des métadonnées permettant de décrire la télémétrie que l’appareil envoie au IoT Hub. La solution de supervision à distance utilise ces métadonnées de télémétrie pour personnaliser la façon dont le tableau de bord affiche la télémétrie dynamique.

Cycle de vie

Lorsque vous créez un appareil dans le portail de solution, la solution crée une entrée dans la base de données Cosmos DB pour stocker l’historique des commandes et méthodes. À ce stade, la solution crée également une entrée pour l’appareil dans le registre des identités des appareils, qui génère les clés utilisées par l’appareil pour s’authentifier avec IoT Hub. Elle crée également un jumeau d’appareil.

Lorsqu’un appareil se connecte pour la première fois à la solution, il envoie les propriétés signalées et un message d’informations sur l’appareil. Les valeurs des propriétés signalées sont automatiquement enregistrées dans le jumeau d’appareil. Les propriétés signalées incluent le fabricant de l’appareil, le numéro du modèle, le numéro de série et une liste des méthodes prises en charge. Un message d’informations sur l’appareil inclut la liste des commandes prises en charge par l’appareil comprenant des informations sur les paramètres de commande. Lorsque la solution reçoit ce message, elle met à jour les informations de l’appareil dans la base de données Cosmos DB.

Afficher et modifier les informations d’appareil dans le portail de la solution

La liste des appareils du portail de solution affiche par défaut les propriétés d’appareil suivantes sous forme de colonnes : Status, DeviceId, Manufacturer, Model Number, Serial Number, Firmware, Platform, Processor et Installed RAM. Vous pouvez personnaliser les colonnes en cliquant sur l’éditeur de colonne. Les propriétés d’appareil Latitude et Longitude indiquent l’emplacement dans la Carte Bing sur le tableau de bord.

Éditeur de colonne dans la liste des appareils

Dans le volet Informations sur l’appareil du portail de solution, vous pouvez modifier les balises et les propriétés souhaitées (les propriétés signalées sont en lecture seule).

Volet des détails de l’appareil

Vous pouvez utiliser le portail de la solution pour supprimer un appareil de votre solution. Lorsque vous supprimez un appareil, la solution supprime l’entrée de l’appareil du registre d’identité, puis supprime le jumeau d’appareil. La solution supprime également les informations relatives à l’appareil de la base de données Cosmos DB. Avant de pouvoir supprimer un appareil, vous devez le désactiver.

Supprimer l’appareil

Traitement des messages d’information d’appareil

Les messages d’information d’appareil envoyés par un appareil sont différents des messages de télémétrie. Les messages d’information sur l’appareil incluent les commandes auxquelles répond un appareil et l’historique des commandes. IoT Hub lui-même n’a aucune connaissance des métadonnées contenues dans un message d’information d’appareil et traite le message de la même manière qu’il traite tout message appareil-à-cloud. Dans la solution de supervision à distance, une tâche Azure Stream Analytics (ASA) lit les messages issus de IoT Hub. Le travail DeviceInfo Stream Analytics filtre les messages contenant « ObjectType » : « DeviceInfo » et les transmet à l’instance hôte EventProcessorHost qui s’exécute dans une tâche web. La logique dans l’instance EventProcessorHost utilise l’ID d’appareil pour rechercher l’enregistrement Cosmos DB pour l’appareil spécifique et mettre à jour l’enregistrement.

Notes

Un message d’information d’appareil est un message appareil-à-cloud standard. La solution fait la distinction entre les messages d’information d’appareil et les messages de télémétrie en utilisant des requêtes ASA.

Étapes suivantes

Maintenant que vous savez comment personnaliser les solutions préconfigurées, vous pouvez explorer certaines des autres fonctions et fonctionnalités des solutions préconfigurées de la suite IoT :