Guide pratique pour utiliser un appareil IoT Edge en tant que passerelle

S’applique à :IoT Edge 1.4 checkmark IoT Edge 1.4

Important

IoT Edge 1.4 est la version prise en charge. Si vous utilisez une version antérieure, consultez l’article Mettre à jour IoT Edge.

Les appareils IoT Edge peuvent fonctionner en tant que passerelles, en fournissant une connexion entre d’autres appareils sur le réseau et sur IoT Hub.

Le module hub IoT Edge agit comme IoT Hub, de sorte qu’il peut gérer les connexions à partir d’autres appareils qui ont une identité avec le même IoT Hub. Ce type de modèle de passerelle est appelé transparent, car les messages peuvent passer d’appareils en aval à IoT Hub comme s’il n’existait pas de passerelle entre eux.

Pour les appareils qui ne se connectent pas ou ne peuvent pas se connecter à IoT Hub eux-mêmes, les passerelles IoT Edge peuvent leur fournir cette connexion. Ce type de modèle de passerelle est appelé traduction, car l’appareil IoT Edge doit effectuer le traitement des messages entrants d’appareils en aval avant de les transmettre à IoT Hub. Ces scénarios requièrent des modules supplémentaires sur la passerelle IoT Edge pour gérer les étapes de traitement.

Les modèles de passerelle transparente et de traduction ne s’excluent pas mutuellement. Un seul appareil IoT Edge peut fonctionner à la fois en tant que passerelle transparente et passerelle de traduction.

Tous les modèles de passerelles fournissent les avantages suivants :

  • Analytique à la périphérie : utilisez des services IA localement pour traiter les données provenant d’appareils en aval sans envoyer de données de télémétrie haute fidélité au cloud. Recherchez des insights localement, réagissez-y, et envoyez uniquement un sous-ensemble de données à IoT Hub.
  • Isolation des appareils en aval : l’appareil de passerelle peut protéger tous les appareils en aval de l’exposition à Internet. Il peut être placé entre un réseau de technologies opérationnelles (OT) qui n’a pas de connectivité et un réseau de technologies de l’information (IT) qui fournit l’accès au web. De même, les appareils qui n’ont pas la capacité de se connecter à IoT Hub eux-mêmes peuvent se connecter à un appareil de passerelle à la place.
  • Multiplexage des connexions : tous les appareils qui se connectent à IoT Hub via une passerelle IoT Edge peuvent utiliser la même connexion sous-jacente. Cette capacité de multiplexage requiert que la passerelle IoT Edge utilise AMQP comme protocole en amont.
  • Lissage du trafic : l’appareil IoT Edge implémente automatiquement une interruption exponentielle si IoT Hub limite le trafic, tout en assurant une conservation locale des messages. Cet avantage rend votre solution résiliente face aux pics de trafic.
  • Prise en charge hors connexion : l’appareil de passerelle stocke les messages et les mises à jour du jumeau qui ne peuvent pas être remis à IoT Hub.

Passerelles transparentes

Dans le modèle de passerelle transparente, les appareils qui, en théorie, peuvent se connecter à IoT Hub peuvent se connecter à un appareil de passerelle à la place. Les appareils situés en aval ont leurs propres identités IoT Hub et se connectent à l’aide des protocoles MQTT ou AMQP. La passerelle passe simplement les communications entre les appareils et les IoT Hub. Les appareils et les utilisateurs qui interagissent avec eux par le biais d’IoT Hub ne savent pas qu’une passerelle effectue la médiation de leurs communications. Cette ignorance signifie que la passerelle est considérée comme transparente.

Pour plus d’informations sur la façon dont le hub IoT Edge gère la communication entre les appareils en aval et le cloud, consultez Présentation du runtime Azure IoT Edge et de son architecture.

À partir de la version 1.2 d’IoT Edge, les passerelles transparentes peuvent gérer les connexions à partir d’appareils IoT Edge en aval.

Relations parent-enfant

Vous pouvez déclarer des relations de passerelle transparente dans IoT Hub en définissant la passerelle IoT Edge comme parent d’un appareil en aval enfant qui s’y connecte.

Remarque

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

La relation parent-enfant est établie en trois points dans la configuration de la passerelle :

Identités cloud

Tous les appareils d’un scénario de passerelle transparente ont besoin d’identités cloud pour pouvoir s’authentifier auprès d’IoT Hub. Lorsque vous créez ou mettez à jour une identité d’appareil, vous pouvez définir les appareils parent ou enfant de l’appareil. Cette configuration autorise l’appareil de passerelle parent à gérer l’authentification pour ses appareils enfants.

