L'Internet des objets (ou IoT)

Caractéristiques des objets connectés

  • L’appellation d’Internet des objets (ou Internet of Things, IoT) désigne une partie du réseau et du trafic Internet qui se rapporte aux objets qui y sont connectés. Ces objets peuvent être de tous types et être destinés à toutes sortes d’usages.
  • Un objet connecté est un système électronique ou informatique embarqué doté d’une connectivité réseau. Internet des objets  :**
  • Des objets sont parfois connectés à des réseaux périphériques, lesquels peuvent être reliés à Internet par des passerelles.
  • Les objets connectés ont besoin d’une interface de communication qui fait appel à une technologie adaptée à la portée et au débit requis (NFC, Bluetooth, Z-wave, Wi-fi, Ethernet, SigFox ou Lora).
  • La présence massive et croissante d’objets connectés a indéniablement un impact sur le réseau et son évolution.
  • En fonction de leur usage, les objets connectés embarquent plus ou moins de capteurs et d’actionneurs de toutes sortes (récepteurs GPS, sondes, capteurs sonores et vidéo, dispositifs de stockage et de traitement, électrovanne, moteur, électroaimant).
  • Des objets connectés sont créés ou imaginés dans tous les secteurs de l’activité humaine, et concernent aussi bien la vie personnelle que les activités économiques, comme la santé, la domotique, l’agriculture, l’aquaculture, l’ndustrie, les transports, les infrastructures, l’écologie, les loisirs ou les services.

Enjeux techniques et sociétaux

  • L’Internet des objets compte déjà des dizaines de milliards d’objets connectés, et ce nombre est amené à continuer à croître rapidement dans les années à venir, cela pose de nombreux défis techniques.
  • L’essor incessant d’Internet a conduit à atteindre la pénurie d’adresses IPv4, rendant inévitable une évolution vers le système d’adressage IPv6.
  • Le traitement et l’échange de données implique une charge sur les réseaux proportionnelle au volume et à la fréquence de transmission des données.
  • L’efficience énergétique des objets connectés doit être prise en compte, afin d’optimiser leur consommation électrique pour une plus grande autonomie et une moindre consommation.
  • La durée de vie de ces objets peut être écourtée indépendamment de l’usure physique de l’objet. En effet le fonctionnement des objets connectés dépend souvent de services proposés par le fabricant. Si celui-ci cesse son activité, l’objet connecté peut cesser partiellement ou totalement de fonctionner.
  • Les objets connectés sont souvent connectés à un réseau local doté d’une passerelle vers Internet et peuvent proposer un accès distant. Si ces objets sont mal sécurisés, ils peuvent devenir une porte d’entrée sur le réseau local sur lequel ils sont configurés.
  • Des personnes mal intentionnées peuvent s’appuyer sur des objets connectés vulnérables pour effectuer des intrusions sur les réseaux locaux connectant ces objets, entraînant des risques de destruction, de vol de données ou l’espionnage des lieux où les objets sont installés en transmettant le son ou l’image.
  • L’objet peut également servir de relais pour lancer des attaques pouvant être coordonnées contre d’autres machines connectées à Internet (ex : attaque en déni de service distribué sur un serveur). On parle alors de machines zombies ou de réseau de machines zombies.
  • Sur le plan sociétal, les objets connectés peuvent servir de relais ou contribuer à renforcer la puissance d’attaques informatiques, lesquelles peuvent être dirigées sur des opérateurs de ressources vitales, comme les fournisseurs d’eau, d’électricité ou de transport.
  • Les objets connectés font également peser des risques en matière de vie privée : la multiplication des possibilités de collecte de données de toutes sortes (textes, images, sons, vidéos, géolocalisation) facilite la mise en place de nombreux systèmes plus ou moins automatisés de contrôle social, avec le risque d’évoluer vers une société de surveillance.
  • En France plusieurs expériences controversées de surveillance audio ou vidéo ont eu lieu ou sont en cours dans plusieurs villes : reconnaissance faciale de lycéens, système d’écoute des bruits sur des places publiques, détection automatique d’anomalies sur des flux de vidéo-surveillance, etc.
  • Les objets connectés représentent aussi un risque de perte d’autonomie et de libre arbitre (trouver un itinéraire, arroser les fleurs, choisir la musique à écouter ou, plus délicat, freiner lorsqu’il y a un obstacle, pour les voitures autonomes).
  • La culture maker encourage l’innovation et la fabrication individuelles ou en petits groupes.
  • L’accès à ces outils et techniques est également une opportunité pour la réalisation d’outils entièrement contrôlés par les citoyens.

Conception d’un objet connecté

  • Pour concevoir un objet connecté nous utilisons un nano-ordinateur Raspberry Pi, un petit ordinateur qui se présente sous la forme d’une carte mère de la taille d’une carte de crédit et pourvu de ports d’entrées-sorties auxquels on peut relier des composants électroniques externes.
  • Doté d’une connectivité Wi-fi et Ethernet, le Raspberry Pi est capable de se connecter sur Internet. Nous pouvons lui demander d’accéder à un service d’API.
  • Une** API** (Application Programming Interface) est une interface de programmation d’application. Elle fournit des informations sous une forme facilement traitable par une machine.
  • Une lecture attentive de la documentation est indispensable pour connaître le fonctionnement d’une API, notamment pour savoir comment former l’URL qui permet de requérir les informations nécessaires.
  • La bibliothèque Python spécialisée requests permet d’effectuer des requêtes HTTP.
  • Il est possible de vérifier dans un premier temps le bon fonctionnement d’une instruction sous la forme d’un message textuel à l’écran.
  • La bibliothèque Python gpiozero permet de piloter facilement les éléments connectés aux ports GPIO. La lecture de la documentation est nécessaire pour savoir sur quels ports effectuer les branchements des composants, et un minimum de connaissances en électronique est indispensable pour travailler en toute sécurité.
  • L’instruction While True met le programme en permanence à l’écoute d’un capteur. C’est le propre d’un programme exploitant des capteurs : While True est toujours vraie, donc le programme boucle en permanence.
  • Pour montrer à l’utilisateur que l’objet connecté est bien alimenté et qu’il a bien pris en compte la demande, un signal peut être défini (un clignotement par exemple).