Outils pour utilisateurs

Outils du site


cours:informatique:iot:iot_par_la_pratique_inria:010_introduction

Introduction à l'IoT

Cette introduction propose une définition de l'Internet des Objets, une présentation des principaux domaines d'application, les composants matériels et logiciels utilisés ainsi que les enjeux technologiques.

Définition

L'Internet des Objets ou IoT est la capacité à connecter des objets, des choses, des capteurs, n'importe quoi à Internet. Il représente une évolution naturelle des technologies, le lien entre le monde digital et le monde physique. L'IoT est parmi nous et il évolue très vite. On estime à 20 milliards le nombre d'objets connectés en 2020. L'IoT amorce une révolution dans notre façon de vivre et travailler. Il améliore encore plus notre vie en la rendant plus simple qu'avant. Les champs d'application sont nombreux et on le retrouve dans tous les domaines.

Selon l'Union internationale des télécommunications, l'Internet des objets (IdO ou IoT en anglais) est une « infrastructure mondiale pour la société de l'information, qui permet de disposer de services évolués en interconnectant des objets (physiques ou virtuels) grâce aux technologies de l'information et de la communication interopérables existantes ou en évolution ». On peut aussi lui donner une définition plus simple avec un ensemble d'objets physiques connectés, possédant une identité numérique et capables de communiquer les uns avec les autres.

