La plateforme IoT : le cœur de la chaîne de valeur de l’IoT

Temps de lecture : 8 minutes

Vous êtes vous déjà demandé comment une application de livraison arrive à situer un livreur en temps réel sur une carte géographique ?  Ou bien comment une application de domotique vous informe de la température de votre chambre, ou vous permet d’ouvrir les volets à distance si besoin ?  Tout cela est rendu possible grâce à une plateforme IoT. Dans cet article, nous verrons comment ces plateformes sont architecturées, avec quels composants, et l’évolution de l’offre de services managés autour de l’IoT.

Pour prendre en charge les données, il faut d’abord les collecter. Prenons par exemple le cas de l’application UberEats : l’application du côté livreur remonte sa position GPS en quasi temps réel sur la plateforme IoT/Data d’Uber, qui va permettre par la suite d’alimenter l’application côté utilisateur, et qui lui permet finalement de situer le livreur dans une carte géographique en temps réel.

Exemple d’asset tracking sur UberEats

Pour l’expliquer simplement, l’IoT (Internet of Things) est un réseau d’appareils électroniques capables d’envoyer et de recevoir des données via Internet ou via un réseau privé. Ces données sont principalement gérées d’une manière centralisée par la plateforme IoT.

D’un point de vue fonctionnel, une plateforme IoT collecte, sauvegarde et analyse les données, mais permet aussi de les corréler avec d’autres, et finalement de les exploiter afin de répondre à des cas d’usages divers et variés.

La plateforme IoT est au cœur du fonctionnement de beaucoup d’applications, qui permettent de répondre à des besoins précis comme dans les bâtiments intelligents, la domotique, le transport, la santé, l’agriculture, l’énergie, l’industrie de manière générale et dans de nombreux autres domaines.

Exemples d’applications et API alimentées par des plateformes IoT

La disponibilité des APIs web alimentées par des plateformes IoT ainsi que les plateformes Open Data permettent de créer des opportunités extraordinaires pour développer des nouvelles applications. C’est un effet boule de neige : plus le parc d’objets connectés est diversifié, plus le nombre d’inconnues est réduit et plus on crée d’opportunités pour créer de nouveaux business.

Cela permet de répondre à des cas d’usage variés, on peut citer :

  • Les plateformes de météo comme Météo France
  • Les applications de transport comme City Mapper
  • Les applications de domotiques comme Domoticz
  • Les applications d’optimisation d’énergie comme Linky

Mais pour répondre à ces cas d’usage, il faut d’abord construire la plateforme IoT.  Nous allons découvrir dans la partie suivante l’architecture de base de ces plateformes.

La platforme IoT

Architecture d’une plateforme IoT 

Au cœur d’une plateforme IoT on trouve les composants suivants :

Objet connecté : appareil qui se connecte directement ou bien via une passerelle à Internet. Il se caractérise par sa capacité à envoyer et recevoir des données de télémétrie, et peut recevoir des commandes depuis le Cloud. Les données générées par ce dernier transitent souvent via la passerelle utilisant un protocole radio sans fil.

Passerelle Hardware : appareil physique qui assure la connexion entre les objets connectés et le cloud. Les passerelles servent de portail d’accès sans fil pour permettre aux appareils IoT d’accéder à Internet.

Passerelle cloud : fournit un hub cloud pour une connectivité sécurisée. C’est la porte d’entrée vers la plateforme Cloud IoT, ayant des capacités de télémétrie et d’ingestion d’événements, de gestion des appareils (y compris la commande ou le contrôle à distance.).

Gestion et transformation des flux : cette partie traite souvent les grands flux arrivants de données, puis les évalue, en se basant sur des règles prédéfinies par les métiers, afin de les placer dans le stockage, mais aussi pour déclencher des alarmes et notifications. Des transformations peuvent aussi s’opérer sur les données permettant ainsi de les restructurer, les agréger ou bien même de les convertir dans des formats bien définis, par exemple JSON, XML, Parquet…

Stockage : le stockage peut être divisé en stockage chaud (données qui doivent être disponibles pour la création de rapports et la visualisation de données) et stockage froid (données stockées à plus long terme et utilisées pour des traitements batch).

Intégration des processus métier : facilite l’accès aux informations recueillies à partir des données de télémétrie des objets connectés à travers des APIs à des applications tierces (ERP, CRM, SCM, etc.)

