Connecter des appareils Azure IoT Edge à une application Azure IoT Central

Azure IoT Edge déplace l’analytique cloud et la logique métier personnalisée du cloud vers vos appareils. Cette approche permet à votre solution coud de se concentrer sur les insights métier plutôt que sur la gestion des données. Effectuez un scale-out de votre solution IoT en plaçant votre logique métier dans des conteneurs standard, déployez ces conteneurs sur vos appareils, puis surveillez-les à partir du cloud.

Cet article aborde les points suivants :

  • Modèles de passerelles IoT Edge avec IoT Central.
  • Comment des appareils IoT Edge se connectent à une application IoT Central.
  • Comment utiliser IoT Central pour gérer vos appareils IoT Edge.

Pour en savoir plus sur les IoT Edge, consultez Qu’est-ce qu’Azure IOT Edge ?

IoT Edge

Azure IoT Central with Azure IoT Edge

IoT Edge est constitué de trois composants :

  • Les modules IoT Edge sont des conteneurs qui exécutent les services Azure, les services partenaire ou votre propre code. Ils sont déployés sur des appareils IoT Edge et s’exécutent localement sur ces appareils. Un manifeste de déploiement spécifie les modules à déployer sur un dispositif IoT Edge.
  • Le runtime IoT Edge s’exécute sur chaque appareil IoT Edge et gère les modules déployés sur chaque appareil. Le runtime se compose de deux modules IoT Edge : L’agent IoT Edge et le hub IoT Edge.
  • Une interface basée sur le cloud permet de superviser et de gérer des appareils IoT Edge à distance. IoT Central est un exemple d’interface cloud.

IoT Central offre les fonctionnalités suivantes sur les appareils IoT Edge :

  • Gestion des manifestes de déploiement. Une application IoT Central peut gérer une collection de manifestes de déploiement et les affecter à des appareils.
  • Modèles d’appareils pour décrire les fonctionnalités d'un appareil IoT Edge, par exemple :
    • La télémétrie envoyée par chaque module IoT Edge.
    • Les propriétés de chaque module IoT Edge rapportent.
    • Les commandes auxquelles chaque module IoT Edge répond.
    • Les relations entre un appareil de passerelle IoT Edge et un appareil en aval.
    • Les propriétés cloud qui ne sont pas stockées sur l’appareil IoT Edge.
    • Affichages et formulaires de l’appareil.
  • La possibilité de fournir des dispositifs IoT Edge à l'échelle en utilisant le service Azure IoT de provisionnement des appareils.
  • Règles et actions.
  • Tableaux de bord et analyses personnalisés.
  • Exportation continue des données de télémétrie depuis les appareils IoT Edge.

Un appareil IoT Edge peut être :

  • Un appareil autonome composé de modules personnalisés.
  • un appareil de passerelle avec des appareils en aval qui s’y connectent. Un appareil de passerelle peut inclure des modules personnalisés.

Appareils IoT Edge dans IoT Central

Les appareils IoT Edge peuvent utiliser des jetons de signature d’accès partagé ou des certificats X.509 pour s’authentifier auprès d’IoT Central. Vous pouvez inscrire manuellement vos appareils IoT Edge dans IoT Central avant qu’ils ne se connectent pour la première fois, ou utiliser le service Device Provisioning pour gérer l’inscription. Pour plus d’informations, consultez Connexion des appareils.

IoT Central utilise de manière optionnelle des modèles d’appareil pour définir la manière dont IOT central interagit avec un appareil IoT Edge. Par exemple, un modèle d’appareil spécifie ce qui suit :

  • Les types de données de télémétrie et les propriétés qu’un appareil IoT Edge envoie afin qu’IoT Central puisse les interpréter et créer des visualisations.
  • Les commandes auxquelles un appareil IoT Edge répond afin qu’IoT Central puisse afficher une interface utilisateur qu’un opérateur peut utiliser pour appeler les commandes.

Si aucun modèle d’appareil n’est associé à un appareil, les valeurs de télémétrie et de propriété s’affichent sous forme de données non modélisées . Toutefois, vous pouvez toujours utiliser les fonctionnalités d’exportation de données IoT Central pour transférer les valeurs de télémétrie et de propriété vers d’autres services back-end.

Manifestes de déploiement IoT Edge

Dans IoT Edge, vous pouvez déployer et gérer la logique métier sous forme de modules. Les modules IoT Edge sont la plus petite unité de calcul gérée par IoT Edge. Ils peuvent contenir des services Azure (par exemple, Azure Stream Analytics) ou du code spécifique de votre solution.

