Partager via


Comprendre les fonctionnalités hors connexion étendues pour les appareils, modules et appareils enfants IoT Edge

S’applique à :Coche IoT Edge 1.5 IoT Edge 1.5

Important

IoT Edge 1.5 LTS est la version prise en charge. IoT Edge 1.4 LTS est en fin de vie depuis le 12 novembre 2024. Si vous utilisez une version antérieure, consultez l’article Mettre à jour IoT Edge.

Azure IoT Edge permet à vos appareils IoT Edge de fonctionner hors connexion pendant des périodes prolongées et permet également aux appareils en aval de fonctionner hors connexion. Une fois qu’un appareil IoT Edge se connecte à IoT Hub une seule fois, l’appareil et tout appareil en aval peut continuer à fonctionner avec une connexion Internet intermittente ou sans connexion Internet.

Fonctionnement

Quand un appareil IoT Edge passe en mode hors connexion, le hub IoT Edge assure trois rôles :

  • Stocke tous les messages qui sont en amont et les enregistre jusqu’à ce que l’appareil se reconnecte.
  • Agit pour le compte d’IoT Hub pour authentifier les modules et les appareils en aval afin qu’ils puissent continuer à fonctionner.
  • Active la communication entre les appareils en aval qui transitent normalement par IoT Hub.

L’exemple de scénario IoT Edge suivant montre le fonctionnement en mode hors connexion :

  1. Configurer des appareils

    Les appareils IoT Edge ont des fonctionnalités hors connexion activées par défaut. Pour étendre cette fonctionnalité à d’autres appareils, configurez les appareils en aval pour approuver leur appareil parent affecté et acheminer les communications appareil-à-cloud via le parent en tant que passerelle.

  2. Synchroniser avec IoT Hub

    Après avoir installé le runtime IoT Edge, vérifiez que l’appareil IoT Edge est en ligne au moins une fois pour la synchronisation avec IoT Hub. Pendant cette synchronisation, l’appareil IoT Edge obtient des détails sur les appareils en aval qui lui sont affectés. L’appareil IoT Edge met également à jour en toute sécurité son cache local pour activer les opérations hors connexion et obtient les paramètres pour le stockage local des messages de télémétrie.

  3. Passer en mode hors connexion

    Bien qu’il soit déconnecté d’IoT Hub, l’appareil IoT Edge, ses modules déployés et tous les appareils en aval peuvent continuer à fonctionner indéfiniment. Les modules et les appareils en aval hors connexion peuvent démarrer et redémarrer en s’authentifiant auprès du hub IoT Edge. La télémétrie de l’appareil liée en amont à IoT Hub est stockée localement. La communication entre les modules ou entre les appareils en aval est maintenue par le biais de méthodes ou messages directs.

  4. Reconnecter et resynchroniser avec IoT Hub

    Lorsque la connexion avec IoT Hub est restaurée, l’appareil IoT Edge se synchronise à nouveau. Les messages stockés localement sont remis immédiatement à IoT Hub, mais la remise dépend de la vitesse de connexion, de la latence IoT Hub et des facteurs connexes. Les messages sont remis dans le même ordre dans lequel ils ont été stockés.

    Les éventuelles différences entre les propriétés désirées et rapportées des modules et des appareils sont rapprochées. L’appareil IoT Edge apporte les modifications nécessaires aux appareils en aval qui lui sont assignés.

Restrictions et limites

Les appareils IoT Edge et leurs appareils en aval affectés peuvent fonctionner indéfiniment hors connexion après la synchronisation unique initiale. Toutefois, le stockage des messages dépend du paramètre de durée de vie (TTL) et de l’espace disque disponible.

EdgeAgent d’un appareil met à jour ses propriétés signalées chaque fois que l’état du déploiement change, comme un déploiement nouveau ou ayant échoué. Quand un appareil est hors connexion, le EdgeAgent ne peut pas signaler l’état au portail Azure. Par conséquent, l’état de l’appareil dans le portail Azure peut rester 200 OK lorsque l’appareil IoT Edge n’a aucune connectivité Internet.

