À première vue, les projets IoT partagent une architecture commune : des objets communicants déployés sur le terrain, un réseau de communication et une plateforme de stockage, d’analyse et d’exploitation des données.
Faire les bons choix techniques en matière d’IoT
En réalité, la diversité des contraintes matérielles et des enjeux spécifiques impose à chaque fois des choix techniques très différents. La première étape consiste donc à bien identifier les différentes caractéristiques qui doivent guider un projet IoT vers les bonnes solutions.
1. Commencer par une analyse des contraintes
Les contraintes directement liées à l’objet portent principalement sur l’encombrement, l’alimentation électrique et le raccordement à un réseau d’entreprise et l’accès à internet.
À celles-ci s’ajoutent les contraintes induites sur la puissance de calcul et la capacité de stockage local, directement impactées par les contraintes d’encombrement et d’alimentation.
Il est également essentiel d’étudier les contraintes relatives aux transferts pour connaître le volume des données à transmettre des objets vers le serveur, savoir s’il est nécessaire de prévoir l’envoi de données de configuration ou de commandes de la plateforme vers les objets, et vérifier si les données contiennent des données personnelles, voire des données sensibles soumises à des réglementations spécifiques (vidéo sur un espace public par exemple), si l’envoi des données et leur exploitation doivent se faire en temps réel ou pseudo-réel (quelques minutes de délai maximum) et si un délai de plusieurs heures ou plusieurs jours entre l’acquisition et le traitement reste compatible avec l’usage attendu.
De la même manière pour les contraintes sur la plateforme d’exploitation, il faut connaître la volumétrie globale des données qui seront conservées et analysées, la nature des données reçues et des données générées, ainsi que leur niveau de confidentialité et de criticité, tout comme la puissance de calcul et la bande passante nécessaires pour gérer l’ensemble du parc, identifier les utilisateurs de la plateforme leur moyen de connexion (PC, mobile, tablette, …) ainsi que les autres systèmes avec lesquels la plateforme doit collaborer, les interfaces à prévoir, etc.
L’analyse sur les fonctions « métiers » de la solution IoT (« Data management ») doit être complétée en prenant en compte les contraintes liées à la gestion des objets eux-mêmes, telles que la supervision de leur fonctionnement, la mise à jour logicielle/firmware, etc. (le « Device management »).
La diversité des cas d’usage de l’IoT a conduit à l’émergence de nombreuses briques technologiques, qui permettent chacune de pallier efficacement à une ou plusieurs contraintes spécifiques de chaque projet. Il s’agit de correctement les identifier et savoir quand et comment les utiliser à bon escient.
2. Répartir les traitements et les données
L’objet déployé sur le terrain n’est plus un simple capteur. Il embarque des ressources en CPU, mémoire, stockage, etc. qui lui permettent de transformer la donnée brute issue des capteurs en une information synthétique. Par exemple, l’analyse d’un signal vibratoire permanent pour superviser un moteur permettra de détecter une séquence anormale et d’envoyer dans ce cas un message d’alerte vers le serveur. Sans un traitement local, le signal doit être intégralement et continuellement transféré vers le serveur. Avec une détection par traitement local du signal, la communication se limite à quelques messages, lorsqu’une anomalie est effectivement détectée.
Les contraintes et les coûts liés à la transmission de gros volumes de données ont fait émerger le « Edge Computing », ou « Processing des données au plus proche du capteur » pour limiter les données envoyées au serveur à des informations déjà consolidées ou prétraitées.
Les solutions de « Edge Computing » peuvent également s’imposer pour éviter le transfert de données personnelles ou sensibles. Par exemple, dans le cadre de solutions d’analyse de flux d’individus dans un lieu recevant du public, les données pouvant revêtir un caractère personnel (vidéos, traces WiFi…) sont traitées en local afin d’être « anonymisées » avant d’être transmises à la plateforme d’exploitation.
La contrepartie à l’utilisation du « Edge Computing » se traduit par une plus grande complexité matérielle de l’objet sur site, avec un encombrement plus important, une consommation électrique accrue, et éventuellement une durée de vie plus faible.
La partie « Edge Computing » peut parfois être localisée dans un équipement intermédiaire, situé sur le terrain à proximité des capteurs, appelé passerelle ou « Gateway ». Cette dernière est connectée aux capteurs par une solution de communication locale, qui peut être filaire comme Ethernet ou radio en utilisant une solutions adaptée WiFi, LoRA, ou autre. Elle est capable d’héberger des traitements, et dispose d’une solution de communication vers le serveur 4G, Lora, SigFox ou autre. Ces équipements sont disponibles chez de nombreux constructeurs (Reliagate Eurotech, GenPro Ercogener, etc.), avec différentes caractéristiques permettant d’adresser une grande diversité de contextes.
Certains traitements resteront dans tous les cas localisés sur la partie plateforme, soit parce qu’ils nécessitent une puissance de calcul trop importante, soit parce qu’ils consolident des données en provenance de plusieurs sites terrain.
3. Choisir une technologie de communication
Le développement récent de l’IoT est également lié à l’apparition de nouvelles technologies de communication, qui permettent de répondre à des enjeux et de prendre en compte des contraintes qu’il était difficile d’adresser auparavant. L’évolution des réseaux mobiles « grand public » pour le transfert de données (3G, 4G, 5G…), aussi bien du point de vue du débit utilisable que de la couverture territoriale, facilite le déploiement de systèmes connectés sur tout le territoire. En complément à ces réseaux initialement destinés à la téléphonie mobile, sont apparues de nouvelles solutions, qui ciblent spécifiquement les enjeux des objets connectés :
• La couverture maximale d’un territoire avec une infrastructure minimale.
• Un faible coût d’accès au réseau, lorsque le volume de données à transmettre est réduit.
• L’optimisation de la consommation électrique dans les échanges avec le réseau.
Ces nouvelles solutions, regroupées sous l’acronyme de LPWAN (Low Power Wide Area Network), dont font partie par exemple les technologies SigFox et LoRa, ont contribué à l’apparition d’objets connectés à faible coût, avec une consommation électrique suffisamment faible pour permettre un fonctionnement sur batterie pendant plusieurs années. De nouveaux cas d’usage ont ainsi pu être adressés et déployés massivement (traceurs GPS autonomes, conteneurs connectés, …).
Lors de la conception d’un système IoT, la technologie de communication doit être sélectionnée en fonction du niveau d’autonomie de l’objet communicant, et du volume de données qu’il doit transmettre.
Les principales options à envisager sont :
• Le raccordement à un réseau local, qui peut permettre un routage vers internet si nécessaire. C’est la solution la plus simple quand un accès LAN est disponible et lorsque la technologie de communication est compatible avec la consommation électrique de l’objet.
• L’utilisation d’un réseau de téléphonie mobile (3G/4G/5G) offre un débit important et une faible latence (les données sont transmises à la demande, en temps réel). Elle induit cependant une consommation électrique élevée, et un coût d’abonnement de l’ordre de quelques euros par objet et par mois.
• L’utilisation d’un réseau LPWAN qui permet d’optimiser la consommation électrique et le coût de l’abonnement par objet. Cette option limite toutefois le volume de données échangées, et induit un délai (quelques minutes à quelques heures) entre l’émission des données et leur réception par le serveur.
4. Définir l’architecture de la plateforme d’exploitation
La première chose à définir, concernant la plateforme d’exploitation d’un système IoT, concerne l’infrastructure d’hébergement. Deux options sont envisageables : privilégier un déploiement sur le Cloud, ou installer les serveurs sur une infrastructure interne à l’entreprise (déploiement « On Premise »). Plusieurs aspects sont à prendre en compte dès le départ : les contraintes liées à la sécurité, et le dimensionnement du système à moyen et long terme.
Concernant la sécurité :
Une solution Cloud ne signifie pas forcément « moins de sécurité ». Les systèmes IoT sont caractérisés par le fait d’avoir de nombreux objets communicants déployés sur le terrain, qui communiquent avec le serveur. Les objets déployés sont susceptibles d’être attaqués ou compromis beaucoup plus facilement qu’un poste informatique installé dans des locaux sécurisés. Connecter tous ces objets à un serveur situé sur le réseau de l’entreprise représente donc un risque important, et nécessite la mise en place de solutions de cybersécurité complexes (Firewall réseau, Firewall applicatif, DMZ…).
Le risque sur le réseau de l’entreprise est beaucoup moins important lorsque la plateforme est déployée sur le Cloud, avec un accès sécurisé depuis le SI interne pour consulter ou récupérer les données générées par le système IoT. Toutefois, les données spécifiques à la solution IoT sont hébergées chez un tiers.
Concernant le dimensionnement :
Les solutions Cloud offrent une souplesse et une adaptabilité qu’il est quasiment impossible d’obtenir avec une solution « On Premise ». Les infrastructures Cloud permettent de déployer un serveur avec un dimensionnement réduit pour un coût réduit, et le faire évoluer simplement vers de la très haute capacité ; à condition évidemment de définir une architecture interne capable de monter en charge en profitant de la scalabilité horizontale offerte par le Cloud (les traitements sont répartis sur un nombre de ressources qui augmente automatiquement avec la charge).
D’autres options technologiques peuvent être envisagées en fonction du contexte, comme le fait de s’appuyer sur des briques technologiques existantes (COTS : Component On The Shelf). De nombreuses « Plateformes IoT » offrent des solutions clé en main de recueil de données et de supervision d’équipements. Il existe également de nombreux composants logiciels qui couvrent certains aspects de la communication, des échanges ou des traitements de données et permettent de simplifier la mise en œuvre d’une nouvelle solution.