Étude comparative des frameworks IoT basée sur des aspects architecturaux

Qu’est-ce que l’IoT

Le terme IoT, de Internet of Things, ou du français, IdO (Internet des Objets) désigne théoriquement l’ensemble des objets intelligents, connectés sur Internet. Toutefois, dans la littérature, plusieurs définitions ont été proposées. Atzori, Iera & Morabito (2010) définissent l’IoT comme étant l’interconnexion des différents objets pour la réalisation d’une valeur ajoutée aux utilisateurs finaux. Matta, Pant & Arora (2017) définissent l’IoT comme un réseau global composé d’un ensemble d’objets connectés, ou intelligents : objets, capteurs, actuateurs, et des composants de stockage. Miraz, Ali, Excell & Picking (2015) définissent l’IoT comme étant l’ensemble des objets électroniques et électriques de différentes tailles et capacités, qui sont connectés à Internet via différentes technologies telles que ZigBee, RFID, WSNs et des technologies basées sur la localisation (par exemple, GPS). Rahman et al. (2016) définissent l’IoT comme étant un système composé d’objets à faibles ressources, faible mémoire, puissance de traitement, énergie et accessibilité. Ces objets sont connectés via des réseaux IP restreints, c’est-à-dire avec un débit binaire bas, des limites de cycle de service, une perte de paquets élevée, des liaisons asymétriques, des primitives de communication de groupe restreint, mais réunis avec des réseaux rapides et des services internet réguliers.

Ces services Internet stockent et traitent normalement de grandes quantités de données. L’IoT offre des possibilités infinies pour des scénarios innovants, caractérisés par le fait qu’il s’agit d’applications distribuées consistant en des services de collaboration s’exécutant sur des appareils distincts. Il est difficile de développer de telles applications en termes de configuration, de programmation et de cycles de vie des entités impliquées. ISO (2018) présente l’IoT comme étant un des secteurs les plus dynamiques et excitants en technologie de l’information. Il consiste à faire connecter des entités physiques avec le monde technologique à travers le réseau internet. Les fondamentaux de l’IoT sont les appareils électroniques qui interagissent avec le monde physique. Les capteurs collectent les variables du monde physique et les actuateurs agissent. Les capteurs et les actuateurs peuvent se présenter sous plusieurs formes, telles que les thermomètres, accéléromètres, caméra vidéo, microphones, transformateurs, chauffages ou des équipements industriels pour le contrôle des procédures et de la fabrication. Le groupe RFID définit l’IoT comme étant un réseau mondial d’objets interconnectés et adressables de manière unique en se basant sur des protocoles de communication standard.

D’après le pôle de recherche européenne (Sundmaeker, Guillemin, Friess & Woelfflé, 2010), les objets sont les principaux acteurs en IoT. Ils sont des participants actifs dans les processus commerciaux, informatiques et sociaux où ils sont capables d’interagir et de communiquer entre eux et avec l’environnement pour mesurer les variables, tout en réagissant de manière autonome aux événements réels/physiques avec ou sans interaction humaine. Enfin, Bélissent et al. (2010) définissent l’IoT comme étant un environnement intelligent qui utilise les informations et les technologies de communication pour rendre l’infrastructure des secteurs de l’éducation, la santé, les services publics, le transport, l’immobilier et tout autre secteur, modernes, efficaces et interactifs. Gubbi, Buyya, Marusic & Palaniswami (2013) proposent, quant à eux, une définition centrée sur l’utilisateur de l’IoT. Selon eux, une application IoT est l’interconnexion des capteurs et des actuateurs offrant la possibilité de partager l’information sur différentes plates-formes en suivant un framework donné. Ceci inclut la mesure des données physiques, l’analyse des données, la représentation des données sur le cloud. Dans notre étude, nous adoptons la définition la plus commune de l’IoT qu’on considère comme étant l’ensemble des objets intelligents et interconnectés à travers un réseau.

Qu’est-ce qu’un framework en IoT?