Interface utilisateur (UI) : L’interface utilisateur d’une application IoT sert principalement à visualiser les données de télémétrie, mais aussi de faciliter la gestion et le monitoring à distance d’une flotte d’objets connectés.

Apprentissage automatique : permet d’extraire de la connaissance à partir de données IoT stockées. Des scénarios tels que la maintenance prédictive sont possibles grâce à l’exécution d’algorithmes de Machine Learning sur des données de télémétrie historiques.

Gestion des utilisateurs : permet de spécifier les différentes capacités possibles pour les utilisateurs et les groupes afin d’effectuer des actions sur les appareils (par exemple, la lecture d’une donnée ou bien la commande à distance d’un appareil), mais aussi pour permettre aux utilisateurs/groupes d’avoir une gestion d’accès à l’interface utilisateur en fonction des droits prédéfinis au préalable.

Il existe de nombreux besoins transversaux pour les applications IoT qui sont essentiels à leurs bon fonctionnement, notamment :

La sécurité : pour apporter une connectivité sécurisée entre les objets connectés, les passerelles et le cloud, un accès sécurisé aux solutions backend et une protection des données dans le cloud pendant le traitement et le stockage (chiffrement au repos et en transit).

Log Monitoring : pour assurer la surveillance d’une application cloud IoT, déterminer sa santé et résoudre les défaillances en cas de problème.

La haute disponibilité et la reprise après sinistre : il s’agit de garantir qu’un système IoT est toujours disponible, y compris en cas de pannes résultantes de sinistres.

IoT As a service

Les fournisseurs cloud public historique comme AWS, Azure ou GCP ont beaucoup investi autour des services IoT. Cela a contribué à une certaine démocratisation des plateformes IoT, mais a aussi permis aux industriels de bénéficier de la puissance des offres du cloud pour déployer des solutions de gestion d’objets connectés (voir l’exemple de la SEDE Veolia qui utilise l’IoT pour améliorer les opérations de valorisation des déchets), avec une baisse substantielle du coût de l’infrastructure IT.

Le modèle SaaS (Software as a Service) permet d’avoir des services totalement managés par le cloud provider, et avec un business model souvent très attractif sous forme d’abonnement par nombre d’objets ou bien par nombre de messages par mois. Ces plateformes facilitent également le développement, elles permettent de créer des preuves de concepts (POC) très rapidement pour tester la validité de projets IoT avant d’engager des investissements importants par la suite. Par exemple : Azure Central ou bien AWS IoT SiteWise.

Cependant, le modèle SaaS peut s’avérer limité en termes de capacité de personnalisation, et crée une dépendance très forte par rapport au fournisseur de la plateforme.

Le modèle PaaS (Platform as a Service) donne la possibilité d’avoir une boîte à outils très riche de composants managés par le cloud provider, permettant ainsi de créer des plateformes IoT personnalisées et souvent plus adaptées aux besoins des utilisateurs.  

AWS IoT Core

L’architecture serverless (sans serveur) s’appuie sur des composants cloud, dans lesquels le fournisseur cloud gère dynamiquement les ressources allouées au service client, avec un prix qui dépend de la consommation effective de la ressource, et non des capacités d’un serveur acheté à l’avance. Cela permet de réduire fortement les coûts de l’infrastructure IT.

Architecture AWS Serverless IoT

Il existe aussi d’autres plateformes IoT industrielles comme Cumulocity Software AG, PTC ThingWorx Industrial ou bien GE Predix qui répondent à des besoins industriels spécifiques autour de l’industrie 4.0.

Au-delà des plateformes IoT qu’on vient de voir, l’Open source est aussi une mine d’or pour les projets et les plateformes IoT, grâce à des plateformes comme kuzzle ou bien ZettaJS, on peut déployer des plateformes IoT sur du IaaS (Infrastructure As A service) ou bien sur des serveurs On premise.

Plateformes IoT Open source


Des librairies open source existent aussi pour renforcer les plateformes IoT et accélérer leur développement, comme Pandas, Numpy pour le traitement de données, Pyflux pour séries temporelles, Matplotlib, Plotly pour la visualisation de données ou bien Zappa et Chalice pour créer et déployer des services AWS serverless en transformant le code applicatif.

Ressources

Commentaires :

A lire également sur le sujet :