Remarque

La définition de l’appareil parent dans IoT Hub était auparavant une étape facultative pour les appareils en aval utilisant l’authentification par clé symétrique. Toutefois, à compter de la version 1.1.0, chaque appareil en aval doit être affecté à un appareil parent.

Si vous souhaitez que le hub IoT Edge revienne au comportement précédent, affectez à la variable d’environnement AuthenticationMode la valeur CloudAndScope.

Les appareils enfants ne peuvent avoir qu’un seul parent. Par défaut, chaque parent peut avoir jusqu’à 100 enfants. Vous pouvez modifier cette limite en définissant la variable d’environnement MaxConnectedClients dans le module edgeHub de l’appareil parent.

Les appareils IoT Edge peuvent être à la fois parents et enfants dans des relations de passerelle transparente. Il est possible de créer une hiérarchie de plusieurs appareils IoT Edge qui se rapportent les uns aux autres. Le nœud supérieur d’une hiérarchie de passerelle peut avoir jusqu’à cinq générations d’enfants. Par exemple, un appareil IoT Edge peut avoir cinq couches d’appareils IoT Edge qui lui sont liés en tant qu’enfants au-dessous de lui. Mais l’appareil IoT Edge de la cinquième génération ne peut pas avoir d’enfants, IoT Edge ou autre.

Détection de passerelle

Un appareil enfant doit être capable de trouver son appareil parent sur le réseau local. Configurez les appareils de passerelle avec un nom d’hôte, soit un nom de domaine complet (FQDN), soit une adresse IP, que ses appareils enfants utiliseront pour le localiser.

Sur les appareils IoT en aval, utilisez le paramètre gatewayHostname dans la chaîne de connexion pour pointer vers l’appareil parent.

Sur les appareils IoT Edge en aval, utilisez le paramètre parent_hostname dans le fichier config pour pointer vers l’appareil parent.

Connexion sécurisée

Les appareils parents et enfants doivent également authentifier leurs connexions entre eux. Chaque appareil a besoin de la copie d’un certificat partagé d’autorité de certification racine que les appareils enfants utilisent pour vérifier qu’ils se connectent à la passerelle appropriée.

Lorsque plusieurs passerelles IoT Edge se connectent les unes aux autres dans une hiérarchie de passerelle, tous les appareils de la hiérarchie doivent utiliser une seule chaîne de certificats.

Capacités de l’appareil derrière les passerelles transparentes

Toutes les primitives IoT Hub qui fonctionnent avec le pipeline de messagerie d’IoT Edge prennent également en charge les scénarios de passerelle transparente. Chaque passerelle IoT Edge dispose de capacités de stockage et de transfert pour les messages qui passent par elle.

Utilisez le tableau suivant pour voir comment différentes capacités IoT Hub sont prises en charge par les appareils, par rapport aux appareils qui se trouvent derrière les passerelles.

Fonctionnalité Appareil IoT IoT derrière une passerelle Appareil IoT Edge IoT Edge derrière une passerelle
Messages appareil-à-cloud (D2C) Yes - IoT D2C Yes - child IoT D2C Yes - IoT Edge D2C Yes - child IoT Edge D2C
Messages cloud-à-appareil (C2D) Yes - IoT C2D Yes - IoT child C2D No - IoT Edge C2D No - IoT Edge child C2D
Méthodes directes Yes - IoT direct method Yes - child IoT direct method Yes - IoT Edge direct method Yes - child IoT Edge direct method
Jumeaux d’appareil et jumeaux de module Yes - IoT twins Yes - child IoT twins Yes - IoT Edge twins Yes - child IoT Edge twins
Chargement de fichiers Yes - IoT file upload No - IoT child file upload No - IoT Edge file upload No - IoT Edge child file upload
Tirages (pull) d’images conteneur Yes - IoT Edge container pull Yes - child IoT Edge container pull
Chargement de blobs Yes - IoT Edge blob upload Yes - child IoT Edge blob upload

Les images de conteneur peuvent être téléchargées, stockées et transmises d’appareils parents vers des appareils enfants.

Les blobs, y compris les offres groupées d’assistance et les journaux, peuvent être chargés d’appareils enfants sur des appareils parents.

Passerelles de traduction