Selon (Derhamy, Eliasson, Delsing & Priller, 2015), le terme Framework en IoT désigne l’ensemble de principes directeurs, de protocoles et standards permettant l’implémentation des applications IoT. Les frameworks ont pour principal but d’améliorer le développement des applications IoT et ce, en assurant une implémentation rapide, l’interopérabilité, la maintenabilité, la sécurité et la flexibilité technologique. Rahman et al. (2016) définissent un framework comme étant une « boîte à outils » pour développer des applications IoT selon un certain style ou méthode. Un framework IoT adopte un ou plusieurs protocole(s) IoT, et, fournit des APIs et des librairies qui implémentent des services en dessus des protocoles applicatifs. Il peut aussi fournir des outils de développement, test et déploiement. Dans le cadre de notre travail et dans tout le reste de ce mémoire, nous adoptons la définition de (Rahman et al., 2016) pour le concept de framework IoT; i.e. un ensemble d’outils et d’APIs permettant de développer une application IoT.

Qu’est-ce qu’une plate-forme en IoT? Dans la littérature sur l’IoT, il n’est pas toujours évident de différencier les notions de frameworks et de plate-formes. Hejazi, Rajab, Cinkler & Lengyel (2018) définissent une plate-forme IoT comme étant une interface qui pourrait coordonner divers aspects essentiels qui conduisent à la réalisation des objectifs IoT. Cela inclut la définition de la méthode de communication des points finaux du système au réseau, et la façon dont les données sont collectées et leur lieu de stockage. Nous adoptons une définition similaire dans le reste de ce document, et on considère donc une plate-forme comme un outil qui permet à travers une interface de gestion, d’ajouter, supprimer, ou modifier les objets et de les interconnecter entre eux ou à travers le réseau.

Travaux faisant un survol des frameworks et plates-formes en IoT Derhamy et al. (2015) présentent une revue de 17 frameworks et plates-formes IoT et les évaluent selon différents critères dont : l’approche architecturale, le support de l’industrie, les protocoles et les standards et leur interopérabilité, la sécurité, les exigences matérielles, la gouvernance et le support du développement rapide des applications. La notion de framework ici fait référence plutôt à des principes, standards et protocoles. Les auteurs distinguent quatre catégories de frameworks : des frameworks visant l’automatisation des maisons, des frameworks visant le IoT industriel tel que Arrowhead, des frameworks visant le contrôle et la gestion des objets connectés tel que OMA-LWN2M, et les autres frameworks visant d’autres objectifs ou aspects de l’IoT. L’automatisation des maisons est un domaine clé dans le développement des applications IoT. L’article présente 4 exemples de frameworks appartenant à cette catégorie : 1) IPSO Alliance, qui est un framework IoT développé par IPSO et OMA SpecWorks et qui vise à développer des objets intelligents, tout en mettant l’accent sur l’identité et la vie privée; 2) IoTivity, qui est un framework open source développé par Intel et Samsung et qui permet une connectivité transparente de bout en bout pour répondre aux besoins émergents de l’IoT; 3) AllJoyn, développé par Qualcomm et Sony, est un framework open source collaboratif qui permet aux appareils de communiquer avec d’autres appareils autour d’eux; et 4) Thread, développé par ARM et Google spécifiquement pour prendre en charge l’IoT en intégrant de nombreuses fonctionnalités qui n’étaient pas disponibles dans les normes précédentes.

Table des matières