Configurer des appareils parents et enfants

Par défaut, chaque appareil parent peut avoir jusqu’à 100 enfants. Modifiez cette limite en définissant la variable d’environnement MaxConnectedClients dans le module edgeHub. Un appareil enfant n’a qu’un seul parent.

Remarque

Un appareil en aval envoie des données directement à Internet ou à des appareils de passerelle (compatibles IoT Edge ou non). Un appareil enfant peut être un appareil en aval ou un appareil de passerelle dans une topologie imbriquée.

Un appareil en aval peut être n’importe quel appareil, IoT Edge ou non-IoT Edge, inscrit dans le même Hub IoT.

Pour plus d’informations sur la création d’une relation parent-enfant entre un appareil IoT Edge et un appareil IoT, consultez Authentifier un appareil en aval auprès d’Azure IoT Hub. Les sections relatives aux clés symétriques, aux certificats X.509 auto-signés et aux certificats X.509 signés par une autorité de certification présentent des exemples d’utilisation du portail Azure et d’Azure CLI pour définir les relations parent-enfant lors de la création d’appareils. Pour les appareils existants, déclarez la relation à partir de la page de détails de l’appareil dans le portail Azure de l’appareil parent ou enfant.

Pour plus d’informations sur la création d’une relation parent-enfant entre deux appareils IoT Edge, consultez Connexion d’un appareil IoT Edge en aval à une passerelle Azure IoT Edge.

Définir un appareil parent en tant que passerelle

Considérez une relation parent/enfant comme une passerelle transparente, où l’appareil enfant a sa propre identité dans IoT Hub, mais communique via le cloud via son parent. Pour une communication sécurisée, l’appareil enfant doit vérifier que l’appareil parent provient d’une source approuvée. Autrement, des tiers risqueraient de configurer des appareils malveillants pour usurper l’identité des parents et intercepter les communications.

Une façon de créer cette relation d’approbation est décrite en détail dans les articles suivants :

Spécifier les serveurs DNS

Pour améliorer la robustesse, spécifiez les adresses de serveur DNS utilisées dans votre environnement. Pour définir votre serveur DNS pour IoT Edge, consultez la résolution au problème Le module Edge Agent rapporte le message « fichier config vide » et aucun module ne démarre sur l’appareil dans l’article relatif à la résolution des problèmes.

Paramètres hors connexion facultatifs

Si vos appareils se déconnectent, l’appareil parent IoT Edge stocke tous les messages destinés au cloud jusqu’à ce que la connexion soit rétablie. Le module Hub IoT Edge gère le stockage et le transfert de messages hors connexion.

Pour les appareils qui peuvent être hors connexion pendant une longue période, optimisez les performances en définissant deux options de hub IoT Edge :

  • Augmentez la durée de vie du paramètre afin que le hub IoT Edge conserve les messages jusqu’à ce que votre appareil se reconnecte.
  • Ajoutez davantage d’espace disque pour le stockage de messages.

Durée de vie

La durée de vie du paramètre est la durée (en secondes) pendant laquelle un message attend d’être remis avant son expiration. La valeur par défaut est de 7 200 secondes (deux heures). La valeur maximale est limitée par la valeur maximale d’une variable entière, qui est d’environ 2 milliards.

Ce paramètre est une propriété souhaitée du hub IoT Edge, stockée dans le jumeau de module. Configurez-le dans le portail Azure ou directement dans le manifeste de déploiement.

"$edgeHub": {
    "properties.desired": {
        "schemaVersion": "1.1",
        "routes": {},
        "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
        }
    }
}

Stockage hôte pour les modules système

Par défaut, le hub IoT Edge stocke les messages et l’état du module dans son système de fichiers conteneur local. Pour une meilleure fiabilité, en particulier en mode hors connexion, dédiez le stockage sur l’appareil IoT Edge hôte. Pour plus d’informations, consultez Fournir à des modules l’accès au stockage local d’un appareil.

Étapes suivantes

Découvrez comment configurer une passerelle transparente pour les connexions parents/enfants de votre appareil :