Modèles d’architectures de l’Internet des Objets

Qu’est ce qu’un objet ?

On a vu dans un billet précédent la définition des concepts de l’internet des objets. Nous allons maintenant les qualifier sur un plan technique : ce sont de dispositifs permettant de collecter, stocker, transmettre et traiter des données issues du monde physique.

Les objets dont il est question ici sont donc des source de données, identifiés et identifiables de façon unique et ayant un lien direct ou indirect (via un concentrateur) avec Internet.

On a distingué dans le billet précédent deux types d’objet :

  • Les objets passifs : ils utilisent généralement un tag (puce RFID, code barre 2D). Ils embarquent une faible capacité de stockage (de l’ordre du kilo-octet) leur permettant d’assurer un rôle d’identification. Ils peuvent parfois, dans le cas d’une puce RFID, embarquer un capteur (température, humidité) et être réinscriptibles.
  • Les objets actifs : ils peuvent être équipés de plusieurs de capteurs, d’une plus grande capacité de stockage, être doté d’une capacité de traitement ou encore être en mesure de communiquer sur un réseau.

Architecture

Précisons le rôle des différents processus présentés sur ce schéma :

  • Capter désigne l’action de transformer une grandeur physique analogique en un signal numérique.
  • Concentrer permet d’interfacer un réseau spécialisé d’objet à un réseau IP standard (e.g. WiFi) ou des dispositifs grand public.
  • Stocker qualifie le fait d’agréger des données brutes, produites en temps réel, méta taguées, arrivant de façon non prédictible.
  • Enfin, présenter indique la capacité de restituer les informations de façon compréhensible par l’Homme, tout en lui offrant un moyen d’agir et/ou d’interagir.

Deux autres processus n’apparaissent pas sur le schéma, car ils sont à la fois transverves et omniprésents :

Le traitement des données est un processus qui peut intervenir à tous les niveaux de la chaîne, depuis la capture de l’information jusqu’à sa restitution. Une stratégie pertinente, et commune quand on parle d’Internet des objets, consiste à stocker l’information dans sa forme intégrale. On collecte de manière exhaustive, « big data »,  sans préjuger des traitements qu’on fera subir aux données. Cette stratégie est possible aujourd’hui grâce à des architectures distribuées type NoSQL, capables d’emmagasiner de grandes quantités d’information tout en offrant la possibilité de réaliser des traitements complexes en leur sein (Map/Reduce par exemple).

La transmission des données est un processus qui intervient à tous les niveaux de la chaîne. Deux réseaux, supports des transmissions, cohabitent généralement :

  • Réseau local de concentration. On utilise alors des technologies comme ANT, ZigBee, Z-wave, NFC ou Bluetooth LE.

  • Réseau WAN, permettant d’interconnecter les réseaux spécialisés et de les interfacer avec des fermes de serveur. On utilise alors WiFi, les réseaux cellulaires (GSM, UMTS, LTE) ou encore les connexions physiques standard (Ethernet, fibre optique). Ces réseaux sont généralement connectés à Internet.

Les technologies de transmission utilisées dépendent essentiellement de l’application et du contexte. La transmission peut par exemple exploiter le Push reposant sur Comet ou WebSocket. Les canaux peuvent être bidirectionnels si l’application autorise une rétroaction. Dans certains cas, ces canaux devront transmettre les données en temps réel, dans d’autres cas, le temps ne sera pas un facteur déterminant.

Quelques exemples

Il existe de nombreuses applications grand public dans le domaine de l’Internet des objets. En voici quelques unes, mettant en évidence les concepts présentés ci-dessus :

Flightradar24 est une plateforme de visualisation en temps réel des avions de ligne en vol sur un fond de carte. Leur plateforme collecte des informations broadcastées par radio par les avions de ligne (protocole ADS-B), les persiste et les restitue sur un fond de carte à destination de clients web ou mobile.

Fitbit propose de mesurer son activité physique tout au long de la journée à l’aide d’un capteur. Ce dispositif, transfert l’ensemble des informations capturées à un site web qui peut alors estimer la qualité du sommeil, la distance parcourue à pied ou encore les calories brûlées.

Karotz (anciennement Nabaztag) est un objet communiquant permettant, entre autre, de reconnaître des tags RFID et d’interagir avec son propriétaire de façon sonore, gestuelle ou visuelle. Connecté à Internet, il peut diffuser des informations et être piloté depuis un smartphone.

OffresCapterConcentrerStockerPrésenterTraiterTransmettre
Flightradar24Objet spécialiséRadarCloudWebCloudADS+Internet
FitbitObjet spécialisébase d'acceuilCloudObjet+WebCloudANT+Internet
KarotzObjet spécialisé-CloudObjetObjet+CloudXMPP+Wifi+Internet

Nous avons mené un projet d'Internet des Objets dans le cadre de la R&D OCTO cette année : il s'agissait de suivre en temps réel les paramètres (position, vitesse, niveau d'huile, etc.) d'une flotte de voitures, comme cela existe déjà avec les avions. Nous avons appelé ce projet « Quantified Car », en référence au Quantified Self.

Vous pouvez consulter la vidéo de notre prototype ci dessous :