Si les appareils en aval ne peuvent pas se connecter à IoT Hub, la passerelle IoT Edge doit alors jouer le rôle de traducteur. Ce modèle est souvent requis pour les appareils qui ne prennent pas en charge les protocoles MQTT, AMQP ou HTTP. Comme ces appareils ne peuvent pas se connecter à IoT Hub, ils ne peuvent pas non plus se connecter au module hub IoT Edge sans traitement préalable.

Des modules tiers ou personnalisés qui sont souvent spécifiques au matériel ou au protocole de l’appareil en aval doivent être déployés sur la passerelle IoT Edge. Ces modules de traduction prennent les messages entrants et les transforment en un format qui peut être compris par IoT Hub.

Il existe deux modèles pour les passerelles de traduction : traduction de protocole et traduction d’identité.

Diagram showing translation gateway patterns.

Traduction de protocole

Dans le modèle de passerelle de traduction de protocole, seule la passerelle IoT Edge a une identité avec IoT Hub. Le module de traduction reçoit des messages des appareils en aval et les traduit en un protocole pris en charge, puis l’appareil IoT Edge envoie les messages au nom des appareils en aval. Toutes les informations semblent provenir d’un seul appareil, la passerelle. Les appareils en aval doivent incorporer des informations d’identification supplémentaires dans leurs messages si les applications cloud veulent analyser les données par appareil. De plus, les primitives IoT Hub comme les jumeaux et les méthodes directes sont uniquement prises en charge pour l’appareil de passerelle, et non pour les appareils situés en aval. Les passerelles de ce modèle sont considérées comme opaques contrairement aux passerelles transparentes, car elles masquent les identités des appareils en aval.

La traduction de protocole prend en charge les appareils dont les ressources sont limitées. De nombreux appareils existants produisent des données qui peuvent alimenter les insights métier : toutefois, ils n’ont pas été conçus pour la connectivité au cloud. Les passerelles opaques permettent le déverrouillage et l’utilisation de ces données dans une solution IoT.

Traduction d’identité

Le modèle de passerelle de traduction d’identité s’appuie sur la traduction de protocole, mais la passerelle IoT Edge fournit également une identité d’appareil IoT Hub au nom des appareils en aval. Le module de traduction est chargé de comprendre le protocole utilisé par les appareils en aval, de leur fournir une identité et de traduire leurs messages en primitives IoT Hub. Les appareils en aval s’affichent dans IoT Hub comme des appareils de premier niveau avec des représentations et des méthodes. Un utilisateur peut interagir avec les appareils dans IoT Hub et n’a pas connaissance de l’appareil de passerelle intermédiaire.

La traduction d’identité fournit les avantages de la traduction de protocole et permet, en plus, la gestion complète des appareils en aval à partir du cloud. Tous les appareils associés à votre solution IoT s’affichent dans IoT Hub, quel que soit le protocole qu’ils utilisent.

Capacités de l’appareil derrière les passerelles de traduction

Le tableau suivant explique la façon dont les fonctionnalités IoT Hub sont étendues aux appareils en aval dans les deux modèles de passerelle de traduction.

Fonctionnalité Traduction de protocole Traduction d’identité
Identités stockées dans le registre des identités IoT Hub Uniquement l’identité de l’appareil de passerelle Identités de tous les appareils connectés
Jumeau d’appareil Seule la passerelle a un appareil et des jumeaux de module Chaque appareil connecté possède son propre jumeau d’appareil
Méthodes directes et messages du cloud vers l’appareil Le cloud ne peut porter que sur l’appareil de passerelle Le cloud peut porter individuellement sur chaque appareil connecté
Limitations et quotas d’IoT Hub Appliquer à l’appareil de passerelle Appliquer à chaque appareil

Lorsque vous utilisez un modèle de traduction de protocole, tous les appareils qui se connectent via cette passerelle partagent la même file d’attente cloud-à-appareil, qui peut contenir au maximum 50 messages. Utilisez ce modèle uniquement lorsque peu d’appareils se connectent via chaque passerelle locale et que le trafic cloud-à-appareil est faible.

Le runtime IoT Edge n’inclut pas de protocole ni de capacités de traduction d’identité. Ces modèles nécessitent des modules personnalisés ou tiers qui sont souvent spécifiques au matériel et au protocole utilisés. La Place de marché Azure contient plusieurs modules de traduction de protocole. Pour un exemple qui utilise le modèle de traduction d’identité, consultez Kit de démarrage LoRaWAN d’Azure IoT Edge.

Étapes suivantes

Découvrez les trois étapes de configuration d’une passerelle transparente :