Cours “Programmer l'Internet des objets” proposé sur la plateforme FUN-MOOC par l'Institut Mines Télécom.
Comment définir l’internet des objets ? Ou plutôt, quel internet des objets allons-nous étudier dans ce cours ?
L’ambiguïté des deux termes “internet” et “objets” impose une définition plus précise ; ou du moins une classification pour mieux comprendre à quoi l’on fait référence.
L’internet est maintenant totalement intégré dans nos vies, pour le travail, l’enseignement, pour les distractions. On l’utilise à la maison ou au travail sur nos ordinateurs, et on l'emporte avec nous de plus en plus avec nos smartphones.
Chacun a sa définition de ce qu’est internet. Pour le grand public, il peut s’agir d’applications très populaires comme Facebook, Tik-Tok, Netflix, Zoom. Pour certains, un peu plus technophiles, l’internet peut être confondu avec le Web auquel on accède via Chrome ou Firefox. Les techniciens parleront de protocoles comme IP, TCP, HTTP, et d’adresses comme les adresses IP ou les URL.
Comme ce cours est orienté technologie, notre approche relève plutôt de cette dernière catégorie. Nous verrons comment des protocoles développés il y a une vingtaine d’années pour des ordinateurs peuvent s’appliquer à d’autres dispositifs qu’il nous reste à définir.
L'objectif de l'internet des objets est de poursuivre l'intégration du réseau Internet pour permettre à autre chose que des ordinateurs d'échanger des données. Le but principal est d'optimiser les processus pour qu'ils soient plus efficaces pour économiser des ressources ou d'augmenter la productivité. Il s'agit donc d'un internet enfoui, loin du frigo ou de la montre connectés, qui vont remonter des informations avec une infrastructure ou d'autres équipements. On peut imaginer des capteurs dans une usine pour contrôler la production, des voitures connectées qui vont dialoguer pour éviter les collisions, la mesure du taux de remplissage des bennes de recyclage dans une ville pour optimiser les circuits de collecte, la surveillance du degré d'humidité d'un champ pour réduire la consommation d'eau…
L’internet des objets peut se résumer de la manière suivante : utiliser des protocoles développés pour des ordinateurs et maintenant des téléphones portables (plus puissants que les ordinateurs utilisés par l’internet à ses débuts) mais dans des environnements plus contraints. En effet, les lois de Moore, définissant les puissances de traitement des processeurs ainsi que la diminution continue des coûts de la mémoire, nous ont permis de doter les petits objets de ressources comparables à celles des ordinateurs d’il y a trente ans.
L’internet des objets, c’est résoudre l’équation suivante : continuer à faire la même chose car tous les systèmes d’information actuels utilisent les mêmes principes mais le faire différemment car ces principes sont trop coûteux en énergie, en temps de calcul et échange de données.
L’IoT (Internet of Things in english), l’internet des objets ou des choses, est une architecture globale permettant à des objets (équipements de même type ou non), d’interagir de manière autonome via internet. Cette interaction :
Ce nouveau paradigme STIC (Sciences et Technologies de l’Information et de la Communication) qu’est l’IoT est une convergence de nombreux domaines d’applications tels que : les maisons ou bâtiments intelligents, les villes du futur, l’industrie du futur (industrie 4.0), l’énergie, les systèmes de transport, l’agriculture, la eSanté, etc., vers une suite protocolaire réduite, interopérable et sécurisée. Le mouvement est en marche et, vu le nombre d'acteurs concernés, va prendre plusieurs années. Mais les bases sont déjà bien établies et c'est ce que vous allez apprendre dans ce cours.
L'IoT tel qu'abordé dans le cours peut se résumer à lire valeur ou déclencher un actionneur. A priori on a pas besoin d'Internet pour ça, et on a su le faire bien avant Internet : le réseau Modbus qu'on manipulera par la suite existait en 1979 avant Internet.
La difficulté peut venir du fait qu'il existe un nombre considérable de solutions pour le faire. Chacune est légitime et a été développée autour d'une technologie particulière ou d'un métier particulier : contrôler un robot industriel, superviser la santé d'une vache dans une élevage etc.
Cette diversité des solutions conduit à des coûts de maintenance important et donc l'IoT se retrouve dans des secteurs ou on a des retours sur investissements importants. Si la complexité est trop grande alors le gain est limité et on va s'en passer.
Le MOOC peut s'imager par le passage de l'artisanat où l'on développe des solutions spécifiques à une industrialisation utilisant des méthodes standards.
L'Internet qu'on connaît est une très bonne illustration de ce phénomène. Il a permis grâce à une uniformisation du réseau et une forte baisse des coûts de transmission de développer de nouveaux usages. Très peu d'entreprises auraient investi pour un réseau propre à la visioconférence et au télétravail, mais en mutualisant les usages c'est possible.
L'IoT doit suivre la même voie et également converger vers l'architecture de l'Internet actuel. Le mot clé est donc l'interopérabilité.
On va utiliser un compteur/échelle pour mesurer le degré d'interopérabilité:
Pour chaque secteur la profusion des solutions nuit à l’interopérabilité et aux évolutions. L’internet des objets, dans son acception la plus large, consiste à simplifier cette architecture, comme l’internet l'a fait il y a quelques années dans le domaine des télécoms en simplifiant ce modèle et en permettant à ces différents acteurs de converger vers une architecture commune et un ensemble de solutions plus réduit.
Cela ne veut pas nécessairement dire moins d’acteurs, mais une plus grande cohérence dans les choix technologiques.
La figure ci-dessous analyse l’IoT par domaine d’application en se focalisant sur la composante réseau. L’IoT et les objets connectés sont des systèmes complexes pour lesquels les solutions open source, les alliances entre industriels, les organismes de standardisation sont toujours fragmentés ; cependant de manière moins importante, montrant que la structuration est en marche.
Cette fragmentation de l’écosystème est paradoxale. Si l’on résume sommairement, les solutions proposées reviennent à interroger un équipement sur le terrain pour accéder à une valeur, la traiter et renvoyer une commande pour interagir avec l’environnement.
Pourquoi cette foison de solutions différentes ? Cela peut venir des besoins de fiabilité, de sécurité, de portée de la donnée, mais cela vient aussi de l’histoire. La communication avec des objets est tout aussi ancienne que la communication entre ordinateurs (qui sont eux-mêmes des objets). Mais à l’époque, chaque domaine a suivi sa propre voie en spécialisant les solutions pour répondre à ses besoins propres. Il en résulte des solutions optimisées pour un domaine particulier. Mais chaque fois qu’il faut modifier une technologie, le travail doit être adapté pour chaque domaine, introduisant des coûts et des délais supplémentaires.
De même, chaque domaine ayant sa propre représentation des données, il est relativement difficile de les combiner pour avoir une vision plus globale. On arrive donc à des systèmes fermés, chers, peu évolutifs, mais optimisés pour les tâches qu’ils ont à réaliser.
Au fil du temps, les protocoles de l’Internet ont pu être utilisés, mais il s’agit surtout de complémenter les technologies existantes sans qu’il soit possible d’interconnecter deux domaines.
L’exemple de l’évolution du réseau de télévision est éloquent. À ses débuts, ce réseau est analogique et hautement spécialisé pour diffuser les programmes transportés sur des signaux analogiques sur des équipements spécialisés, les téléviseurs.
Avec les progrès des processeurs informatiques, il devient possible de transporter les données en utilisant un codage numérique. Mais des réseaux spécialisés restent nécessaires, l’Internet n’offrant pas la même qualité.
La dernière étape consiste à intégrer ces flux dans l’internet classique. Cela devient possible par la montée en débit des réseaux filaires et radio (Wi-Fi, 4G…).
Cette mutualisation des accès via l’internet permet non seulement une réduction des coûts, mais aussi l'apparition de nouveaux usages comme la télévision sur les téléphones portables ou les séries à la demande.
L’internet des objets suit la même voie. En plus des technologies spécifiques, les protocoles de l’internet sont intégrés, mais en les adaptant aux contextes du secteur. Nous sommes actuellement en train de vivre la convergence vers un ensemble réduit de protocoles, une standardisation de la représentation de la donnée, et son traitement sur des plateformes plus génériques.
Le déclencheur n’est pas la montée en débit comme pour la télévision, mais la possibilité d'avoir des équipements peu chers, aux capacités réduites par rapport à l'informatique traditionnelle et autonomes énergétiquement, tout en ayant une meilleure intégration dans les systèmes d'information actuels.
Avec les progrès de l’électronique, les processeurs deviennent de plus en plus puissants et les superordinateurs d’hier sont maintenant dans une montre ou un smartphone.
Pour l’internet des objets, la logique est un peu différente. La loi de Moore va induire une réduction des coûts de fabrication plutôt qu'une augmentation des puissances de traitement. Le principal critère pour un internet des objets massif reste l’énergie ; connecter un appareil à une source d’énergie ou recharger une batterie a un coût. Augmenter la vitesse du processeur ou la taille de la mémoire induit une plus grande consommation d’énergie de l'objet. On peut donc s’attendre à une certaine stabilité des performances des objets car ceux-ci resteront limités en performances.
Les objets sont généralement limités en termes de puissance de traitement, de mémoire et d’énergie. Selon le standard de l’IETF [RFC 7228], les dispositifs peuvent être répartis en trois classes qui se retrouvent aussi dans la segmentation des processeurs :
Les appareils de classe 1 ont trop de restrictions pour utiliser les protocoles définis pour des objets plus gros. L’IETF, l'organisme qui standardise les protocoles de l'internet, a proposé une révision de sa pile de protocoles afin d’adapter sa pile protocolaire à un environnement contraint.
Un appareil de classe 0 ne peut pas utiliser directement l’internet pour échanger des informations, d’où la nécessité d’installer une passerelle pour capter le trafic et l’envoyer sur l’internet. Il ne possède pas directement d'adresse IP. Les passerelles LoRaWAN LNS et 3GPP SCEF agissent dans ce sens (nous reviendrons là-dessus). Les données produites sont encapsulées par ces passerelles dans des protocoles comme HTTP ou MQTT, que nous verrons également dans la suite du cours.
Les appareils de classe 1 peuvent aussi utiliser une passerelle pour s’interconnecter à l’internet traditionnel, mais plutôt que d'encapsuler les données produites dans d'autres protocoles comme le fait la classe 0, les passerelles pour les appareils de classe 1 vont traduire un protocole contraint dans son équivalent dans le monde non contraint.
Les dispositifs de classe 2 peuvent interagir directement avec d’autres nœuds sur l’internet, sans passer par une passerelle.
Un autre défi concerne le nombre de dispositifs. Certaines études prévoient 500 milliards de dispositifs à la fin de la décennie.
Avec cet énorme internet des objets, où presque chaque équipement comprendra des éléments de détection ou d’action, l’intégration dans un système d’information deviendra un véritable défi. Comme l’internet des objets actuel est conçu pour une verticale (c'est-à-dire pour des applications spécifiques), les dispositifs sont choisis et intégrés au moment de la conception du système. Les ingénieurs choisissent leurs capteurs, connaissent précisément leurs caractéristiques et écrivent leur code en fonction de ce qu'ils ont intégré.
L’internet des objets massif change la donne. Les dispositifs ou les choses ne peuvent pas être intégrés dès le départ dans un système d’information statique. L’intégration doit se faire au fil du temps et doit gérer les évolutions des dispositifs pendant longtemps (les fabricants de dispositifs peuvent changer, les produits évolueront avec de nouvelles fonctionnalités, etc.)
Cette question d’interopérabilité a été formalisée dans le modèle LCIM (Conceptual interoperability).
Le modèle définit 6 niveaux d'interopérabilité déjà évoqués plus haut, parmi lesquels:
L’interopérabilité sémantique (niveau 3) où un modèle de données est défini, et où des opérations sémantiques peuvent être effectuées.
Les niveaux supérieurs nécessitent une modélisation plus précise du système physique.
Un internet des objets peut se résumer en un ensemble de protocoles communs pour transporter l’information. L’information elle-même est structurée pour être facilement exploitable, chaque structuration répondant au besoin d’un métier. Un agriculteur ne manipulera pas les mêmes données qu'un industriel, mais si la donnée change, la manière de la décrire peut être standardisée.
Si l'on prend le parallèle avec le Web, les protocoles de transmission de l'information sont unifiés (basés sur les protocoles TCP/IP de l'internet) et la représentation de la donnée est également unifiée (HTLM pour décrire les contenus interactifs ; PNG, GIF, pour les images…). À partir de ces outils, il est possible de lire son journal favori, d'échanger sur son réseau social préféré, de prendre un rendez-vous chez son dentiste…
Les objets n'ont pas attendu l'internet pour communiquer. Ils ont évolué chacun dans leur verticale, développant des solutions satisfaisantes mais limitées en termes d'évolution et d'interopérabilité. Cet état des lieux sur la dispersion des écosystèmes met en avant la nécessité :
Dans le cas contraire, l’interopérabilité ne pourra pas être traitée comme il se doit, les nouveaux services innovants multi-domaines ne seront pas couverts, et le développement de l’IoT pourrait être freiné voire avorté.
Les aspects liés à l’éducation et à la formation des acteurs de l’IoT, ainsi que ceux liés à l’acceptation, aux usages et évidemment au volet socio-économique de l’IoT, sont aussi des points essentiels dont il faut tenir compte.
Les organismes de normalisation tels que l’IETF1) ou le W3C 2) ont conçu des protocoles ou des modèles de données capables de traiter l’interopérabilité. D’une certaine manière, c’est la clé du succès de l’internet actuel. Il a permis de résoudre le problème de l’interopérabilité au niveau syntaxique et sémantique mais au prix de messages volumineux.
Le défi pour l’internet des objets est de s’intégrer dans ce système distribué géant. Comme l’internet des objets est un nouveau venu, l’évolution devra se faire de son côté pour prendre en compte les règles existantes, mais en les adaptant. Les prochains chapitres traiteront de ces changements.
1-Les objets communicants est un tout nouveau domaine, lié aux progrès en miniaturisation des composants électroniques:
☐ Vrai ☑ Faux
2-Laquelle de ces affirmations est vraie ?
☐ Il y a très peu de protocoles pour faire communiquer les Objets. Comme l'Internet est une technologie qui s'est très répondue, son succès va permettre aux objets de communiquer ☑ Il y a beaucoup de solutions pour permettre à des objets de communiquer, l'Internet des Objets doit permettre de les fédérer.
3-Quelle est la principale source de création des données dans l'IOT ?
☑ les capteurs
☐ les nano-ordinateurs (type Raspberry Pi) ☐ Internet ☐ les serveurs
4-Quels sont les principaux défis technologiques pour l'Internet des Objets
☑ Avoir une consommation d'énergie faible ☑ Avoir une architecture protocolaire simplifiée ☐ Pouvoir fonctionner sur des systèmes d'exploitation ouverts comme Linux ☑ Permettre de sécuriser les données qui peuvent être sensibles ☐ Transmettre en permanence leur état et des valeurs mesurées.
Interview de de Michelle Wetterwald illustrant l'importance de la représentation de la donnée, avec pour exemple les missions spatiales vers la planète Mars.
Pourquoi les données sont-elles importantes dans l'IoT ?
L'IoT est un réseau d'objets physiques qui communiquent pour échanger des informations sur leur état ou recevoir des commandes pour modifier cet état. C'est une technologie qui est centrée sur les données, leur collecte, leur stockage,leur utilisation et leur partage. Les mesures effectuées par les capteurs constitue donc la principale source de création des données dans l'IoT.
Pourquoi obtenir une mesure d'un capteur n'est pas suffisant, pourquoi avons-nous besoin d'informations supplémentaires ?
Pour illustrer l'enjeu de la représentation des données dans l'IoT prenons un exemple dans l'historique de la conquête vers Mars. En septembre 1998 une fusée delta décolle emportant vers Mars deux nouvelles sondes de la NASA. La première sonde doit se mettre en orbite autour de la planète pour observer la météorologie marsienne et servir de relai à la seconde sonde qui doit se poser sur la planète. Quelques mois plus tard, lors de son arrivée a proximité de la planète, alors qu'elle se prépare à rejoindre son orbite, le signal radio est perdu, la sonde s'est volatilisée. Le système de mise en orbite est entièrement automatisé. Lors de l'enquête l'analyse des données reçues a montré que la sonde est arrivée a proximité de mars à une altitude beaucoup trop basse pour pouvoir se mettre en orbite en sécurité et a probablement était consumée dans l'atmosphère marsienne. En fait, un logiciel developpé par les équipes de Lockeed qui avaient conçu la sonde utilisait le système de mesure anglosaxon alors que le logiciel qui interprété ces mesures pour la navigation de la sonde par les équipes de la NASA utilisait le système de métrique international : l'interprétation des données reçues était donc erronée et a contribué à la perte d'une mission de plusieurs centaines de millions de dollars. dans le cas de la NASA, il fallait intégrer des modules dans un même système.
Quand est-il quand plusieurs constructeurs interviennent ?
Suite à cet échec, la NASA a lancé à partir de 2001, le projet NEXIOM. Ce projet a définit un modèle de données qui permet d'intégrer des informations venant de plusieurs sources et utilisées par des entités différentes y compris des bases de données. Ce modèle de données formalise la représentation des quantités physiques et des unités de mesures décrites dans le système d'unités international. Il est maintenant devenu le modèle connu sous le signe QUDT pour Quantities Units Dimensions and Typeset qui permet au différents sous systèmes d'un projet d'utiliser une référence commune dès le conception et éviter ainsi les problèmes d'intégration.
Ce formalisme est-il suffisant pour garantir le succès d'un projet ?
Pas forcément… Prenons un deuxième exemple tiré lui aussi de la conquête vers Mars. Le modèle QUDT a permis de ne pas reproduire par la suite l'erreur de Mars Planète Orbiter pourtant plus récemment l'ESA a aussi perdu son atterrisseur Schiaparelli au cours de la mission ExoMars. Cette mission commence le 14 mars 2016. Son objectif est de se poser sur la planète rouge et de valider ainsi les procédure d'entrée dans l'atmosphère martienne et d'atterissage. Pour cela elle doit utiliser un parachute et des rétro-fusées. En aoctobre 2016 le processus d’atterrissage et lancé mais le contact avec la sonde est très vite perdu. Quelques jours plus tard un orbiteur de la NASA survolant la zone ĥotographie la zone de crash de la sonde.
Que s' est-il passé ?
L'analyse des données reçues montre que les valeurs de rotation transmise par l'un des capteurs excède le maximum calibré et se bloque sur ce maximum pendant une seconde. C'est suffisant pour que l’ordinateur de bord effectue des calculs erronés en utilisant ces valeurs ce qui entraîne le large du parachute de descente et un arrêt du moteur de freinage beaucoup trop prématurément. La sonde se croit posée sur la planète alors qu'elle est encore à plus de 3000 mètres d'altitude. La fin de la descente s'est donc effectuée en chute libre.
Que peut-on conclure ?
On voit bien avec ses deux exemples que la valeur brute fournit par un capteur n'est pas suffisante pour son utilisation dans un système. Il faut l'associer à une sémantique, c'est à dire à un ensemble de méta-données telle que : le type de donnée, l'unité de mesure, la relation avec d'autres données par des formules, l’échelle des valeurs, la plage des valeurs possibles etc. Ces informations permettent de donner sa signification à la mesure et de lever toute ambiguïté sur la valeur mesurée : c'est comme un dictionnaire des données.