INTRODUCTION
CHAPITRE 1 REVUE DE LITTÉRATURE
1.1 Définitions des concepts clés
1.1.1 Qu’est-ce que l’IoT
1.1.2 Quels sont les composants d’une application IoT ?
1.1.3 Qu’est-ce qu’un framework en IoT ?
1.1.4 Qu’est-ce qu’une plate-forme en IoT ?
1.2 Domaines d’utilisation de l’IoT
1.3 Exigences et caractéristiques des applications IoT
1.3.1 Besoins fonctionnels
1.3.2 Besoins non fonctionnels
1.3.3 Caractéristiques et exigences selon le standard ISO-RA
1.3.4 Défis reliés aux applications IoT
1.4 Technologies supportant les applications IoT
1.4.1 Technologies de communication
1.4.2 Protocoles de communication IoT
1.5 Architectures des applications IoT
1.5.1 Survol rapide des architectures décrites dans la littérature
1.5.2 L’architecture de référence ISO
1.6 Revue des travaux portant sur les frameworks et plates-formes IoT
1.6.1 Travaux faisant un survol des frameworks et plates-formes en IoT
1.6.2 Études comparatives des frameworks et plates-formes en IoT
1.6.2.1 Étude comparative des plates-formes Cloud
1.6.2.2 Étude comparative des frameworks IoT basée sur des aspects architecturaux
1.6.2.3 Cadre d’évaluation des plates-formes IoT
1.7 Conclusion
CHAPITRE 2 DÉFINITION DE L’ÉTUDE EXPÉRIMENTALE
2.1 Questions de recherche
2.2 Choix des frameworks
2.3 Choix des applications IoT à implémenter
2.4 Choix de la plate-forme matérielle
2.5 Caractéristiques des applications IoT
CHAPITRE 3 RÉALISATION DES EXPÉRIMENTATIONS ET COLLECTE DE DONNÉES
3.1 Eclipse Vorto
3.1.1 Présentation générale du framework
3.1.2 Implémentation du système de gestion d’inventaire
3.1.3 Implémentation du système de surveillance météorologique
3.1.4 Implémentation du système de chauffage intelligent
3.2 ThingML
3.2.1 Présentation générale du framework
3.2.2 Implémentation du système de gestion d’inventaire
3.2.3 Implémentation du système de surveillance météorologique
3.2.4 Implémentation du système de chauffage intelligent
3.3 Node-Red
3.3.1 Présentation générale du framework
3.3.2 Implémentation du système de gestion d’inventaire
3.3.3 Implémentation du système de surveillance météorologique
3.3.4 Implémentation du système de chauffage intelligent
3.4 OpenHab
3.4.1 Présentation générale du framework
3.4.2 Implémentation du système de gestion d’inventaire
3.4.3 Implémentation du système de surveillance météorologique
3.4.4 Implémentation du système de chauffage intelligent
3.5 Eclipse Kura
3.5.1 Présentation générale du framework
3.5.2 Implémentation du système de gestion d’inventaire
3.5.3 implémentation du système de surveillance météorologique
3.5.4 Implémentation du système de chauffage intelligent
CHAPITRE 4 ANALYSE DES RÉSULTATS EXPÉRIMENTAUX
4.1 QR1 : Jusqu’à quel degré un framework open source supporte le développement des applications IoT ?
4.1.1 Eclipse Vorto
4.1.2 ThingML
4.1.2.1 Implémentation du système de gestion d’inventaire
4.1.2.2 Implémentation du système de surveillancemétéorologique
4.1.2.3 Implémentation du système de chauffage intelligent
4.1.3 Node-Red
4.1.3.1 Implémentation du système de gestion d’inventaire
4.1.3.2 Implémentation du système de surveillancemétéorologique
4.1.3.3 Implémentation du système de chauffage intelligent
4.1.4 OpenHab
4.1.4.1 Implémentation du système de surveillancemétéorologique
4.1.4.2 Implémentation du système de chauffage intelligent
4.1.5 Eclipse Kura
4.1.6 Sommaire de l’évaluation du support des frameworks étudiés
4.2 QR2 : Jusqu’à quel degré un framework open source supporte un ensemble minimal d’exigences fonctionnelles et non fonctionnelles des applications IoT ?
4.2.1 Analyse selon les exigences IoT
4.2.2 Analyse par framework
4.2.2.1 Eclipse Vorto
4.2.2.2 ThingML
4.2.2.3 Node-Red
4.2.2.4 OpenHab
4.2.2.5 Eclipse Kura
CHAPITRE 5 SYNTHÈSE DES RÉSULTATS ET LIMITES DE L’ÉTUDE
5.1 Synthèse des résultats
5.2 Limites de l’étude
5.2.1 Validité externe des résultats de l’étude
5.2.2 Validité interne des résultats de l’étude
CONCLUSION ET TRAVAUX FUTURS
ANNEXE I SPÉCIFICATIONS TECHNIQUES DU MATÉRIEL UTILISÉ
ANNEXE II TABLEAU DES CARACTÉRISTIQUES DE L’ARCHITECTURE D’UN SYSTÈME IOT SELON (ISO, 2018)
ANNEXE III TABLEAU DES CARACTÉRISTIQUES FONCTIONNELLES DE L’IOT SELON (ISO, 2018)
ANNEXE IV FONCTION C – LECTURE DES IDENTIFIANTS DE TAGS RFID
ANNEXE V FONCTION C – LECTURE DE TEMPÉRATURE
ANNEXE VI PROCÉDURE DE SÉCURISATION DE NODE-RED
LISTE DE RÉFÉRENCES BIBLIOGRAPHIQUES

 

Cours gratuitTélécharger le document complet

 

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *