Fonctionnement d’Azure IoT

Effectué

Ici, vous allez découvrir les composants et les fonctionnalités essentiels d’Azure IoT, et voir comment ils s’intègrent dans une solution :

  • Développement d’appareil
  • Connectivité des appareils
  • Gestion et contrôle des appareils
  • Traiter et acheminer les messages
  • Étendre votre solution IoT
  • Analyser et visualiser vos données IoT
  • Gérer votre solution
  • Sécuriser votre solution
  • Scalabilité et haute disponibilité

Développement d’appareil

Diagram that shows the high-level IoT solution architecture highlighting device development areas.

Dans Azure IoT, un développeur d’appareils écrit le code à exécuter sur les appareils de la solution. Ce code est généralement le suivant :

  • Établit une connexion sécurisée à un point de terminaison cloud.
  • Envoie les données de télémétrie collectées à partir de capteurs attachés au cloud.
  • Gère l’état de l’appareil et synchronise cet état avec le cloud.
  • Répond aux commandes envoyées à partir du cloud.
  • Permet l’installation des mises à jour de logiciels et de microprogrammes à partir du cloud.
  • Permet à l’appareil de continuer à fonctionner pendant qu’il est déconnecté du cloud.

Types d’appareils

Les appareils IoT peuvent être répartis en deux catégories principales : microcontrôleurs (MCU) et microprocesseurs (MPU) :

  • Les MCU sont moins chers et plus simples à utiliser que les MPU.
  • Un MCU héberge un grand nombre des fonctions, telles que la mémoire, les interfaces et les E/S, au sein de la puce elle-même. Un MPU accède à ces fonctionnalités de composants dans des puces de prise en charge.
  • Un MCU utilise souvent un système d’exploitation en temps réel (RTOS) ou s’exécute nu (sans système d’exploitation) et fournit une réponse en temps réel et des réactions très déterministes aux événements externes. Les MPU exécutent généralement un système d’exploitation à usage général, tel que Windows, Linux ou macOS, qui fournit une réponse en temps réel non déterministe. Il n’y a généralement aucune garantie quant au moment auquel une tâche sera effectuée.

Primitives

Un appareil Azure IoT peut utiliser les primitives suivantes pour interagir avec le cloud :

  • Messages appareil-à-cloud pour envoyer des données de télémétrie de série chronologique au cloud. Par exemple, des données de température sont collectées à partir d’un capteur intégré à la machine à café connectée.
  • Chargements de fichiers pour les fichiers multimédias tels que les images capturées et les vidéos. Les appareils connectés par intermittence peuvent envoyer des lots de télémétrie. Les appareils peuvent compresser les chargements pour économiser de la bande passante.
  • Jumeaux d’appareil pour partager et synchroniser les données d’état avec le cloud. Par exemple, un appareil peut utiliser le jumeau d’appareil pour signaler l’état actuel d’une vanne qu’il contrôle au cloud et pour recevoir une température cible souhaitée à partir du cloud.
  • Jumeaux numériques pour représenter un appareil dans le monde numérique. Par exemple, un jumeau numérique peut représenter l’emplacement physique d’un appareil, ses fonctionnalités et ses relations avec d’autres appareils.
  • Méthodes directes pour recevoir des commandes du cloud. Une méthode directe peut avoir des paramètres et retourner une réponse. Par exemple, le cloud peut appeler une méthode directe pour demander à la machine à café connectée de se réinitialiser dans 30 secondes.
  • Messages cloud-à-appareil pour recevoir des notifications unidirectionnelles du cloud. Par exemple, une notification indique qu’une mise à jour de la machine à café connectée est prête à être téléchargée.

Kits Azure IoT device SDK

Les SDK d’appareil fournissent des abstractions de haut niveau qui vous permettent d’utiliser les primitives sans connaître les protocoles de communication sous-jacents. Les SDK d’appareil gèrent également les détails de l’établissement d’une connexion sécurisée au cloud et de l’authentification de l’appareil.

Bien qu’il soit recommandé d’utiliser l’un des SDK de l’appareil, il peut y avoir des scénarios où vous préférez ne pas l’utiliser. Dans ces scénarios, votre code d’appareil doit utiliser directement l’un des protocoles de communication que prennent en charge IoT Hub et le Service de provisionnement d’appareil (DPS).