Un manifeste de déploiement IoT Edge répertorie les modules IoT Edge à déployer sur l’appareil et comment les configurer.

Dans Azure IoT Central, accédez à Manifestes Edge pour importer et gérer les manifestes de déploiement des appareils IoT Edge de votre solution.

L’extrait de code suivant montre un exemple de manifeste de déploiement IoT Edge :

{
  "modulesContent": {
    "$edgeAgent": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "runtime": {
          "type": "docker",
          "settings": {
            "minDockerVersion": "v1.25",
            "loggingOptions": "",
            "registryCredentials": {}
          }
        },
        "systemModules": {
          "edgeAgent": {
            "type": "docker",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-agent:1.0.9",
              "createOptions": "{}"
            }
          },
          "edgeHub": {
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-hub:1.0.9",
              "createOptions": "{}"
            }
          }
        },
        "modules": {
          "SimulatedTemperatureSensor": {
            "version": "1.0",
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
              "createOptions": "{}"
            }
          }
        }
      }
    },
    "$edgeHub": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "routes": {
            "route": "FROM /* INTO $upstream"
        },
        "storeAndForwardConfiguration": {
          "timeToLiveSecs": 7200
        }
      }
    },
    "SimulatedTemperatureSensor": {
      "properties.desired": {
           "SendData": true,
           "SendInterval": 10
      }
    }
  }
}

Dans l’extrait de code précédent, vous pouvez voir ce qui suit :

  • Il existe trois modules. Les modules système agent IoT Edge et hub IoT Edge qui sont présents dans chaque manifeste de déploiement. Le module SimulatedTemperatureSensor personnalisé.
  • Les images de modules publics sont extraites d’un référentiel Azure Container Registry qui ne requiert pas d’informations d’identification pour se connecter. Pour les images de modules privés, définissez les informations d’identification du registre de conteneurs à utiliser dans le paramètre registryCredentials pour le module agent IoT Edge.
  • Le module SimulatedTemperatureSensor personnalisé a deux propriétés accessibles en écriture, "SendData": true et "SendInterval": 10.

La capture d’écran suivante montre ce manifeste de déploiement importé dans IoT Central :

Screenshot that shows the imported Environmental sensor deployment manifest.

Si votre application utilise des organisations, vous pouvez affecter vos manifestes de déploiement à des organisations spécifiques. La capture d’écran précédente montre le manifeste de déploiement attribué à l’organisation Store Manager/Amériques .

Pour savoir comment utiliser la page manifestes Edge et affecter des manifestes de déploiement à IoT Edge appareils, consultez Gérer les manifestes de déploiement IoT Edge dans votre application IoT Central.

Gérer un appareil non attribué

Un appareil IoT Edge qui n’a pas de modèle d’appareil associé est appelé appareil non attribué. Vous ne pouvez pas utiliser les fonctionnalités d’IoT Central telles que les tableaux de bord, les groupes d’appareils, l’analytique, les règles et les travaux avec des appareils non attribués. Toutefois, vous pouvez utiliser les fonctionnalités suivantes avec les appareils non attribués :

  • Affichez les données brutes telles que les données de télémétrie et les propriétés.
  • Appeler les commandes d’appareil.
  • Propriétés de lecture et d’écriture.

Screenshot that shows unassigned device capabilities.

Vous pouvez également gérer des modules individuels sur des appareils non attribués :

Screenshot that shows the options for managing modules on unassigned devices.

Modèles d’appareils IoT Edge

Les modèles d’appareils IoT Central utilisent des modèles pour décrire les fonctionnalités des appareils IoT Edge. Les modèles d’appareil sont facultatifs pour les appareils IoT Edge. Le modèle d’appareil vous permet d’interagir avec les données de télémétrie, les propriétés et les commandes à l’aide des fonctionnalités IoT Central telles que les tableaux de bord et l’analytique. Le diagramme suivant illustre la structure du modèle pour un appareil IoT Edge :

Diagram that shows the model structure for an IoT Edge device connected to IoT Central.

IoT Central modélise ainsi un appareil IoT Edge :

  • Chaque modèle d’appareil IoT Edge comprend un modèle de capacité.
  • Pour chaque module personnalisé répertorié dans le manifeste de déploiement, ajoutez une définition de module si vous souhaitez utiliser IoT Central pour interagir avec ce module.
  • Un modèle de capacité de module implémente une ou plusieurs interfaces de module.
  • Chaque interface de module contient des données de télémétrie, des propriétés et des commandes.

