Mis à jours 23 février 2020 Les entreprises utilisent des appareils et des capteurs pour mesurer et quantifier les données depuis un certain temps. D’ici à 2020, Gartner prévoit que plus de 65% des entreprises adopteront des produits de l’Internet des Objets (IoT), contre seulement 30% aujourd’hui. Le faible coût des appareils et la grande disponibilité d’Internet donnent aux entreprises encore plus de raisons d’explorer leur potentiel. Pour ce faire, les entreprises ont besoin d’outils solides pour gérer les infrastructures et les appareils sur une échelle qui est de plus en plus grande.
Le cloud offre non seulement une évolutivité et une disponibilité élevées pour prendre en charge les initiatives IoT, mais également des outils pour fournir des informations via le Big Data et l’apprentissage automatique. Les principales plates-formes cloud ont créé des services pour aider les entreprises et les développeurs à se concentrer sur la construction des applications et la fourniture de fonctionnalités sans se soucier de l’infrastructure sous-jacente. Dans cet article, nous allons utiliser les services IoT offerts par Amazon Web Services et Microsoft Azure. Nous allons commencer par une brève introduction, puis nous allons vous présenter le processus de démarrage de chaque plate-forme.
Qu’est-ce que l’Internet des objets (IoT) ?
Pour l’instant, vous pouvez considérer l’IoT comme un système qui utilise l’infrastructure d’Internet pour établir une connexion avec et entre nos appareils électroniques.
Architecture de l’IoT et services cloud dans l’écosystème IoT
Dans le cloud, les principaux fournisseurs – Amazon Web Services (AWS), Microsoft Azure et Google Cloud Platform – ont travaillé de la même manière pour mettre en œuvre le processus général de l’IoT sur leurs plates-formes.
Cela comprend le registre des périphériques pour connecter votre périphérique au cloud, la gestion des périphériques sur le cloud et la messagerie via certains protocoles populaires utilisant un éditeur-abonné standard ou un modèle pub/sub pour s’assurer que vos périphériques se connectent avec le protocole approprié et publient les données sous la forme de sujets. Les applications s’inscriront à ce sujet et seront averties de toutes les données publiées liées au sujet. Ensuite, elles vont exécuter un processus d’analyse de données en temps réel avec les données envoyées par le capteur de votre appareil et vont surveiller le périphérique IoT avec les différentes informations de statut provenant d’outils de virtualisation de données dans le cloud.
Allons découvrir comment ces processus sont implémentés par AWS et Azure.
AWS IoT : comment ça marche ?
AWS IoT vous permet de connecter des périphériques à des services AWS et à d’autres périphériques, de sécuriser les données et les interactions, de traiter et d’agir sur les données des appareils et d’autoriser les applications à interagir avec des périphériques même s’ils sont hors ligne.
Le processus principal d’AWS IoT consiste à s’assurer que votre appareil est reconnu ou connecté par le hub IoT, qui est communément reconnu par « périphérique connecté ou processus de registre ».
Pour ce faire, vous devez d’abord installer Amazon Device SDK sur votre appareil. Le kit de développement de périphériques AWS IoT Device SDK permet à vos périphériques de se connecter, de s’authentifier et d’échanger des messages avec AWS IoT à l’aide de protocoles MQTT, HTTP ou WebSocket. Les SDK sont disponibles en C, Node.js, Java, Python, Arduino, et les SDK mobiles sont disponibles pour Android et iOS. Le registre est utilisé pour établir l’identité de vos appareils et peut conserver des données sur vos appareils, stocker les attributs des appareils et assurer le suivi des appareils.
Une autre méthode consiste à démarrer directement avec les kits de démarrage AWS IoT Starter Kits. Ces kits physiques sont conçus pour aider à accélérer le développement de prototypes de périphériques connectés alimentés par le cloud et se connecter de manière sécurisée à AWS IoT. Les kits comprennent des cartes de développement de microcontrôleurs, des capteurs et des actionneurs, AWS IoT Device SDK, et un guide de démarrage simple pour vous aider à trouver le meilleur ajustement pour vos produits. Reportez-vous à la section Démarrer avec AWS IoT sur le site AWS pour en savoir plus. Visitez le portail des partenaires APN pour en savoir plus sur les partenaires qui fournissent des kits de démarrage AWS IoT Starter Kits.
Durant le processus de connexion, AWS fournit l’authentification et l’autorisation avec votre propre certificat ou le certificat fourni par AWS, qui est intégré au service AWS IoT pour connecter de manière sécurisée vos appareils à la plate-forme. Cela signifie qu’AWS IoT est capable d’identifier les périphériques connectés et de vérifier qu’un autre périphérique n’emprunte pas le vôtre. Il permet également aux périphériques de vérifier qu’ils se connectent à AWS IoT et non à une autre entité usurpant l’identité de la plate-forme.
AWS fournit l’authentification et l’autorisation avec votre propre certificat.
Identifiez les “choses” dans AWS.
Après avoir enregistré votre appareil, vous devez disposer d’un mécanisme permettant d’échanger des messages de données entre votre appareil et AWS IoT, connu sous le nom de Device Gateway. Il prend en charge les protocoles standard tels que MQTT, HTTP et WebSockets.
Les périphériques connectés au service IoT d’Amazon sont répertoriés dans le registre. Ils sont gérés par AWS IoT Rules Engine, qui assure le traitement, la transformation et l’intégration des messages avec d’autres services AWS. Ce moteur utilise un langage basé sur SQL pour sélectionner les données depuis les charges utiles des messages, traiter les données et les envoyer à d’autres services Amazon tels que S3, Lambda, DynamoDB et autres.
Utilisez le moteur de règles AWS IoT Rules Engine pour définir des actions.
Pour conserver le dernier état enregistré et l’état futur souhaité de chaque périphérique même lorsque le périphérique est hors ligne, AWS a implémenté Device Shadows. Ces derniers sont des représentations virtuelles de choses physiques ou de périphériques. Vous pouvez récupérer le dernier état enregistré d’un périphérique ou définir un état futur souhaité via le REST API ou utiliser le moteur de règles.
Architecture d’AWS IoT
Enfin, la surveillance est un élément important du maintien de la fiabilité, de la disponibilité et des performances d’AWS IoT. AWS collectera des données de surveillance dans toutes les parties de votre solution AWS afin que nous puissions plus facilement déboguer une défaillance multipoint si elle se produit. AWS IoT est intégré à CloudTrail, un service qui capture tous les appels d’API AWS IoT et fournit les fichiers journaux à un compartiment Amazon S3 spécifié. CloudTrail capture les appels API depuis la console AWS IoT ou depuis votre code vers les API AWS IoT. En utilisant les informations collectées par CloudTrail, nous pouvons déterminer la requête qui a été envoyée à AWS IoT, l’adresse IP source à partir de laquelle la requête a été envoyée, qui a envoyé le requête, à quel moment elle a été envoyée, et ainsi de suite.
Surveillance d’AWS IoT
Azure IoT : comment ça marche ?
Le service Azure IoT offre un large éventail de fonctionnalités. Ces services de qualité professionnelle peuvent être utilisés pour :
- Ingérer des données (collecter des données depuis les appareils et les migrer vers le cloud)
- Gérer les appareils
- Analyser les flux de données en cours d’utilisation
- Stocker et interroger de grands ensembles de données
- Visualiser les données en temps réel et les données historiques
- Intégrer avec les systèmes de back-office
Ce schéma montre comment cela fonctionne :
Architecture de l’IoT d’Azure
Services connexes dans l’IoT Suite Ecosystem sur Microsoft Azure
L’IoT Suite de Microsoft Azure est une solution professionnelle qui vous permet de démarrer rapidement grâce à un ensemble de solutions préconfigurées et extensibles. Ces solutions abordent des scénarios courants d’IoT tels que la surveillance à distance, la maintenance prédictive et l’usine connectée. Les solutions préconfigurées sont des solutions complètes, fonctionnelles et de bout en bout qui incluent les services suivants :
- Azure IoT Hub fournit des fonctionnalités de messagerie de périphérique à cloud et de cloud à périphérique et sert de passerelle vers le cloud et les autres services clés d’IoT Suite. Avec Azure IoT Hub, vous pouvez gérer vos appareils, recevoir des messages de vos appareils à l’échelle et envoyer des commandes à vos appareils.
- Azure Stream Analytics fournit une analyse des données en mouvement à l’IoT Suite pour traiter la télémétrie entrante, effectuer l’agrégation, détecter les événements, traiter les messages de vos appareils et les livrer à d’autres services.
- Azure Storage et Azure Cosmos DB sont utilisés pour fournir des capacités de stockage de données. Habituellement, nous utilisons le stockage blob pour stocker la télémétrie et la rendre disponible pour l’analyse. Cosmos DB est utilisé pour stocker les métadonnées de l’appareil et activer les capacités de gestion de l’appareil des solutions.
- Azure Web Apps et Microsoft Power BI offrent des capacités de visualisation de données pour créer rapidement vos propres tableaux de bord interactifs qui utilisent les données d’IoT Suite.
Azure IoT en action
Maintenant, nous allons créer un IoT Azure Hub.
Sur le côté gauche du portail d’Azure dans la zone de texte pour la recherche, tapez IoT Hub et appuyez sur Entrée pour créer un IoT Hub. Remplissez les informations de base requises dans la lame IoT Hub. Le nombre d’unités d’IoT Hub saisies ici détermine votre quota quotidien de messages, afin que nous puissions calculer vos besoins quotidiens en messages et acheter le nombre d’unités approprié. Les partitions de périphérique à cloud correspondent au nombre de partitions pour les messages de périphérique à cloud. Le niveau de tarification et d’échelle sera déterminé par le nombre de messages sur tous les appareils.
Création votre Azure IoT Hub.
Registre des périphériques
Similaire à AWS, nous devrions connecter les périphériques à Azure IoT à l’aide de Azure IoT SDK. Il existe trois catégories de kits de développement logiciel (SDKs) pour travailler avec IoT Hub :
- Les SDKs des appareils vous permettent de construire des applications qui s’exécutent sur vos appareils IoT. Ces applications envoient la télémétrie à votre hub IoT et reçoivent éventuellement des messages de votre hub IoT.
- Les SDKs de service vous permettent de gérer votre hub IoT et éventuellement d’envoyer des messages à vos appareils IoT.
- Azure IoT Edge vous permet de construire des passerelles pour les appareils qui n’utilisent pas l’un des protocoles pris en charge. Les passerelles peuvent également traiter les messages sur le périphérique.
Les SDKs sont fournis pour prendre en charge plusieurs langages de programmation tels que C, node.js, Java, .Net et Python.
Microsoft Azure fournit également son propre kit de développement IoT pour vous aider à démarrer votre projet IoT. Il s’agit d’un tableau de prototypage avec beaucoup de capteurs, de boutons, d’écrans OLED, de Wifi, etc., tous ceux qui sont intégrés.
Il est recommandé d’utiliser deux outils nécessaires pour vous aider à gérer vos appareils IoT sur le cloud Azure. L’IoT Hub Explorer est un outil CLI qui vous permet de gérer les identités des appareils dans le registre IoT Hub, d’envoyer et de recevoir des messages et des fichiers depuis vos appareils, et de surveiller les opérations de votre IoT Hub. Il vous permet également de simuler un appareil connecté à IoT Hub. Device Explorer s’exécute sur une machine locale et se connecte à IoT Hub pour gérer les périphériques.
Travail d’analyse de données
La plupart des données qui arrivent dans un IoT Hub nécessitent une sorte de traitement ou d’analyse exécuté pour discerner des données significatives. Microsoft a implémenté le Stream Analytics Job, qui prend les données à l’entrée, exécute une requête sur ces données, puis envoie les résultats à une certaine forme de sortie. Alors qu’un Stream Analytics Job peut gérer de nombreuses sources d’entrée différentes. Dans ce cas, nous utiliserons les messages de notre Hub IoT comme source. Il peut également y avoir plusieurs sorties, depuis un emplacement de stockage vers une base de données ou des fonctions supplémentaires.
Azure IoT Hub travaillant avec Stream Analytics
Virtualisation de données – Power BI (Travail d’analyse de données)
Microsoft fournit un outil de virtualisation des données en temps réel, appelé Power BI. Power BI est une suite d’outils de Business Intelligence qui fournit des informations dans l’ensemble de votre organisation. Avec Power BI, vous pouvez vous connecter à des centaines de sources de données, simplifier la préparation des données et effectuer des analyses ad hoc. Vous serez en mesure de produire de magnifiques rapports, puis de les publier pour que votre organisation puisse les utiliser sur le Web et sur les appareils mobiles. Tout le monde peut créer des tableaux de bord personnalisés avec une vue unique à 360 degrés de son entreprise. Ils sont conçus pour s’adapter à toute l’entreprise, avec une gouvernance et une sécurité intégrées.
Voici un exemple de rapport Power BI :
Virtualisation de données avec Power BI
Gestion des périphériques d’Azure et cycle de vie
Azure IoT Hub fournit des fonctionnalités qui, avec son modèle d’extensibilité, permettent aux développeurs des applications pour les périphériques et back-end de construire des solutions de gestion des appareils robustes. Pour réussir, une solution doit être adaptée aux appareils allant de capteurs contraints et de microcontrôleurs à usage unique jusqu’aux passerelles puissantes qui acheminent des communications pour des groupes d’appareils. Le cycle de vie de l’appareil comprend cinq étapes de gestion des appareils communes à tous les projets IoT d’entreprise :
- Planifier : les opérateurs peuvent créer un schéma de métadonnées de l’appareil qui leur permet de rechercher et de cibler facilement et précisément un groupe de périphériques pour les opérations de gestion en masse.
- Provisionner : provisionnez en toute sécurité les nouveaux appareils sur IoT Hub et permettez aux opérateurs de découvrir immédiatement les capacités des périphériques.
- Configurer : facilitez les modifications de la configuration en masse et les mises à jour de microprogrammes sur les appareils tout en préservant la santé et la sécurité.
- Surveiller : surveillez l’intégrité de la collection de périphériques dans l’ensemble, le statut des opérations en cours et alertez les opérateurs sur les problèmes qui nécessiteraient leur attention.
- Retirer : remplacez ou mettez les appareils hors service après une défaillance, un cycle de mise à niveau ou à la fin de la durée de vie du service. Utilisez le jumeau de l’appareil pour gérer les informations sur l’appareil si celui-ci est remplacé ou archivé lorsqu’il est retiré. Utilisez le registre d’identité IoT Hub pour révoquer de manière sécurisée les identités et les informations d’identification des appareils.