Code d’appareil conteneurisé

L’utilisation de conteneurs, tels que Docker, pour exécuter votre code d’appareil vous permet de déployer du code sur vos appareils à l’aide des fonctionnalités de l’infrastructure de conteneur. Les conteneurs vous permettent également de définir un environnement d’exécution pour votre code avec toutes les versions de bibliothèque et de package requises installées. Les conteneurs facilitent le déploiement des mises à jour et la gestion du cycle de vie de vos appareils IoT.

Azure IoT Edge exécute le code de l’appareil dans des conteneurs. Vous pouvez utiliser Azure IoT Edge pour déployer des modules de code sur vos appareils.

Connectivité des appareils

Diagram that shows the high-level IoT solution architecture highlighting device connectivity areas.

Un appareil peut établir une connexion sécurisée à un hub IoT dans le cloud :

  • Directement, auquel cas vous devez fournir à l’appareil une chaîne de connexion qui inclut le nom d’hôte.
  • De manière indirecte, à l’aide du service DPS (Device Provisioning Service). Dans ce cas, l’appareil se connecte à un point de terminaison DPS bien connu pour récupérer la chaîne de connexion du hub IoT auquel il est affecté.

L’avantage de l’utilisation de DPS est que vous n’avez pas besoin de configurer tous vos appareils avec des chaînes de connexion spécifiques à votre hub IoT. Au lieu de cela, vous configurez vos appareils pour qu’ils se connectent à un point de terminaison DPS connu et commun où ils découvrent leurs détails de connexion.

Authentification et autorisation

Les appareils Azure IoT utilisent TLS pour vérifier l’authenticité du point de terminaison IoT Hub ou DPS auquel ils se connectent. Les kits SDK d’appareil incluent le certificat TLS DigiCert Global Root G2 dont ils ont actuellement besoin pour établir une connexion sécurisée au hub IoT.

Les appareils Azure IoT peuvent utiliser des jetons de signature d’accès partagé (SAP) ou des certificats X.509 pour s’authentifier auprès d’un hub IoT. Les certificats X.509 sont recommandés dans un environnement de production.

Protocoles

Un appareil IoT peut utiliser l’un de plusieurs protocoles réseau lorsqu’il se connecte à un point de terminaison IoT Hub ou DPS :

