Déployer une machine virtuelle Linux prenant en charge IoT Edge

Effectué

Pour tester la configuration de votre IoT Edge, vous devez déployer le runtime IoT Edge sur une machine virtuelle.

Avant de déployer des appareils IoT Edge réels dans vos magasins, vous devez vérifier que les appareils fonctionnent comme prévu. Pour tester votre scénario, vous envisagez de déployer le runtime IoT Edge sur une machine virtuelle Linux Azure, puis de déployer vos modules IoT Edge sur cette machine virtuelle.

Ici, vous allez passer en revue certains concepts fondamentaux IoT Edge, découvrir comment un appareil IoT Edge se connecte à une application IoT Central et comment IoT Central déploie vos modules IoT Edge dans le runtime IoT Edge.

Qu’est-ce que le runtime IoT Edge ?

Le runtime Azure IoT Edge active les logiques cloud et personnalisées sur les périphériques IoT Edge. Le runtime se trouve sur l'appareil IoT Edge et effectue des opérations de gestion et de communication. L’exécution :

  • Il installe et met à jour des charges de travail sur l'appareil.
  • Il tient à jour les normes de sécurité Azure IoT Edge sur l’appareil.
  • Il garantit que les modules IoT Edge sont toujours en cours d’exécution.
  • Il envoie des rapports d’intégrité du module dans le cloud pour la surveillance à distance.
  • Il gère la communication entre les appareils en aval et un appareil IoT Edge, entre les modules sur un appareil IoT Edge, entre un appareil IoT Edge et le cloud, et entre des appareils IoT Edge.

Que sont les modules IoT Edge ?

Les modules IoT Edge sont des unités d’exécution, implémentées qui exécutent votre logique métier en périphérie. Les modules sont implémentés en tant que conteneurs compatibles Docker. Plusieurs modules peuvent être configurés pour communiquer entre eux, créant ainsi un pipeline de traitement des données. Vous pouvez développer des modules personnalisés ou créer des packages de certains services Azure dans des modules qui fournissent des analyses en mode hors connexion et en périphérie. Étant donné que les modules s’exécutent dans des conteneurs Dockers, ils se comportent de la même manière qu’ils soient installés sur une machine virtuelle ou sur un appareil réel.

Dans l’unité suivante, vous installerez le runtime IoT Edge et vous déploierez un module personnalisé qui collecte les données environnementales à envoyer à IoT Central. Un opérateur IoT Central peut ensuite surveiller les conditions environnementales dans vos magasins en affichant les données de télémétrie sur les tableaux de bord de l’application.

Comment un appareil IoT Edge se connecte-t-il à IoT Central ?

Les appareils IoT Edge, comme d’autres appareils, utilisent le service IoT Hub Device Provisioning pour se connecter à votre application IoT Central. Dans l’unité précédente, quand vous avez ajouté un appareil à votre application IoT Central, vous avez pris note de l’ID d’étendue, l’ID d’appareil et la clé d’appareil. Vous ajoutez ces valeurs au fichier de configuration IoT Edge sur l’appareil IoT Edge. La section concernée de ce fichier TOML se présente comme suit. registration_id est l’ID de l’appareil :

[provisioning]
source = "dps"
global_endpoint = "https://global.azure-devices-provisioning.net"
id_scope = "YOUR_ID_SCOPE"

[provisioning.attestation]
method = "symmetric_key"
registration_id = "YOUR_DEVICE_ID"
symmetric_key = { value = "YOUR_DEVICE_KEY" }

Dans l’unité suivante, le script de déploiement que vous utilisez pour l’appareil IoT Edge modifie le fichier de configuration pour vous.

Comment IoT Central déploie des modules sur un runtime IoT Edge ?

Dans l’unité précédente, lorsque vous avez créé le modèle d’appareil pour le capteur d’environnement, vous avez chargé un manifeste de déploiement dans le modèle. Lorsque le runtime IoT Edge se connecte à votre application IoT Central, il télécharge le manifeste de déploiement. Le runtime utilise les informations du manifeste de déploiement pour déterminer les modules à installer et comment les configurer. Les modules sont téléchargés à partir d’un registre de conteneurs, tel que Azure Container Registry ou Docker Hub.

Le manifeste de déploiement que vous avez utilisé installe les deux modules système requis, edgeAgent et edgeHub, ainsi qu’un module SimulatedTemperatureSensor personnalisé. Ce module personnalisé envoie les données de télémétrie ambiant et machine à IoT Central et il compte deux propriétés, SendData et SendInterval, qu’un opérateur peut utiliser pour configurer le module :

{
  "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.4",
              "createOptions": "{}"
            }
          },
          "edgeHub": {
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-hub:1.4",
              "createOptions": "{}"
            }
          }
        },
        "modules": {
          "SimulatedTemperatureSensor": {
            "version": "1.0",
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.4.6",
              "createOptions": "{}"
            }
          }
        }
      }
    },
    "$edgeHub": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "routes": {
            "route": "FROM /* INTO $upstream"
        },
        "storeAndForwardConfiguration": {
          "timeToLiveSecs": 7200
        }
      }
    },
    "SimulatedTemperatureSensor": {
      "properties.desired": {
           "SendData": true,
           "SendInterval": 10
      }
    }
  }
}

Déployer des appareils IoT Edge sur une machine virtuelle

1.

Comment un appareil IoT Edge se connecte-t-il à IoT Central ?

2.

À partir de quel emplacement un appareil IoT Edge télécharge-t-il des modules ?