Ils forment d'une certaine façon une passerelle entre le monde physique et le monde virtuel. L’IoT commence ainsi dans le monde physique avec par exemple des capteurs qui mesurent des données (température, pression atmosphérique, luminosité) qui sont ensuite transmises sur Internet grâce à la connexion et l’intégration des systèmes entre eux. Les données sont ensuite traitées et stockées pour être analysées et exploitées. L’évolution de l’IoT est rapide et les prévisions pour le nombre d’objets IoT en 2022 sont de l'ordre de 18 milliards (parmi presque 29 milliards d'objets connectés). Nous assistons au déploiement massif d'un ensemble d'objets interconnectés dotés de capacités de communication, de détection et d'activation dont les applications sont multiples. On retrouve l'utilisation de l'IoT dans tous les grands domaines d'application. La section suivante en cite les principaux.

Domaines d’application de l'IoT

L'un des domaines les plus importants de l'IoT est les smart cities. Dans les smart cities, on utilise l'IoT pour récolter des données environnementales et comportementales afin d'améliorer la qualité de certains services (gestion du trafic et la sécurisation de l'espace public) et le mode de vie . Par exemple, on utilise des capteurs sans fil pour identifier des parkings libres, adapter l'éclairage public, détecter des fuites de tuyaux, améliorer le tri et le ramassage des déchets, etc. Aujourd'hui, à notre connaissance, aucune ville n'utilise tous ces services à la fois, mais beaucoup s'appuient sur l'IoT pour certaines de ces applications : Londres, Paris ou San Francisco.

Une autre application phare de l'IoT est la santé. L'Internet des Objets et les dispositifs médicaux peuvent récolter des données, permettre des soins à distance et permettre aux patients de mieux contrôler leur traitement. L'IoT permet une plus grande réactivité et une meilleure compréhension des différents comportements via une captation locale et précise des données. Un exemple connu est celui des pacemakers connectés ou des pompes à insuline.

La smart agriculture fondée sur l'IoT vise à mieux gérer les ressources et améliorer la productivité. Un agriculteur doit mesurer les variations d'un champ, localement et de façon précise, pour adapter en conséquence l'utilisation d'eau, de pesticides et d'engrais. On peut aussi évoquer l'élevage qui permet de contrôler les besoins de chaque animal. Les systèmes Sencrop ou Lituus illustrent bien l'évolution de l'agriculture traditionnelle. Pour cela, ces entreprises déploient des capteurs sans fil directement dans les champs ou sur les animaux.

L'Internet des Objets dans les transports et la logistique permet de gérer efficacement les chaînes d'approvisionnement, comme le suivi des véhicules connectés. On peut gérer les flottes en optimisant les itinéraires de livraison et faire face aux retards et aux problèmes. Un bel exemple est la solution de smart conteneur développée par l'entreprise Traxens qui permet la localisation journalière de conteneurs partout dans le monde. L'industrie pourra l'utiliser pour la surveillance des équipements et la maintenance prédictive.

Technologies et matériels de l'IoT

Dans leur mise en œuvre technique, la plupart des solutions IoT sont fondées sur trois éléments principaux:

  1. Les terminaux, qui génèrent les données et les envoient à la passerelle;
  2. La passerelle(gateway), qui transmet les données au cloud. Également appelées nœuds périphériques, elles peuvent accéder à certaines fonctionnalités de calcul pour le traitement local des données.
  3. Et le cloud (serveurs de stockage et puissance de calcul répartis). De là, les solutions d'application permettent l'exploitation des données. Les passerelles sont aussi

Ce MOOC s'intéressera aux défis et à la mise en œuvre des équipements et des passerelles sous l'angle du matériel, du logiciel et du réseau.

Terminaux

Les terminaux ou objets (qu'il s'agisse de capteurs pour remonter des données physiques ou d'actionneurs pour agir sur l'environnement physique) sont à la base des solutions IoT. Ce sont de ces objets que proviennent les données. Ces objets sont généralement contraints en taille et équipés de batteries, leur laissant une autonomie limitée. Ils fonctionnent avec un microcontrôleur (MCU), limitant aussi leurs capacités de traitement.

Ces objets ont pour rôle de supporter des tâches spécifiques. La partie logicielle qu'ils exécutent pourra comporter :

  • Un système d'exploitation pour l'IoT, particulièrement adapté pour les objets contraints et le domaine de l'embarqué
  • Une couche d'abstraction matérielle (Hardware Abstraction Layer - HAL), qui simplifie les accès aux fonctionnalités du MCU : mémoire flash, GPIOs, interface série, etc.
  • Une couche de communication, fournissant des solutions pour permettre à l'objet de communiquer via un protocole filaire ou sans fil comme Bluetooth, Z-Wave, Thread, CAN bus, MQTT, CoAP, etc.
  • Une gestion à distance, permettant de le contrôler, de mettre à jour son firmware, ou de surveiller son niveau de batterie

Passerelles

Les passerelles (gateway en anglais) sont le point de relais entre un réseau de capteurs et d'actionneurs et un réseau externe. Elles peuvent reposer sur du matériel spécifique ou des fonctionnalités supplémentaires ajoutées à certains objets contraints.

Une passerelle peut offrir des capacités de traitement des données et de stockage à la périphérie des objets contraints (on parle de Edge Computing) pour faire face à d'éventuels problèmes de latence et de fiabilité du réseau. Pour la connectivité entre objets contraints, la passerelle sera aussi en charge de traiter les problèmes d'interopérabilité.

Plateformes IoT

Les plateformes IoT représentent les solutions logicielles et les services requis pour mettre en œuvre les solutions IoT. Elles s'exécutent sur des serveurs, hébergés dans des infrastructures cloud (comme AWS, Google Cloud, Microsoft Azure, etc.) ou dans l'infrastructure de l'entreprise. Ces solutions doivent pouvoir s'adapter aux passages à l'échelle aussi bien au niveau horizontal (nombre d'objets connectés) qu'au niveau vertical (variété des solutions apportées). Les plateformes IoT permettent une interconnexion avec le système d'information existant de l'entreprise.

Les fonctionnalités-clés de ces plateformes sont :

  • La connectivité et le routage des messages;
  • L'enregistrement des objets et leur gestion;
  • La gestion et le stockage des données;
  • La gestion des événements, l'analyse et la représentation des données;
  • L'utilisation d'une API pour l'intégration des applications;

Défis et enjeux

L'Internet des Objets constitue donc un modèle révolutionnaire qui vise à permettre de nombreuses applications nouvelles. Mais il fait émerger de nombreux défis. Citons-en quelques-uns.

Contraintes matérielles

Les dispositifs IoT sont généralement limités au niveau matériel (on parle d'objets contraints). Ils sont fondés sur le microcontrôleur, ne sont en général dotés que de quelques kilo-octets de RAM et de ROM et leur vitesse est mesurée en mégahertz. Ils doivent cependant fournir des possibilités de mise en réseau, les pilotes des capteurs et d'éventuelles applications, des systèmes de sécurité et des mises à jour.

Un autre aspect du défi lié aux contraintes matérielles est la gestion de l'énergie sur les objets connectés. La plupart des applications requièrent que les dispositifs d'IoT fonctionnent sur batterie le plus longtemps possible. Comme ils peuvent être déployés dans des zones hostiles ou non accessibles, remplacer ou recharger leurs batteries n'est pas toujours simple. La réduction de la consommation d'énergie du matériel et des logiciels est donc un élément essentiel de l'IoT. Les microcontrôleurs disposent de plusieurs niveaux de fonctionnement permettant de consommer très peu d'énergie. On parle généralement de mode endormi. Pour diminuer la consommation et économiser au maximum la batterie, il faut donc tirer le meilleur parti de cette caractéristique. Comme il s'agit avant tout d'électronique, il faut aussi s'assurer que la conception matérielle n'engendre pas de fuite de courant. Et tout ça, en garantissant le fonctionnement d'applications de plus en plus complexes.

Interopérabilité

En raison de la quantité importante de solutions IoT disponibles, les protocoles de communication, les plateformes, les clouds, l'IoT pâtit d'une fragmentation des applications. Cela réduit l'interopérabilité entre toutes ces applications.

Ces dernières années ont vu l'émergence de petits et grands acteurs dans le secteur des objets connectés. En particulier, les géants actuel du web se sont lancés dans une course technologique pour faire en sorte qu'un maximum de déploiements d'objets connectés utilisent leurs solutions. C'est le cas par exemple d'Amazon avec sa plateforme AWS IoT, de Microsoft avec Azure IoT ou encore Google avec Google Cloud IoT. L'utilisation des offres de Cloud de Google/Amazon/Microsoft sont pratiques car elles rassemblent toutes les briques logicielles nécessaires, parfois de l'objet jusqu'au Cloud, pour développer une application complètes IoT : serveur de gestion des données, analyse des données avec des algorithmes d'apprentissage statistique, hébergement d'application de visualisation en ligne, etc.

Cette évolution favorise malheureusement le fonctionnement en silos des solutions IoT. En effet, les utilisateurs d'une application donnée se trouve en quelque sorte captifs, c'est-à-dire que les objets et les données qu'ils produisent ne peuvent être gérés que par le biais de cette application. Il n'est généralement pas possible de réutiliser un objet programmé pour une certaine application avec une autre application. De ce fait, on voit apparaître des données silotées . Cela signifie que des données captées dans un champ d'application donné pourront difficilement être réutilisées dans un autre champ d'application.

Pour favoriser l'interopérabilité et compenser les problèmes de fragmentation, les acteurs de l'IoT, comme IETF, une organisation internationale de standardisation, ou des groupes industriels, tels ThreadGroup ou LoRa Alliance, œuvrent en faveur de standards et de définitions qui garantiraient l'interopérabilité d'une technologie de communication donnée.

Topologie dynamique

La topologie d'un réseau IoT est très dynamique. En effet, chaque objet est indépendant et peut s'allumer et s'éteindre à tout moment. De plus, les objets peuvent être mobiles et chaque mobilité est différente en trajectoire et vitesse, car propre à chacun et lié à l'objet ou la personne qui le porte. Cette dynamique ajoute un défi à l'acheminement des données et au placement des services. En effet, comment envoyer un message à un objet sans savoir où il est vraiment ? Comment s'assurer d'une route de transmission de données entre nœuds si à tout moment un peut apparaître ou disparaître d'un voisinage radio ? Cet aspect est également un défi pour le placement de services dans le edge computing dans lequel on cherche à déployer les services au plus près des objets, en périphérie de réseau. Les services doivent donc dynamiquement suivre la mobilité des objets et leurs besoins sans connaissance a priori de leurs déplacements.

La plupart des dispositifs IoT utilisent des bandes de fréquence sans licence. Puisque le nombre d'appareils connectés augmente considérablement, les supports sans fil deviennent une ressource rare qu'il faut savoir gérer, partager et optimiser intelligemment. En outre:

  • Les communications sans fil sont énergivores;
  • La bande passante est limitée;
  • Les objets communicants sont géographiquement distribués et ne savent pas nécessairement quels sont les autres objets en présence;
  • Les objets sont potentiellement mobiles;

stockage, traitement et transport des masses de données

Le déploiement de milliards d'appareils augmente également le volume des données à stocker et à traiter. Les estimations parlent de 38 milliards d'objets d'ici à 2025) est amené à produire une quantité gigantesque de données (certaines estimations parlent de 175 milliards de téraoctets d'ici à 2025).

Il faut être en mesure de stocker de manière fiable et pérenne toutes ces données, par exemple dans des bases de données.

L'internet de objets doit répondre à un besoin de rapidité d'accès à l'information. Cette information ne peut pas toujours être tirée directement des données elles-même: en effet, il faut très souvent traiter ces données, les recouper entre elles pour en extraire une information de plus haut-niveau utilisable.

Il devient essentiel de gérer efficacement toutes les données et les ressources de traitement sur le cloud ou en périphérie. Il existe plusieurs approches. Soit on optimise le stockage et le calcul des données sur le cloud, soit on déplace certains calculs dans les nœuds périphériques ou les terminaux. Déplacer le traitement dans les terminaux allège le réseau et réduit la taille des données, mais cela requiert des terminaux plus puissants qui consomment plus d'énergie. L'informatique en périphérie (edge computing) offre un compromis entre le traitement totalement embarqué et le traitement sur le cloud. Les enjeux sont donc liés à la sélection des nœuds périphériques par les terminaux et au traitement des ensembles partiels de données.

Sécurité

La multiplicité des capteurs fournissent des données très variées, parfois sensibles et peuvent être interceptées et exploitées par un tiers.

Aujourd'hui, on considère que la sécurité est l'un des principaux défis de l'Internet des Objets. On veut éviter qu'un agresseur ne prenne le contrôle ou ne perturbe le fonctionnement de portes connectées, de voitures intelligentes ou pire, de pacemakers. Même si les applications sont sécurisées, toutes les informations recueillies par les applications d'IoT pourraient être utilisées pour établir tous les profils d'utilisateurs d'après leurs activités. Cela peut être utile dans certains cas, mais soulève la question de la vie privée et de l'utilisation non désirée des données personnelles.

La protection de ces données est donc un enjeu majeur pour les applications de l'Internet des Objets pour garantir son développement sur le long terme. Cette protection peut se faire à plusieurs niveaux :

  • au niveau des communications entre objets,
  • au niveau des applications fonctionnant sur les objets eux-mêmes,
  • au niveau de la partie matérielle de l'objet.

Problématiques sociétales

Au delà des aspects techniques, les objets connectés gagnent de plus en plus d'espaces dans la vie quotidienne de la population et même dans tous les domaines d'activités. Certains utilisateurs, par manque de connaissance sur le fonctionnement de ces objets (un assistant vocal, une borne domotique), ne réalisent pas qu'ils partagent des informations personnelles, parfois même intimes.

Le traitement de masse des données collectées pourrait permettre de désanonymiser. Il peut donc y avoir un problème de respect de la vie privée lié à l'Internet des Objets.

Le déploiement généralisé de l'IoT soulève aussi la question de l'impact environnemental. Quelle est la consommation d'énergie de ces dispositifs ? Lors de leur utilisation, mais aussi lors de leur production. Quelle quantité d'énergie est utilisée pour stocker et traiter ces données ? Ce sont aussi des préoccupations importantes.

Maintenant que nous avons vu les principaux défis de l'IoT, nous allons voir comment y faire face tout au long de ce MOOC.

Quiz 01

Définitions correspondant à l’Internet des Objets:

  • Un moyen de donner une vie numérique à un objet
  • Un ensemble d'objets physiques connectés entre eux.

Parmi les défis suivants, lesquels sont parmi les grands défis d’aujourd’hui du monde IoT ?

  • Les objets sont contraints matériellement et ne peuvent pas réaliser des calculs complexes.
  • Les applications utilisent des systèmes hétérogènes et nombreux.
  • Avoir de nombreux objets distribués et captant différents types d’information représente un défi sociétal d’acceptation et de compréhension.
  • Déployer tous ces objets implique la collecte de plus en plus de données qu’il faut stocker et traiter.

Nous déployons de plus en plus d’objets contraints sans fil. En quoi la communication de ces objets représente un défi ?

  • Les communications sans fil sont énergivores.
  • La bande passante est limitée.
  • Les objets communicants sont géographiquement distribués et ne savent pas nécessairement quels sont les autres objets en présence.
  • Les objets sont potentiellement mobiles.

Une architecture matérielle complète IoT comprend les composants suivants:

  • Des serveurs hébergeant des bases de données;
  • Des serveurs d’application qui utilisent les données;
  • Des passerelles;
  • Des objets contraints;
cours/informatique/iot/iot_par_la_pratique_inria/010_introduction.txt · Dernière modification : 2023/03/20 22:44 de yoann