Vous pouvez générer le modèle de capacité de base en fonction des modules et des propriétés définis dans le manifeste de l’appareil. Pour plus d’informations, consultez Ajouter des modules et des propriétés aux modèles d’appareil.

Modèles de passerelle IoT Edge

IoT Central prend en charge les modèles d’appareils IoT Edge suivants :

IoT Edge en tant que passerelle transparente

Les appareils en aval se connectent à IoT Central via la passerelle avec leur propre identité.

IoT Edge as transparent gateway

L’appareil IoT Edge est approvisionné dans IoT Central avec les appareils en aval connectés à l’appareil IoT Edge. Le runtime pour l’approvisionnement des appareils en aval via la passerelle n'est pas pris en charge actuellement.

Le module hub IoT Edge se comporte comme IoT Central et gère les connexions des appareils inscrits dans IoT Central. Les messages passent des appareils en aval à IoT Central comme s’il n’y avait pas de passerelle entre eux. Dans une passerelle transparente, vous ne pouvez pas utiliser de modules personnalisés pour manipuler les messages provenant d’appareils en aval.

Remarque

IoT Central ne prend actuellement pas en charge la connexion d’un appareil IoT Edge en tant qu’appareil en aval à une passerelle transparente IoT Edge. Cela est dû au fait que tous les appareils qui se connectent à IoT Central sont provisionnés à l’aide du service Device Provisioning Service (DPS), lequel ne prend actuellement pas en charge les scénarios IoT Edge imbriqués.

IoT Edge en tant que passerelle de traduction de protocole

Ce modèle vous permet de connecter des appareils qui ne peuvent pas utiliser les protocoles pris en charge par IoT Central.

IoT Edge as protocol translation gateway

L’appareil IoT Edge est provisionné dans IoT Central et la télémétrie provenant de vos appareils en aval est représentée comme provenant de l’appareil IoT Edge. Les appareils en aval connectés à l’appareil IoT Edge ne sont pas approvisionnés dans IoT Central.

IoT Edge en tant que passerelle de traduction d’identité

Les appareils en aval se connectent à un module de la passerelle qui fournit des identités d’appareil IoT Central pour eux.

IoT Edge as identity translation gateway

L’appareil IoT Edge est approvisionné dans IoT Central avec les appareils en aval connectés à l’appareil IoT Edge. Actuellement, IoT Central ne prend pas en charge l’exécution d’une passerelle pour fournir une identité et approvisionner des appareils en aval. Si vous apportez votre propre module de traduction d’identité, IoT Central peut prendre en charge ce modèle.

Relations des appareils en aval avec une passerelle et des modules

Si les appareils en aval se connectent à un appareil de passerelle IoT Edge par le biais du module du hub IoT Edge, l’appareil IoT Edge est une passerelle transparente :

Diagram of transparent gateway

Si les appareils en aval se connectent à un appareil de passerelle IoT Edge par le biais d’un module personnalisé, l’appareil IoT Edge est une passerelle de traduction. Dans l’exemple suivant, les appareils en aval se connectent via un module personnalisé Modbus qui effectue la traduction de protocole :

Diagram of custom module connection

Le diagramme suivant illustre les connexions à un appareil de passerelle IoT Edge via les deux types de modules. Dans ce scénario, l’appareil IoT Edge est à la fois une passerelle transparente et une passerelle de traduction :

Diagram of connecting using both connection modules

Les appareils en aval peuvent se connecter à un appareil de passerelle IoT Edge via plusieurs modules personnalisés. Le diagramme suivant montre des appareils en aval qui se connectent par le biais d’un module personnalisé Modbus, d’un module personnalisé BLE et du module Hub IoT Edge :

Diagram of connecting using multiple custom modules

Pour en savoir plus sur les modèles de passerelle IoT Edge, consultez le Guide pratique pour utiliser un appareil IoT Edge en tant que passerelle.

Mettre à jour le runtime IoT Edge

Pour savoir où vous pouvez exécuter le runtime IoT Edge, consultez Systèmes pris en charge par Azure IoT Edge.

Vous pouvez également installer le runtime IoT Edge dans les environnements suivants :

Superviser vos appareils IoT Edge

Pour savoir comment superviser à distance votre flotte IoT Edge, consultez Collecter et transporter des métriques.

Étapes suivantes

L’étape suivante suggérée est d’apprendre à Développer vos propres modules IoT Edge.