Les scénarios IoT industriels utilisent souvent l’interface ouverte qui est la norme de l’industrie open platform communications unified architecture (OPC UA. Pour activer la connectivité à IoT Hub, utilisez OPC Publisher qui s’exécute en tant que module sur IoT Edge.

Modèles de connexion

Les appareils IoT utilisent deux grandes catégories de modèles de connexion pour se connecter au cloud :

  • Les connexions permanentes sont nécessaires quand votre solution a besoin de capacités de commande et de contrôle. Dans les scénarios de commande et de contrôle, votre solution IoT envoie des commandes aux appareils pour contrôler leur comportement en quasi-temps réel. Les connexions persistantes maintiennent une connexion réseau avec le cloud et se reconnectent en cas d’interruption. Utilisez le protocole MQTT ou AMQP pour les connexions d’appareils persistantes à un hub IoT. Les Kits de développement logiciel (SDK) d’appareil IoT permettent à la fois aux protocoles MQTT et AMQP de créer des connexions persistantes à un hub IoT.

  • Les connexions éphémères sont de brèves connexions permettant aux appareils d’envoyer des données de télémétrie à votre hub IoT. Une fois qu’un appareil a envoyé la télémétrie, il annule la connexion. Il se reconnecte lorsqu’il a d’autres données de télémétrie à envoyer. Les connexions éphémères ne conviennent pas aux scénarios de commande et de contrôle. Un client d’appareil peut utiliser l’API HTTP s’il n’a qu’à envoyer des données de télémétrie.

Passerelles de champ

Les passerelles de champ (parfois appelées passerelles de périphérie) sont généralement déployées localement et à proximité de vos appareils IoT. Les passerelles de terrain gèrent la communication avec le cloud pour le compte de vos appareils IoT. Les passerelles locale peuvent :

  • Faire une traduction de protocole. Par exemple, l’activation des appareils compatibles Bluetooth pour se connecter au cloud.
  • Gérer les scénarios hors connexion et déconnectés. Par exemple, la mise en mémoire tampon des données de télémétrie lorsque le point de terminaison cloud est inaccessible.
  • Filtrez, compressez ou agrégez les données de télémétrie avant d’être envoyées au cloud.
  • Exécutez la logique à la périphérie pour supprimer la latence associée à l’exécution de la logique pour le compte d’appareils dans le cloud. Par exemple, la détection d’un pic de température et l’ouverture d’une vanne en réponse.

Vous pouvez utiliser Azure IoT Edge pour déployer une passerelle de champ dans votre environnement local. IoT Edge fournit un ensemble de fonctionnalités qui vous permettent de déployer et de gérer des passerelles de champ à grande échelle. IoT Edge fournit également un ensemble de modules que vous pouvez utiliser pour implémenter des scénarios de passerelle courants.

Ponts

Un pont d’appareil permet aux appareils connectés à un cloud tiers de se connecter à votre solution IoT. Sigfox, Particle Device Cloud et The Things Network sont des exemples de clouds IoT tiers.

Gestion et contrôle des appareils

Diagram that shows the high-level IoT solution architecture highlighting device management areas.

Dans Azure IoT, la commande et le contrôle font référence aux processus qui vous permettent d’envoyer des commandes à des appareils et de recevoir des réponses de leur part. Par exemple, vous pouvez envoyer une commande à une machine à café pour :

  • Demander les valeurs de température maximale et minimale pour les deux dernières heures.
  • Régler l’intervalle de télémétrie sur 10 secondes.

Dans Azure IoT, la gestion des appareils comprend certaines tâches, par exemple :

  • Inscription des appareils : Pour qu’un appareil puisse se connecter à un hub IoT, il doit être inscrit. L’inscription d’appareil est le processus de création d’une identité d’appareil dans le cloud. Chaque hub IoT a son propre registre d’appareils interne. L’identité de l’appareil est utilisée pour authentifier l’appareil lorsqu’il se connecte à Azure IoT.
  • Provisionnement des appareils : Vous devez configurer chaque appareil de votre solution avec les détails du hub IoT auquel il doit se connecter. Vous pouvez configurer manuellement chaque appareil dans votre solution, mais cela peut ne pas être pratique pour un grand nombre d’appareils. Pour contourner ce problème, vous pouvez utiliser le Service de provisionnement d’appareil (DPS) pour inscrire automatiquement chaque appareil auprès d’un hub IoT, puis approvisionner chaque appareil avec les informations de connexion requises.
  • Déploiement des appareils : Dans Azure IoT, le déploiement des appareils fait généralement référence au processus d’installation de logiciels sur un appareil IoT Edge. Lorsqu’un appareil IoT Edge se connecte à un hub IoT, il reçoit un manifeste de déploiement qui contient les détails des modules à exécuter sur l’appareil. Le manifeste de déploiement contient également des informations de configuration pour les modules. Il existe un certain nombre de modules standard disponibles pour les appareils IoT Edge. Vous pouvez également créer vos propres modules personnalisés.
  • Mises à jour des appareils : En règle générale, votre solution IoT doit inclure un moyen de mettre à jour les logiciels de l’appareil. Pour un appareil IoT Edge, vous pouvez mettre à jour les modules qui s’exécutent sur l’appareil en mettant à jour le manifeste de déploiement. Le service Device Update pour IoT Hub fournit une solution managée pour la mise à jour des appareils non IoT Edge.
  • Monitoring des appareils : Dans le cadre du monitoring global de la solution, vous pouvez effectuer un monitoring de l’intégrité de vos appareils. Par exemple, vous pouvez superviser l’intégrité de vos appareils ou détecter quand un appareil n’est plus connecté au cloud.

Traiter et acheminer les messages

Diagram that shows the high-level IoT solution architecture highlighting message processing areas.

Dans Azure IoT, le terme « traitement des messages » fait référence à des processus tels que le routage et l’enrichissement des messages de télémétrie envoyés par les appareils. Ces processus permettent de contrôler le flux des messages via la solution IoT et d’ajouter des informations supplémentaires aux messages.

Acheminer les messages

Un hub IoT fournit un point d’entrée cloud pour les messages de télémétrie que vos appareils envoient. Dans une solution IoT typique, ces messages sont remis à d’autres services en aval à des fins de stockage ou d’analyse. IoT Hub et IoT Central fournissent des mécanismes de routage des messages vers les autres services.

Enrichir ou transformer des messages

Pour simplifier le traitement en aval, vous pouvez ajouter des données aux messages de télémétrie ou modifier leur structure.

Les enrichissements de message IoT Hub vous permettent d’ajouter des données aux messages envoyés par vos appareils. Vous pouvez ajouter :

  • Une chaîne statique
  • Le nom du hub IoT qui traite le message.
  • Informations venant du jumeau d’appareil

IoT Central dispose de deux options pour transformer les messages de télémétrie :

  • Utilisez des mappages pour transformer la télémétrie de dispositifs complexes en données structurées à l’entrée dans IoT Central.
  • Utilisez des transformations pour manipuler le format et la structure des données de l’appareil avant de les exporter vers une destination.

Traiter les messages à la périphérie

Un module Azure IoT Edge peut traiter les données de télémétrie à partir d’un capteur ou d’un appareil joint avant leur envoi à un hub IoT. Par exemple, avant d’envoyer des données au cloud, un module IoT Edge peut :

  • Filtrer les données
  • Agréger les données
  • Convertir des données

Autres services cloud

Vous pouvez utiliser d’autres services Azure pour traiter les messages de télémétrie de vos appareils. IoT Hub, tout comme IoT Central, peuvent acheminer des messages vers d’autres services. Par exemple, vous pouvez transférer des messages de télémétrie à Azure Stream Analytics ou Azure Functions pour un traitement plus approfondi.

Étendre votre solution IoT

Diagram that shows the high-level IoT solution architecture highlighting solution extensibility areas.

Dans Azure IoT, l’extensibilité de la solution fait référence aux façons dont vous pouvez ajouter aux fonctionnalités intégrées des services cloud IoT et créer des intégrations avec d’autres services. Par exemple :

  • Une solution IoT classique inclut l’analyse et la visualisation des données de vos appareils pour activer les insights métier. Par exemple, un tableau de bord qui montre l’état actuel de vos machines à café connectées.
  • Une solution IoT peut inclure d’autres systèmes tels que la gestion des ressources, la planification du travail et les systèmes d’automatisation de contrôle. Par exemple, quand une machine à café sous garantie nécessite une maintenance, un ordre de travail est automatiquement créé dans le système de planification de travaux.

Les mécanismes disponibles pour étendre votre solution IoT sont les suivants :

  • API de service qui vous permettent de créer des interactions avec votre hub IoT et vos appareils.
  • Routage, règles et exportation de données qui vous permettent d’envoyer des données à d’autres services à des fins d’analyse ou de traitement.

Analyser et visualiser vos données IoT

Diagram that shows the high-level IoT solution architecture highlighting analysis and visualization areas.

Dans Azure IoT, les services d’analyse et de visualisation sont utilisés pour identifier et afficher des insights métier dérivés de vos données IoT. Par exemple, vous pouvez utiliser un modèle Machine Learning pour analyser la télémétrie de l’appareil et prédire le moment où la maintenance doit être effectuée sur une machine à café connectée. Vous pouvez également utiliser un outil de visualisation pour afficher une carte des emplacements de vos machines à café.

Les services et les outils d’analyse et de visualisation que vous pouvez incorporer à votre solution IoT sont les suivants :

  • Le service Azure Digital Twins vous permet de créer et de gérer des modèles qui sont des représentations actives et à jour du monde réel. Vous pouvez interroger, analyser et générer des visualisations à partir de ces modèles pour extraire des insights métier. Un exemple de modèle peut être une représentation d’un bâtiment qui inclut des informations sur les salles, les appareils dans les salles et les relations entre les salles et les appareils.

  • Azure Data Explorer est une plateforme d’analytique Big Data haute performance complètement managée, qui facilite l’analyse de gros volumes de données en quasi-temps réel :

  • Utilisez Azure Databricks pour traiter, stocker, nettoyer, partager, analyser, modéliser et monétiser les jeux de données avec des solutions allant de l’informatique décisionnel à l’apprentissage automatique. Utilisez la plateforme Azure Databricks pour créer et déployer des workflows d’ingénierie des données, des modèles Machine Learning, des tableaux de bord d’analytique, etc.

  • Azure Stream Analytics est un moteur de traitement de flux complètement managé, conçu pour analyser et traiter de gros volumes de données de streaming avec une faible latence. Des modèles et des relations peuvent être identifiés dans les données provenant de diverses sources d’entrée, notamment des applications, des appareils et des capteurs.

  • Power BI est un ensemble de services logiciels, d’applications et de connecteurs qui œuvrent ensemble pour transformer des sources de données disparates en informations visuelles immersives et interactives. Power BI vous permet de vous connecter facilement à vos sources de données, de visualiser et de découvrir ce qui est important, et de partager ces informations avec les personnes de votre choix.

  • Azure Maps est une collection de services géospatiaux et de kits de développement logiciel (SDK) qui utilisent des données cartographiques actualisées pour fournir un contexte géographique précis à des applications web et mobiles.

  • Grafana est un logiciel de visualisation et d’analytique qui vous permet d’interroger, de visualiser, d’émettre des alertes et d’explorer vos métriques, journaux et traces, quel que soit l’endroit où ils sont stockés. Il vous fournit des outils pour transformer vos données de base de données de série chronologique en graphiques et visualisations pertinents.

Gérer votre solution

Diagram that shows the high-level IoT solution architecture highlighting solution management areas.

Il existe de nombreuses options pour la gestion de votre solution IoT, notamment le portail Azure, PowerShell et les modèles ARM :

  • Le Portail Azure offre un environnement d’interface utilisateur cohérent pour la gestion de vos services Azure IoT.

  • Si vous souhaitez implémenter le modèle infrastructure as code pour vos solutions Azure IoT, utilisez les modèles Azure Resource Manager et les outils Azure DevOps.

  • Utilisez PowerShell ou Azure CLI pour automatiser la gestion de votre solution IoT à partir d’un environnement en ligne de commande.

Sécuriser votre solution

Diagram that shows the high-level IoT solution architecture highlighting security.

Vous pouvez diviser la sécurité d’une solution IoT en trois domaines :

  • Sécurité des appareils : Sécurisez l’appareil IoT durant son déploiement.

  • Sécurité des connexions : Vérifiez que toutes les données transmises entre l’appareil IoT et les services cloud IoT sont confidentielles et infalsifiables.

  • Sécurité du cloud : Sécurisez vos données durant leur transit et leur stockage dans le cloud.

Microsoft Defender pour IoT peut effectuer un monitoring automatique de certaines recommandations de sécurité clés. Microsoft Defender pour IoT doit être la première ligne de défense pour protéger vos ressources dans Azure. Microsoft Defender pour IoT analyse périodiquement l’état de sécurité de vos ressources Azure pour identifier les failles de sécurité potentielles. Il fournit ensuite des recommandations sur la façon de les corriger.

Évolutivité

Diagram that shows the high-level IoT solution architecture highlighting solution scalability.

Une solution IoT peut avoir besoin de prendre en charge des millions d’appareils connectés. Vous devez vérifier que les composants de votre solution peuvent être mis à l’échelle pour répondre aux demandes :

  • Utilisez le service de provisionnement des appareils (DPS) pour approvisionner des appareils à grande échelle. DPS est un service d’assistance pour IoT Hub et IoT Central qui permet l’approvisionnement d’appareils sans contact à grande échelle.

  • Utilisez le service d’assistance Device Update pour IoT Hub pour gérer les mises à jour en direct de vos appareils à grande échelle.

  • Vous pouvez mettre à l’échelle le service IoT Hub verticalement et horizontalement. Utilisez le routage IoT Hub pour gérer la mise à l’échelle des services auxquels IoT Hub remet des messages.

  • IoT Edge peut vous aider à mettre à l’échelle votre solution. IoT Edge vous permet de déplacer 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.