Simulation d'Objets Connectés IOT
Simulation d'Objets Connectés IOT
كلية التكنولوجيا
Faculté de Technologie
قسم اإللكترونيـك
Département d’Électronique
Mémoire de Master
Filière télécommunication
Spécialité Réseaux et Télécommunication
Présenté par
Nous tenons tout d’abord à exprimer toutes nos reconnaissances à notre directeur de
mémoire, Monsieur Yacine KABIR. Nous le remercions de nous avoir encadré, orienté, aidé et
conseillé.
Nous ne manquerons pas de remercier aussi tous nos camarades étudiants avec qui on a
su se soutenir mutuellement durant toutes ces années scolaires.
En fin nous réitérons nos remerciements à nos parents, amis et connaissances qui nous
ont apporté leur soutient durant nos moments difficiles.
Merci à tous
Dédicace
A ma mère
Celle qui a tout donné, tout mis en œuvre afin de me voir un jour heureux.
Aujourd’hui je vous rends hommage maman, grâce à vos prières je suis à bon
port.
A mon père
Celui qui à toujours su donner les meilleurs conseils de la vie sociale à ces
enfants. Grâce à vous j’ai gardé la tête haute dans mes études. Merci papa
Vous qui m’avez toujours soutenue tant matériel que morale, ma dédicace à
vous d’avoir toujours été là pour moi. En plus de vous être reconnaissant, ma
fierté est immense. Merci à vous
A tous les grand parents, oncles, tantes, cousins, cousines, neveux, nièces, parent
proches ou lointain, je vous dédicace ce travail de fin d’étude de Master.
MAIGA Abdoul-Aziz
Dédicace :
Je dédie ce modeste travail en premier lieu à ma
maman qui s’est sacrifier et qui a travailler sans relache
pour assurer mon éducation et mon bonheur, que dieux
me la garde.
LAGHOUATI Bouchra
:ملخص
تتيح، بهدف تقديم حل محاكاة لمشغلي إنترنت األشياء. نقترح نظا ًما أساسيًا لمحاكاة الكائنات المتصلة،في هذا المشروع
ًا
أو، مصنعًا، أو،منزل يمكن أن تكون البيئة.المنصة إنشاء مشاريع محاكاة لكائنات إنترنت األشياء في بيئة محددة جيدًا
يمكن للمستخدم إضافة غرف إلى بيئته من أجل تثبيت أجهزة استشعار، عند إنشاء المشروع. إلخ، أو ورشة عمل،مزرعة
تتمتع أجهزة االستشعار بالقدرة على إنشاء البيانات تلقائيًا ويمكن.ومحركات في كل غرفة والتي ستكون موضوع محاكاة
يوفر النظام ككل أمان وصول الوسيط لتوفير تجربة أمان أفضل.للمشغلين استخدام هذه البيانات لتغيير حاالتهم
.للمستخدمين
سماسرة إنترنت األشياء. الكائنات المتصلة؛ مجسات المحركات:الكلمات الرئيسية
Résumé : Dans ce projet, nous proposons une plateforme de simulation d’objets connectés.
Dans le but de proposer une solution de simulation aux acteurs de l’internet des objets, la
plateforme permet de créer des projets de simulation d’objets IOT dans un environnement
bien défini. Un environnement pourrait être une maison, une usine, une ferme, un atelier,
etc. Dans la création d’un projet, l’utilisateur peut ajouter des locaux à son environnement
afin d’installer dans chaque local des capteurs et des actionneurs qui vont faire l’objet d’une
simulation. Les capteurs ont la capacité de générer des données de manière automatiques
selon des profiles définies et les actionneurs peuvent exploiter ces données pour changer
leurs états. Le système dans son ensemble offre une sécurité d’accès au broker afin d’offrir
une meilleure expérience de sécurité aux utilisateurs.
Tableau 2.1: tableau résumant les éléments de l’architecture de l’interface principale ........31
Tableau 2.2 : résumé des langages, leurs atouts, leurs utilités pour le projet et l’interface
d’utilisation. .........................................................................................................................36
Tableau 3.1 : description des champs de configuration d’un capteur ...................................56
Tableau 3.2 : description des champs de configuration d’un actionneur ..............................61
Introduction générale
L’Internet des objets (ou IOT) se traduit à l’heure actuelle par l’accroissement du
nombre d’objets connectés, c’est-à-dire d’appareils possédant une identité propre et des
capacités de communication de plus en plus sophistiquées : téléphones, montres, appareils
ménagers, etc. Ces objets embarquent un nombre grandissant de capteurs et d’actionneurs
leur permettant de récolter des donner l’environnement et d’agir sur celui-ci.
L’internet des objets fait actuellement la une de la transformation numérique vers une
société plus connectée intégrant cette fois ci un écosystème de communication entre les
humains et les objets. Ainsi beaucoup d’entreprises, de particuliers ou encore des
gouvernements se lancent dans la mise en place de solutions IOT mobilisant quelques
capteurs à des milliers voir des millions de capteurs et actionneurs. Cependant, il serait très
coûteux voir difficile de faire un essai pratique de la mise en place d’une solution IOT avant sa
conception. Le monde de l’IoT a donc besoin des technologies permettant une simulation
virtuelle de ces objets avant une mise en œuvre réelle.
Dans la mise en œuvre de ce projet, nous allons aborder premièrement, une étude
bibliographique des fondamentaux de l’IOT, ensuite réaliser une analyse conceptuelle du
projet en vue d’une mise en œuvre plus efficace. Et nous terminerons par une analyse des
performances du projet final par rapport aux attentes théoriques des parties précédentes.
1
Chapitre 1 : Les fondamentaux de l’internet des objets
1.1. Introduction
L'Internet des objets (IoT) désigne l'interconnexion d’un grand nombre d'appareils et
de capteurs intelligents connectés à Internet. Ces capteurs et ces appareils connectés
collectent et partagent des données qui seront utilisées et analysées par plusieurs organismes,
dont des entreprises, des villes, des gouvernements, des hôpitaux et des particuliers.
L'avènement de l'IoT a possible, en partie, grâce à l'apparition des processeurs bon marché et
des réseaux sans fil. Des objets jusqu'à présent inanimés (comme des poignées de porte ou
des ampoules électriques) peuvent désormais être équipés d'un capteur intelligent qui
collecte des données et les envois vers un serveur distant via un réseau.
Environ un tiers des appareils connectés seront des télévisions intelligentes, des smartphones,
des tablettes et des ordinateurs. Les deux tiers restants correspondront à des « objets » : des
capteurs, des actionneurs et des appareils intelligents innovants qui surveillent, gèrent,
analysent et optimisent notre monde.
Le monde a rapidement été couvert par des réseaux qui permettent aux appareils numériques
de s'interconnecter et de transmettre des données. Nous vivons actuellement une
transformation numérique, à mesure que les réseaux numériques continuent de gagner du
terrain dans le monde entier et que les bénéfices économiques de la numérisation se
multiplient. La transformation numérique consiste à appliquer la technologie numérique pour
créer les bases de l'innovation dans les entreprises et le secteur de l'industrie. On assiste de
plus en plus à des applications liées à l’internet des objets. Le but de ce chapitre est de faire une
brève description sur les différents composants qui entrent dans la constitution d’un système de réseau
d’objets connectés.
2
1.2. Les objets
Les objets sont tous types d’équipements actifs ou passifs pouvant soit générer une
donnée exploitable et créatrice de valeur pour l’utilisateur, soit capable de réaliser une action
mécanique en vue d’assurer une tâche donnée. Ainsi dans l’internet des objets on peut classer
objets en trois catégories différentes : les objets traditionnels, les nouveaux objets connectés,
les capteurs et actionneurs. Les objets sont en quelque sorte, la matière première dans l’IOT,
tout commence par ces objets.
Dans cette partie nous allons illustrer les objets suivant les différentes catégories que
nous venons de citer.
3
1.2.1. Les objets traditionnels et nouveaux objets
On s’est tous déjà connecté à internet via un objet sans forcément se rendre compte
ou prendre conscience que l’ordinateur, le smartphone ou la tablette que vous utilisez
est un objet. Cependant l’évolution de l’internet va faire surgir d’autres types d’objets
connectés que nous appellerons nouveaux objets.
Ce sont des objets qui, autrefois l’on n’aurait pas crue qu’ils pouvaient être
connectés à internet pour rendre service à l’homme. Ce sont notamment les
appareils électroménagers, les instruments de mesure, les robots, serrures
4
de portes, machines-outils, bennes à ordures, drones, jouets, montres,
véhicules, etc.
Capteur de température
5
Capteur d’humidité
Un capteur d’humidité permet, comme son nom l’indique, de mesurer
l’humidité ambiante dans un environnement donné. Ce genre de capteur est
surtout utilisé dans le domaine de l’agriculture ou dans les fermes d’élevage.
Capteur de luminosité :
6
1.2.3. Les actionneurs
7
Figure 1.4 : quelques types d’actionneurs [20].
a) Le réseau Sigfox :
Créé en 2009, Sigfox fut le premier réseau dédié uniquement à l’IOT. C’est un système
de connexion utilisant des signaux de fréquence radio ultra-rapide et de longue portée.
On parle de bande ultra étroite pour le système M2M (communication machine to
8
machine) qu’il révolutionne d’ailleurs. Le principe de Sigfox est de réinventer la
transmission d’informations en réduisant de manière significative les consommations
d’énergie des périphériques connectés et leur prix. On parle surtout de révolution car
il créé un réseau longue portée et à bas débit qui permet la communication de données
de tailles réduites entre les objets connectés sans passer par un téléphone mobile. Les
objets communiquent entre eux et partages des commandes, des données entre eux
et communiquent.
Par ailleurs, Sigfox a pour but de connecter le monde réel avec le monde virtuel.
De ce fait les objets deviennent intelligents et pourrons exécuter leurs tâches
respectives sans l’intervention de l’homme. On parle ici de connecter des objets
simples comme les congélateurs, les machines à café, le chauffage, etc...
Sigfox reste un réseau dédié qui ne concerne pas les appareils mobiles comme les
smartphones, les ordinateurs portables et les tablettes disposant déjà de leur propre
moyen de connexion comme le réseau GSM. En somme Sigfox n’a peu de limites. Il
œuvre dans tous les domaines d’activités possibles et tous les secteurs imaginables de
l’internet des objets.
b) Le réseau Lorawan :
Le réseau Lorawan de son vrai nom LoRa signifie Long Range ou « longue portée
», a vu le jour en 2012. Tout comme son concurrent Sigfox, LoRa est une technologie qui
permet aux objets connectés d’échanger des données de faible taille en bas débit. Cela
permet de réduire considérablement la consommation énergétique des appareils, leur
conférant jusqu’à 10 ans d’autonomie.
LoRa utilise à la fois des fréquences radio libres 868MH et internet. Etant peu
gourmande en débit et en énergie, elle a l’avantage d’être très économique pour
l’utilisateur final et présente de plus, une excellente capacité de pénétration des
bâtiments, caves et sous-sols : compteurs d’eau intelligent, géolocalisation des biens
industriels, ainsi que pour l’agriculture connectée. Elle intègre également le domaine de
l’internet des objets par le champ de communication de machine to machine M2M.
9
Sa capacité de pénétration est une caractéristique intéressante permettant de
localiser des objets de valeurs gardés dans des zones difficiles d’accès.
Contrairement à son concurrent Sigfox, le réseau LoRa est plus facile d’accès.
Toute entreprise peut donc créer son propre réseau pour l’exploiter. Il faut pour cela se
munir d’une antenne reliée à internet. La bande de fréquence utilisée change par pays
et selon les normes de ce pays. La bande de fréquence utilisée par le réseau LoRa est
par exemple de 868MHz en France et de 915MHz aux Etats unis.
En outre les objets connectés doivent être équipés d’une puce LoRa qui leur
permet de recevoir le signal de l’antenne. Cependant la puissance du débit du réseau
est bien moins élevée que celui de la 3G. Il est question d’un débit compris entre 0.3 à
50kbps selon les besoins. Ce débit s’adapte automatiquement aux besoins des objets
afin de limiter l’emploie de la bande passante et donc la consommation.
Sigfox promet une meilleure pénétration et une meilleure portée et, LoRa annonce une
meilleure communication bidirectionnelle et une localisation par triangulation plus fine.
Nous avons vu que LoRa et Sigfox étaient des réseaux bas débit et longue portée,
ce qui ne leurs permet pas d’être efficace pour certains types de solution IOT sollicitant
un haut débit comme l’IOT dans le domaine de l’automobile autonome ou dans la
réalité virtuelle. C’est là que vient l’importance des réseaux de télécommunications
mobiles qui d’ores et déjà prennent en charge des transmissions à haut débit.
a) La 2G et la 3G :
10
téléphonie mobile et l’internet. Mais la transformation numérique oblige les
opérateurs télécoms à intégrer de nouveaux services par rapport aux nouveaux
besoins sur le marché. Ainsi sans toucher à la technologie de base des réseaux GSM
existants, on peut utiliser la 2G ou la 3G et même la 4G (que nous verrons dans le
prochain point) pour mettre en place une solution IOT. Ils permettent surtout une
couverture réseau plus étendue pour les objets connectés. A la limite la 2G et la 3G
n’assure que la transmission des données plus ou moins volumiques, de la voix et des
sms mais pas adaptés à des vidéos en direct à cause d’un problème de débit. C’est là
que la 4G intervient pour résoudre ce problème.
b) La 4G :
L’un des points fort de la 4G est la possibilité d’offrir des débits pratiques plus
élevés allant jusqu’à 40 Mbit/s. Ce qui fait qu’elle vise surtout le secteur industriel qui
est un peu gourmand en débit internet. Ainsi elle permet aux objets d’être plus réactif
et de transmettre un grand nombre de données en temps réel. On a également la
naissance des plateformes en ligne spécialisées dans l’IOT et qui permettent de
contrôler à distance un ensemble d’objets connectés tel que la climatisation,
l’éclairage, le système d’alarme, le thermostat, etc.
Malgré les possibilités grandioses que nous offre la 4G sur l’internet des objets,
elle reste tout de même limitée à satisfaire à 100% le besoin du monde de l’IOT.
11
1.3.3. La 5G
L’internet des objets est un réseau des réseaux aux possibilités infini qui va
révolutionner notre manière de vivre. Cependant, l’accroissement du nombre d’objets
connectés impose la nécessité d’une mise en place d’un réseau plus puissant que la
4G. c’est ainsi que voit le jour la 5G.
12
L’uRLLC a pour but une communication ultra-fiable pour les besoins critiques
avec une très faible latence, pour une réactivité accrue. Ce besoin est nécessaire
pour les applications aux véhicules connectés ou encore à la télémédecine. Pour
ce fait la 5G nous offre une latence de 1ms (10ms pour la 4G) et une disponibilité
de 99,99%.
1.4.1. La santé
L’application de l’internet des objets dans le domaine de la santé connait un
essor fulgurant, ce qui permet à un patient et à son médecin d’établir un contact à
distance et recevoir des informations en temps réel. Des objets connectés
spécialisés dans la médecine voient progressivement le jour.
13
de 15 pour 100 000 [1]. L’IoT permet de dépasser les situations de déserts médicaux
notamment grâce aux outils de télédiagnostic :
Au Kenya, les actions de santé mobile menées par Orange Healthcare ont
permis d’améliorer de 11 % le taux d’adhérence aux traitements de lutte contre le
SIDA [4].
a) L’agriculture
Les statistiques rapportés par l’ONU ont fait ressortir que la terre héberge 7.7
milliards d’habitants à la date du premier Janvier 2020 avec une croissance de
+1.1%, ce qui conduit à une augmentation de 80 millions de personnes chaque
année (soit près de 220,000 personnes chaque jour) [18]. Ainsi en 2100 le monde va
héberger 10.9 milliards d’habitants.
L’agriculture intelligente utilise des capteurs IOT qui permettent de récolter les
données des champs tel que la température, l’humidité des sols, le PH des sols,
14
mesurer de quantité des nutriments contenus dans le sol, etc. Ainsi, ces données
vont être envoyé dans le cloud pour être traité et prendre des décisions le plus
rapidement possible, parfois de manière automatique tel que l’irrigation
automatique, l’apport de solutions nutritives automatisé, etc. Il y’a aussi l’utilisation
des drones pour le contrôle aérien tel que la détection des irrégularités d’évolution
des plantes dans les champs, ou encore la vérification des drainages de sol pour les
campagnes de semences. Cela constitue un gain de temps énorme aux agriculteurs.
15
Figure 1.5 : l'IOT appliqué à l'agriculture [19].
b) L’élevage :
Une autre application de l’IOT est d’équiper les fermes et les animaux de capteurs
intelligents permettant d’offrir un environnement idéal (une meilleure vie) aux
animaux.
Dans la filière volaille, les capteurs peuvent servir dans la recherche en détectant
les types poulets qui avalent le plus de nourriture. Ces types de poulets vont être
ensuite sélectionnés en vue d’obtenir des poulets de race pour une production
massive de viande.
16
Figure 1.6 : capteur de récolte de donnée sur la santé animale [11]
a) Territoires intelligents :
Grace à l’internet des objets, les logements et lieux de travail deviennent plus
confortables, plus facile à gérer et moins couteux à l’usage. Le bâtiment connecté,
incluant la maison connectée, offre notamment des possibilités de contrôle des
consommations énergétiques.
17
dans un premier temps les habitudes de leurs utilisateurs (locataires d’une maison par
exemple) pour ensuite adapter la prise des décisions de façon autonome, offrant ainsi un
environnement plus sécurisé et confortable.
En ce qui concerne les villes intelligentes, voici une définition selon Joan Enric
Ricard (professeur à l’Institut d’Etudes Supérieurs de Barcelone I.E.S.E) rapporté par le
magazine Forbes [17] « une ville vraiment intelligente, est une ville qui a pour objectif
d’améliorer la qualité de vie de ses résidents, ce qui suppose d’assurer la sécurité
économique et sociale ainsi que la durabilité environnementale ». Cela dit, les villes
intelligentes est un projet futur qui prend de l’ampleur. Ainsi nous assisterons à la mise
en place de parkings intelligents, de feus de routes intelligents, des éclairages publics
intelligents qui vont réduire considérablement les dépenses publiques en énergies. Un
autre domaine qui sera révolutionné par l’IOT, c’est l’industrie. L’industrie du futur va
majoritairement reposer sur l’IOT. Il va apporter d’importantes modifications dans la
manière de produire, de gérer et de communiquer dans les entreprises. En effet les
machines industrielles peuvent être organisées en réseaux avec des technologies de
détection (capteurs) leurs permettant d’avoir une grande autonomie et des précisions
de conception accrues. Des capteurs peuvent être installés tout le long de la chaine de
production afin de suivre la qualité de production, détecter les erreurs de fabrications
mais aussi détecter les pannes avec précision permettant des interventions rapides et
efficaces. Ce qui est profitable économiquement en termes de temps et de coût aux
industriels.
b) L’automobile :
Avec l’avènement de la 5G, l’IOT n’a plus de limite. Presque tous les types d’objets
pourront se connecter. Le secteur de l’automobile n’en fera pas d’exception. En effet
l’IOT peut apporter une aide à la conduite afin d’assister les conducteurs pour des
voyages de longues distances engendrant la fatigue du conducteur. C’est le cas par
exemple de Volvo qui équipe certaines de ses voitures (les modèles s90 et xc90) de
technologies de conduite semi-autonome. Ses voitures adaptent leur vitesse sur
autoroute en respectant la distance de sécurité et intervient sur la direction lorsque
18
c’est nécessaire. En plus de l’aide à la conduite, l’IOT compte modifier un autre aspect
de l’automobile et de manière efficace grâce à la 5G : c’est la voiture quasi autonome
avec l’avènement des technologies V2V (pour vehicle to vehicle) et V2I (pour vehicle
to infrastructure). Celles-ci permettront à terme aux voitures de communiquer entre
elles mais aussi avec le réseau afin d’avoir une meilleure connaissance de leurs
environnements et pouvoir agir d’elles même. Les voitures pourront prévenir leur
homologue en cas d’accident ou en cas de route glissante. Elles pourront également
adapter leur vitesse en conséquence, éviter les bouchons, éviter les accidents, etc. La
marque Allemande Audit propose déjà, pour ses modèles Q7 et A4 des technologies
pareilles pouvant indiquer à leur conducteur le temps d’attente d’un feu rouge ou
même adapter leur vitesse afin d’éviter les feux rouges.
1.5. Conclusion
Ce premier chapitre a fait l’objet d’une étude théorique permettant de comprendre les
concepts clés de l’internet des objets à savoir : les objets, les réseaux pour la connexion de ces
objets et les domaines dans lesquels ces objets peuvent apporter de la valeur.
Les objets concernent essentiellement les téléphones, les ordinateurs, les équipements
domestiques et industriels, les capteurs et les actionneurs. Ils constituent la base même de
l’IOT.
Les réseaux servent à mettre en réseaux les objets en vue de communiquer, et ainsi on
parle d’objets connectés. Les objets connectés sont alors installés dans des environnements
dédiés pour apporter de la valeur. Ainsi les objets connectés appliqués à des domaines
forment l’écosystème de l’IOT.
19
Chapitre 2 : Etude de faisabilité et architectures de conception
2.1. Introduction
Si l’internet des objets est sur la voie de révolutionner notre mode de vie et
notre environnement, n’est-il pas nécessaire de mettre en place des outils pour
faciliter d’avantage sa mise en œuvre dans un environnement sûre et durable ?
L’idée de conception d’un système de simulation est ainsi survenue dans le but
de mettre au service de l’IOT un outil de simulation analytique de projets IOT en
amont.
La simulation est déjà largement utilisée dans beaucoup de domaines comme
l’aéronautique, les réseaux ou le traitement de signal. Et elle fait bien ses preuves
d’utilité, alors pourquoi pas en faire profiter à l’internet des objets ?
Cependant, la mise en œuvre de tout projet nécessite au préalable une
réflexion, en vue de mettre en place, un meilleur plan de travail, avoir une bonne
organisation, et un gain de temps considérable.
C’est dans cette optique nous allons exposer différentes étapes permettant la
mise en œuvre du système de simulation.
D’abord nous commençons par un point essentiel relative à l’étude de
faisabilité. Ensuite il sera question de la conception des architectures des interfaces
du système. Et pour finir nous abordons la partie relative à la programmation, et
plus précisément les outils softwares ayant servis à la mise en œuvre du noyau du
système et ses interfaces.
20
Quel état d’art lié à la simulation dans l’IOT ?
Le système de simulation va-t-il apporter de la valeur au monde de l’IOT comme nous le souhaitions
?
OpenSHS :
SimpleIoTSimulator
PowerTOSSIM et PowerTOSSIM-z
22
l’énergie consommé par nœuds. PowerTOSSIM est une extension à TOSSIM, une
simulation événementielle environnement pour les applications TinyOS [8], plus
précisément, PowerTOSSIM détermine la consommation d'énergie de chaque
périphérique dans tous les nœuds d'un WSN.[10]
MATSNL
En 2007 un package des fichiers m-file de Matlab a été créé pour calculer la
durée de vie, le budget et la puissance des nœuds de capteurs sans fils ainsi que
pour désigner l’architecture optimale des nœuds. Désormais, ses fonctionnalités
s'étendent à l’architecture de plate-forme plus complexe [11]. MATSNL compare
la consommation de deux plateformes pour la même application.[12]
Dans chaque local d’un environnement, nous pouvons ajouter des capteurs
permettant de simuler l’état de l’environnement. Les capteurs devront être capables
de fonctionner de manière continue et autonome sur tout le temps définie par
l’utilisateur.
Nous avons ajouté également des actionneurs tel qu’une ampoule, un climatiseur,
une chaudière, un thermostat, une alarme etc. chaque actionneur pourrait être
23
ensuite lié à un capteur afin de recevoir les données et effectuer une action selon l’état
de ces données.
Cette solution constitue, une plateforme de test pour les utilisateurs et concepteurs
des systèmes intelligents basés sur les IOT.
b) Le but :
Le but de notre projet est de faciliter la tâche à tous ceux et celles qui souhaitent
mettre en place une solution IOT, en leur permettant de simuler leur projet en amont
afin d’analyser la faisabilité ainsi que la fiabilité de leur installation. Ainsi notre
plateforme leur donnera la possibilité d’avoir une vision réelle de leur future
installation tout en leurs permettant de prendre les meilleures décisions pour
optimiser le rendement et réduire les coûts lors de la mise en œuvre de leur système
IOT.
24
remonter les informations propres aux maintenances d’infrastructures routières et
ferroviaires. Le client rencontrait un phénomène de panne bizarre qui revenait tous les
25 à 40 jours de manière inexplicable. Pour pallier au problème, il trouva qu’aller sur
le terrain d’un système déployé sur des centaines de kilomètres aurait pris trop de
temps et couteux. Un recourt à la simulation virtuelle a permis de détecter et palier au
problème en un temps record. Il s’agit d’une simulation en aval. Le deuxième client lui
recouru à une simulation en amont. En effet il voulait optimiser la configuration d’un
bâtiment connecté en simulant des milliers de capteurs et les passerelles de
communication qu’il n’aurait pas pu déployer à l’échelle d’une maquette matérielle.
La simulation est un moyen de tester les nouveaux services avec un minimum de risque
et donc réduire les coûts lors de la phase de développement, poursuit l’expert dans le
domaine [16]. En prenant en compte l’analyse et l’expérience de Michel Genard, on
peut se rendre compte de la nécessité de la simulation dans le monde de l’IOT.
Nous savons à présent que notre projet sur la conception d’un système de
simulation à bien et belle sa place dans le monde de l’internet des objets. Cependant
quelles compétences techniques aurons-nous besoin pour sa mise en œuvre ?
Connaitre les prérequis de notre projet est une étape importante pour sa mise en
œuvre et aussi un gain de temps éviter les échecs.
Ainsi pour aller au bout de nos réflexions, un tas de questions méritaient d’être
posées : quelles sont les compétences nécessaires pour sa mise en œuvre ? Avons-
nous déjà ses compétences ? Serons-nous capables d’appréhender ses compétences
rapidement en vue d’offrir une application de qualité vu sa complexité ?
Cette partie est une étape essentielle de la mise en œuvre de notre projet car il
fallait maitriser les outils et technologies nécessaires à la conception de notre système.
25
Tout juste, après le choix du thème, avec notre encadreur, nous n’avons pas
manqué à solliciter son avis quant aux besoins techniques pour la conception de notre
système. Ainsi une liste de compétences dont nous aurions besoin pour la réussite de
notre mission a été établie. Nous pouvons citer entre autres :
Le gros défi pour nous était de maitriser toutes ces technologies dans un bref délai
afin de passer à l’étape suivante. Mais maintenant que nous avons une idée sur les
prérequis de notre projet, nous pouvons passer à l’étape de la recherche
bibliographique afin de maitriser les technologies indispensables à la mise en œuvre
de notre système.
26
une course contre la montre s’engage parallèlement car on avait le calendrier
universitaire qui prévoyait les soutenances en juin. On a dû alors se mettre au travail
très vite début février, tout juste après la fin du premier semestre.
2.2.4. Validation
Cette section illustre surtout les raisons pour lesquelles notre projet de conception
d’un système de simulation mérite d’être retenu. L’état d’art nous a permis d’analyser
et faire sortir l’innovation que vise notre système de simulation par rapport aux
technologies de simulation IOT déjà existantes.
Tous ces systèmes énumérés au niveau de l’état d’art génèrent les données de
capteurs de manière aléatoire (juste pour la simulation) sans forcément se rapprocher
de la réalité ni se soucier sur des valeurs fausses que peut émettre un capteur.
Alors que notre système offre des simulations de capteurs avec des valeurs plus
proches de la réalité avec un taux d’erreur très faible (grâce à une fonctionnalité de
régression polynomiale configuré dans les capteurs) qui pouvant même être visualisé
graphiquement.
Coté flexibilité, notre système offre un choix libre aux utilisateurs de définir les
noms de capteurs et actionneur ainsi que les types de données à envoyer. Ainsi
l’utilisateur peut même créer un capteur virtuel qui n’existe pas en réalité.
27
Après avoir pu se démarquer des systèmes de simulation existants sur le marché,
notre projet de système de simulation peut enfin être validé pour passer à l’étape de
la planification de mise en œuvre.
28
Figure 2.2 : architecture de l’interface principale.
29
l’étape précédente. L’utilisateur à la possibilité d’ajouter autant de locaux qu’il
souhaite.
Une fois les locaux définis, l’utilisateur peut maintenant ajouter des capteurs et
des actionneurs dans chaque local défini dans l’étape précédente. Il a la possibilité
d’ajouter également autant de capteurs et d’actionneurs qu’il le souhaite.
L’option nouveau projet est relié à un afficheur (voir architecture) qui permet
à l’utilisateur d’observer l’évolutions de son projet lors de la création.
L’option anciens projets permet à l’utilisateur de revenir sur ses anciens projets,
de manipuler, effectuer des changements des mises à jour, etc. En effet, relié à la
BDD, l’utilisateur peut retrouver ses anciens projets en un clic. Elle est reliée à
l’afficheur pour observer les changements lors de la manipulation.
Le module C.R.U.D :
Option « simulation » :
30
ELEMENT FONCTIONNEMENT
Permet de créer un nouveau projet :
-choix d’environnement
- choix des locaux
Nouveau projet
- choix de capteurs
-choix d’actionneurs
C.R.U.D projet :
-Créer des données
-lire des données
-mettre à jour des données
- supprimer des données
Représente la base de données dans la quelles est
Afficheur graphique
Quand la simulation est lancée, avant de recevoir les données, le serveur Mosquitto
vérifie dans son fichier d’authentification si les identifiants de l’utilisateurs y figurent. Si oui,
les données sont acceptées par le serveur, sinon elles sont rejetées et un message d’erreur
sera affiché pour montrer à l’utilisateur que ses identifiants sont incorrects.
31
2.3.2. Architecture de l’interface de visualisation
Nous avons vu précédemment l’architecture de l’interface principale de notre système
de simulation qui permet de créer un projet IOT virtuel. Dans cette section, nous allons
décrire l’architecture de la seconde interface qui constitue l’interface de visualisation de
notre système (Voir figure suivante), cette interface permet de suivre et afficher en temps
réel l’évolution du système en cours de simulation.
32
2.3.3. L’architecture d’ensemble
L’architecture d’ensemble du système se résume comme suit :
Python est un langage très puissant, mais aussi plus facile à maitriser que les autres
langages POO tel que java ou C++. En outre python, parce qu’il regorge de nombreuses
bibliothèques graphiques dont Tkinter qui permettent de programmer directement
des interfaces graphiques.
Tkinter, de l’anglais « Tool Kit Interface », est une bibliothèque graphique qui
permet de réaliser des applications graphiques en python. La force de tkinter est
qu’une application réalisée sur Windows va fonctionner sur tous les autres systèmes
d’exploitation comme linux, mac et vice versa sans devoir à changer une seule ligne de
code. Ainsi Tkinter nous a permis de coder toute la partie graphique de la première
interface.
SQL est un langage de requête structuré permettant de gérer les bases de données
relationnelles.
34
En résumé, la bibliothèque graphique Tkinter de python a permis de développer
l’interface principale graphiquement et MySQL pour connecter cette interface à une
base de donner via le langage SQL.
35
Langage Atouts Utilité pour le projet Utilisé
pour l’interface :
- open source
PYTHON - langage POO - développer
- très puissant l’interface Principale
- facile à apprendre principale de
- contient des manière graphique
bibliothèques -créer de nouveaux
graphiques projets
- stabilité - communiquer
avec la base de
données MySQL et
le serveur mqtt
- Une rapidité accrue Communiquer avec
JAVASCRIPT - directement le server MQTT, Secondaire
supporté par les récupérer les
navigateurs web. données dans le
- très puissant en but de les afficher
frontend
-stable
- facile à apprendre Afficher les
HTML ET CSS - langage web résultats de la Secondaire
- très populaires simulation sur une
page web.
Tableau 2.2 : résumé des langages, leurs atouts, leurs utilités pour le projet et l’interface
d’utilisation.
36
2.5. Conclusion
Avant tout début de mise en œuvre d’un projet, prendre le temps de planifier les étapes
de conception permet non seulement de mieux s’organiser mais aussi de gagner du temps.
Dans ce second chapitre, nous avons présenté l’étude de faisabilité dans un premier
temps. Ce qui nous a permis de faire non seulement un inventaire des projets de système de
simulation IOT existants, mais aussi trouver des réponses à des questions techniques liés à
notre projet.
Nous avons élaboré les architectures de conception des différentes interfaces de notre
système de simulation. Cela a permis de visualiser en amont les fonctionnalités de notre
système de simulation avant même sa mise en œuvre.
Maintenant que le système de simulation est prêt, nous pouvons passer à la prochaine
étape relative à l’utilisation pratique du système. Ceci nous permet de valider le système
conçu en rapport avec l’étude conceptuelle.
37
Chapitre 3 : implémentation et résultats de simulation
3.1. Introduction
La simulation d’objets connectés revient à reproduire l’architecture de ces objets IOT
sans utilisation d’équipements physiques. Elle prédit les évènements qui seraient amenés à se
produire en prenant en compte leurs caractéristiques.
Le but de ce chapitre est de présenter le fonctionnement du système de simulation final
mis en œuvre. Cela va nous permettre d’avoir un comparatif entre les études théoriques
effectuées précédemment et la version finale obtenue de notre système de simulation.
Dans ce contexte, nous allons présenter d’abord la gestion des communications dans
l’environnement global du système de simulation en vue de comprendre comment sont
acheminées les données.
Ensuite nous allons présenter les différentes phases de création d’un projet IOT allant
du choix d’environnement, de locaux, de capteurs à actionneurs comme nous l’avons bien
abordé dans le chapitre précèdent concernant la partie architecture.
Enfin, présenterons les résultats de simulation suivant les variations de données ainsi
que l’aspect sécurité pour assurer authenticité des données.
La gestion des communications entre les interfaces du système se fait grâce à des
protocoles de communication gérés par un serveur centralisé. Nous verrons dans cette
partie les protocoles qui serviront à transporter les données ainsi que le serveur qui sert à
gérer ses données.
38
3.2.1. Le protocole MQTT
MQTT est un protocole de transfert de données Machine-to-Machine
(M2M) basé sur la technologie TCP/IP. Il fournit une méthode légère d'exécution de la
messagerie à l'aide d'un modèle de publication / abonnement. Cela le rend adapté à la
messagerie Internet des objets, par exemple avec des capteurs de faible puissance ou
des appareils mobiles tels que des téléphones, des ordinateurs intégrés ou des
microcontrôleurs.
MQTT a été développé à la base pour avoir un protocole de messagerie léger pour
faire communiquer des machines dans un environnement où les déconnexions sont
fréquentes. Ce qui lui donne une grande utilité dans l’IOT, car les déconnexions des
capteurs ne sont pas rares et il faut quand même pouvoir recevoir les informations lors
de la reconnexion.
De nombreux objets connectés destinés aux particuliers, ainsi que des applications
comme Facebook Messenger, reposent sur le MQTT. De même Amazon IoT se base
sur ce protocole. En général, ce protocole est le plus adapté pour les systèmes de
contrôle utilisés par les entreprises industrielles. Son taux d’adoption devrait continuer
à augmenter dans les années à venir.
QoS0 : Le message envoyé n’est pas stocké par le Broker. Il n’y a pas d’accusé de
réception. Le message sera perdu en cas d’arrêt du serveur ou du client. C’est le mode
par défaut
39
QoS1 : Le message sera livré au moins une fois. Le client renvoie le message jusqu’à ce
que le broker envoi en retour un accusé de réception.
QoS2 : Le broker sauvegarde le message et le transmettra jusqu’à ce qu’il soit reçu par
tous les souscripteurs connectés.
MQTT consomme 11 fois moins d’énergie pour envoyer des messages et 170 fois
moins pour en recevoir que le protocole HTTP. Il est également 93 fois plus rapide que
le protocole HTTP.
En outre, ce que l’on doit retenir est que ce n’est pas le protocole websocket qui
va transporter les messages mais toujours le protocole MQTT. Le protocole websocket
va servir juste à encapsuler les messages (frames) MQTT pour permettre aux
navigateurs web de les interpréter.
40
3.2.3. Serveur Mosquitto
Mosquitto est un serveur MQTT open source que l’on peut installer sur tous les
systèmes d’exploitation (Mac, Windows, Linux, etc.). Contrairement au principe du
client/serveur utilisé sur le web, MQTT utilise celui de la publication/souscription. En
effet, Mosquitto sert de broker unique permettant à plusieurs clients connectés de soit
publier des informations, soit souscrire pour recevoir des informations. On parle de
ce fait de topic.
Les topics sont des canaux (chemins) d’accès à une ressource. Les clients de
souscription MQTT s’enregistrent alors auprès du broker via ces topics. Un client inscrit
à un topic demande alors au broker à être notifié lorsque quelqu’un publie sur ce topic.
Ainsi, un client peut s’inscrire à plusieurs topics.
41
Figure 3.2 : fonctionnement d’un serveur MQTT [17]
On distingue :
42
La classe « application » :
La classe « thread_class »
43
de la programmation qu’une boucle infinie fait planter un programme. C’est
ainsi qu’on a créé la classe thread_class qui a pour objectif de gérer uniquement
la partie simulation qui doit fonctionner en boucle infini.
En somme, toute l’interface principale est codée sur deux classes : la classe
« application » permettant de gérer les widgets graphiques et la classe
« thread_class » pour gérer et assurer la simulation en boucle infinie dans le temps.
Quant à l’interface de visualisation, le code source n’est que du langage web basique
et des scripts javascript :
L’interface principale
44
défaut, la majorité des boutons sont désactivés. Il faut ouvrir un nouveau projet
pour accéder à ces boutons.
L’interface de visualisation
45
Figure 3.7 : interface de visualisation du système avant simulation
L’interface de visualisation a pour rôle d’afficher uniquement les objets IoT lancés en
simulation, donc aucune manipulation ne se fait sur cette interface.
46
Figure 3.8 : architecture de conception d’un projet
Il faut commencer par ouvrir une session de projet en faisant un clic sur « projet »
puis « nouveau projet » (voir image ci-dessous) :
47
Figure 3.9 : ouverture d’une session pour un nouveau projet
Lorsqu’on clique sur nouveau bouton, on observe une activation des boutons qui
au début étaient désactivés. Ce qui indique qu’on vient d’activer une session de
création de projet. En plus, il y’a apparition de sections supplémentaires au centre :
48
une (indiqué 1 sur l’image) en grise permet d’afficher l’environnement sur lequel vous
êtes en train de travailler. La boite de liste deux en blanc permet d’afficher tous les
locaux que vous allez attribuer à l’environnement choisi. La boite de liste trois en
bleue ciel permet d’afficher tous les capteurs que vous ajoutez à un local. En fin la
dernière boite de liste permet d’afficher tous les capteurs appartenant à un local
donné.
49
dans la première boite de liste. Vous pouvez modifier le nom en double cliquant sur
le nom dans la boite de liste afin de définir un nouveau nom à votre environnement.
Une fois l’environnement défini, vous pouvez passer à l’étape de définition des
locaux.
50
Pour ajouter un local, il suffit de cliquer sur un des locaux et vous aurez une petite
fenêtre toplevel où vous pouvez ajouter le local ou annuler l’action
Ici nous avons une ferme comme environnement donc on obtient une liste par défaut
de locaux liés à une ferme. Le numéro « 8 » devant le nom de l’environnement indique
son identifiant dans la base de donnée. Le local « NOUVEAU » permet de définir un
nouveau local qui n’existe pas dans la liste. Lorsque vous ajoutez un local, celui-ci
apparait dans la seconde boite à liste comme le montre la figure suivante :
51
Figure 3.14 : ajout d’un local a un environnement
A gauche on à l’environnement et ensuite, la liste des locaux, ce qui vous donne une
bonne visibilité de l’évolution dans la création de votre projet. Vous pouvez également
changer le nom d’un local en double cliquant dessus, vous obtenez une boite de dialogue
pour changer le nom à votre guise. Vous pouvez ajouter autant de locaux que vous
souhaitez à votre environnement.
Nous verrons dans la prochaine étape comment ajouter des capteurs et des
actionneurs à un local. Mais vous pouvez par ailleurs ajouter les capteurs et actionneurs
au fur et à mesure que vous ajoutiez des locaux.
52
Vous pouvez ensuite sélectionner dans la liste de capteurs ou actionneurs les objets
que vous aimeriez intégrer dans vos locaux.
L’image ci-dessus montre la liste des capteurs par défaut à gauche indiqué par la
flèche et une liste de capteurs dans la boite à liste trois. On observe bien un nombre 10
devant chaque nom de capteur. Ce numéro représente en fait l’identifiant du local au
quel ces capteurs sont liés. Lorsqu’on regarde le nom du local (distributeur) on voit bien
que son identifiant est 10.
53
Lorsque vous cliquez sur actionneurs, vous avez également une liste par défaut
d’actionneurs qui apparait. Pour ajouter un actionneur, ça se passe de la même façon
que les capteurs. Vous faite un clic sur le nom de l’actionneur que vous voulez ajouter
puis ajouter. Vous verrez le nom du capteur apparaitre dans la dernière boite à liste
(figure 3.13).
On remarque alors que la création d’un projet est vraiment simple avec une interface
très facile à comprendre. Les boites à listes permettent de voir l’évolution de votre projet
mais aussi vous permet de modifier supprimer ou mettre à jours les éléments de
l’environnement
Dans la partie qui suit, on va voir comment paramétrer les capteurs et actionneurs
avant de lancer la simulation.
Dans cette partie nous allons montrer comment configurer les capteurs et les actionneurs
en vue de lancer une simulation. Par défaut si vous lancer la simulation sans configuration
voilà ce que vous obtenez par exemple :
54
Figure 3.17 : le comportement des objets en simulation sans une configuration préalable
On peut remarquer que tous les capteurs par défaut on la valeur « -1 » et tous les
actionneurs la valeur « undefine » qui signifie indéfinie, ce qui est tout à fait normal car on n’a
pas défini les types de données que ses objets doivent émettre.
55
On a de nombreux champs de saisie dans l’interface, et chaque champ à un rôle
particulier. Dans le tableau ci-dessous, on va décrire le rôle de chaque champ :
CHAMP DESCRIPTION
Contient l’identifiant du local auquel appartient le capteur.
Id_local Il suffit de saisir l’identifiant du nouveau local auquel vous
voulez attribuer le capteur avant d’enregistrer.
56
Ce sont les champs (temps_debut, temps_fin, val_inter) qui permettent de
configurer le capteur afin de fonctionner dans le temps. L’objectif est que chaque
capteur puisse fonctionner sous 24h.
Imaginons que la période de vos données est d’une heure de décalage entre deux
intervalles de temps. Imaginons maintenant que votre capteur doit fonctionner sous
24h ; on aura donc 24 valeurs définis au total pour ce capteur. Mais ce qu’on doit
comprendre est que le capteur n’envoie pas que 24 valeurs dans une journée ça serait
insensé. Entre deux intervalles de temps le capteur peut envoyer dix, 20 voir cents
valeurs. Ce qui se passe est que le capteur va générer une fonction d’interpolation
57
polynomial en fonction des valeurs entrées par l’utilisateur afin de prédire de manière
automatique la valeur qu’elle doit envoyer et cela de manière régulière avec une
probabilité d’erreur très faible. Mathématiquement, on parle de la régression
polynomiale.
En outre, la fréquence d’envoi de données diffère d’un capteur à un autre. Cela dit
les capteurs n’envoie pas tous leurs données en même temps ; chaque capteur à sa
fréquence d’envoi de données propres à sa fonction de régression. Ce qui rend chaque
capteur unique.
Pour observer le graphe du capteur, après avoir entré les données du capteur dans
l’interface de configuration du capteur, il suffit de cliquer sur le bouton « graphe » dans
la partie droite en haut de l’interface. Vous aurez un graphe comme ceci :
58
Figure 3.20 : exemple de graphe d’évolution d’un capteur
Dans ce graphe (figure 3.17), les points rouges représentent les données de
référence introduit dans le capteur. Le graphe en bleu construit à partir de ces points
permet au capteur de fonctionner de manière continue.
Nous pouvons observer que presque tous les points sont sur la courbe en bleue
ou très proche. Ce qui implique que la probabilité que le capteur envoie une valeur
erronée est très faible. Par contre si on avait des points rouges très éloignés de la
courbe, on aurait conclu que le capteur risquerait d’envoyer des valeurs erronées lors
de la simulation. Il est possible également d’enregistrer le graphe sur le disque local.
Dans la prochaine partie, nous allons voir comment configurer les actionneurs à
réagir face aux données des capteurs auxquels ils sont liés.
59
3.5.2. Configuration des actionneurs
La configuration des actionneurs consiste à connecter ces actionneurs avec les
capteurs afin de fonctionner au dépend de ses capteurs. Pour configurer un capteur, il
suffit de cliquer sur le nom du capteur dans la boite à liste, vous aurez une interface
en toplevel comme le cas vu avec les capteurs. L’interface de configuration comporte
également des champs de saisi ayant tous un rôle particulier.
60
CHAMP DESCRIPTIONS
Contient l’identifiant du local auquel appartient l’actionneur.
Id_local Pour changer le local de l’actionneur, il suffit de saisir
l’identifiant du nouveau local auquel vous voulez l’attribuer.
auquel il sera lié et aussi se rassurer que l’identifiant du capteur soit valide. Dans la
prochaine partie nous allons enfin passer à la simulation pour observer le fruit de
notre travail.
61
3.5.3. Lancer la simulation
L’étape de la simulation est la plus attendue pour observer votre projet IOT. Pour
lancer la simulation, il y’a un bouton « Run » dans l’interface principale du système qui
permet de lancer la simulation.
Lorsqu’on lance la simulation, une requête SQL est envoyée au serveur pour
récupérer toutes les informations relatives à l’environnement dans la base de données.
Ces informations concernent les locaux appartenant à l’environnement, les capteurs
de chaque local ainsi que les actionneurs de chaque local. Ces informations sont
ensuite enregistrées dans un fichier json (JavaScript Object Notation) en vue d’une
meilleure organisation pour être ensuite envoyées vers le broker MQTT. Json est un
langage léger d’échange de données textuelles. Prenons l’exemple des données d’un
capteur dans un fichier json dans l’image suivante :
62
Figure 3.23 : données d’un capteur sous un format json
On remarque qu’une structure très bien organisée et facile de lecture. En somme, les
données sont toujours envoyées au serveur sous forme json afin d’avoir une meilleure
réception des données sur l’interface de visualisation.
Une fois la simulation lancée, on obtient ceci (figure 3.20) sur l’interface secondaire
(de visualisation :
63
Figure 3.24 : résultat de la simulation
Nous pouvons observer sur l’interface, l’état des capteurs et les actionneurs de
l’environnement. Dans l’affichage, il y’a le nom de l’environnement en cours de
simulation, une liste de capteurs à gauche et une liste d’actionneurs à droite. On peut
observer que chaque capteur ou actionneur est précédé par le nom du local auquel il
appartient. Ce qui facilite la visibilité de la simulation et une meilleure observation. On
remarque également que les valeurs des capteurs changent dynamiquement. Ce qui
montre toute la logique dans le fonctionnement de ces derniers. Les capteurs avec
une valeur « -1 » par défaut et les actionneurs avec une valeur « undefine »
constituent ceux qui n’ont pas été configurés. On peut observer aussi que les états des
actionneurs sont synchronisés avec les données des capteurs comme indiqué dans la
configuration de ces derniers.
Pour arrêter la simulation, il suffit de cliquer sur le bouton « stop » en rouge dans
l’interface principale.
Dans la prochaine étape, nous allons voir comment sécuriser notre système de
simulation.
64
3.5.4. Sécurité
La sécurité est un point essentiel qui permet de protéger le système de simulation
contre des manœuvres indésirables d’intrus au système. En effet, le protocole MQTT
étant basé sur l’architecture publier/souscrire sur des topics, n’importe qui pourrait
envoyer des données sur votre serveur MQTT s’il connait le nom du topic. Cependant,
lorsque des données inconnues sont envoyées sur votre topic, cela pourrait
compromettre les résultats de votre simulation.
Etape 1 :
Commencer par créer un fichier (un fichier texte) dans lequel vous allez
enregistrer vos mots de passes. Ce fichier doit être dans le dossier d’installation
de Mosquitto.
Etape 2 :
65
Figure 3.25 : commande de création d’un mot de passe sur Mosquitto
Etape3 :
Vous devez en fin configurer Mosquitto pour bloquer les accès anonymes
car par défaut, Mosquitto autorise tous les accès. Pour se faire, il faut ouvrir le
fichier [Link] toujours dans le dossier d’installation de Mosquitto et
ajouter les lignes suivantes à la fin :
Une fois toutes ses étapes effectuées, le système de simulation est en fin prêt à
effectuer une connexion sécurisée pour une meilleure expérience de simulation.
Pour une question de rigueur, notre système va toujours vous demander un mot
de passe lorsque vous lancer la simulation. Si votre serveur n’exige pas de mot de
66
passe, vous annulez les demandes de saisie et tout ira bien. Ci-dessous un exemple de
simulation sécurisé :
Si par contre les identifiants sont erronés, vous aurez un message d’erreur :
Pour plus de sécurité, Mosquitto offre à ses utilisateurs une possibilité de connexion SSL
grâce au logiciel openssl de cryptage de données. Ainsi tous les messages seront cryptés
lors de la simulation, et l’on ne pourra pas les décrypter même si on arrive à les intercepter.
67
3.6. Conclusion
Ce chapitre a été consacré à la prise en main du système de simulation en vue de
permettre aux futurs utilisateurs de créer facilement leurs projets IOT et avoir une meilleure
expérience dans la simulation de leur environnement.
En effet, après avoir montré la gestion des communications via les protocoles MQTT et
websocket avec le serveur Mosquitto, nous avons montré comment concevoir un projet de A
à Z allant du choix de l’environnement, des locaux, des capteurs aux actionneurs.
Ensuite, nous avons montré comment paramétrer les capteurs et les actionneurs avant
une quelconque simulation. Nous avons souligné également que les données étaient en
format json lors de l’envoie au serveur afin de permettre une meilleure réception de ces
données.
Nous avons aussi montré comment sécuriser le serveur Mosquitto afin d’éviter toute
intrusion de personnes non autorisées à publier sur ce serveur. Cela a pour but de protéger la
simulation et éviter d’avoir des surprises si seulement un particulier arrivait à envoyer des
données indésirables sur notre système.
68
Conclusion générale
Les recherches menées durant la mise en œuvre de ce projet, nous ont permis de
comprendre dans un premier temps comment l’internet des objets est sur le point de
révolutionner notre monde.
Le premier chapitre a permis de ressortir les fondamentaux de l’IoT que sont les objets,
les réseaux et leurs domaines d’application. Nous pouvons retenir que théoriquement parlant,
l’IoT à des beaux jours devant lui. En outre le monde s’active pour faciliter l’insertion de cette
technologie dans notre vie quotidienne.
Dans l’ensemble, les résultats pratiques sont satisfaisants comme nous l’avons prévue
dans l’étude théorique. Les capteurs remplissent bien leurs fonctions, les actionneurs
également.
En dépits des fonctions que remplit le système, des améliorations futures peuvent être
apportés au système. Ainsi comme perspectives nous prévoyons :
69
Améliorer la présentation graphique des capteurs et actionneurs en y assimilant des
images adaptées pour chaque cas afin de faciliter les créations de projets.
Créer des environnements types intégrés au système comme des parkings, des
garages et même des torchons de routes.
Intégrer des fonctions de sorties afin de réagir avec des équipements électroniques
physiques comme des cartes Arduino, des capteurs réels, des actionneurs, etc.
70
Bibliographie
1. Mike Loukides etIon Brunor: 'What is the internet of things', O’Reilly Media, 2015.
2. 'Introduction à l’IOT', Cisco Systems, 1992–2008.
3. Sabina Jeschke, Christian Brecher, Houbing Song, Danda B. Rawat: 'Industrial Internet of
Things', Springer International Publishing Switzerland, 2017
6. D. Jung, MATSNL :’ une plate-forme de nœud de capteur sans fil MATLAB ™, Package de
prédiction et de simulation à vie’, Version 1.0.0, Février 14, 2007
7. Nasser Alshammari, Talal Alshammari, Mohamed Sedky, Justin Champion, Carolin
Bauer:’OpenSHS Open Smart Home Simulator’, sensors, Ioannis Chatzigiannakis and
Georgios Mylonas,2017.
9. Brambilla, G., Picone, M., Cirani, S., Amoretti, M., & Zanichelli, F :’ Une plate-forme de
simulation pour les scénarios de l'Internet des objets à grande échelle dans les
environnements urbains’. Actes de la première conférence internationale sur l'IoT dans
l'espace urbain, 2014, 50-55
10. Bouchard, K., Ajroud, A ., Bouchard, B .,Bouzouane, A :’SIMACT: un simulateur de maison
intelligente 3D Open Source pour la reconnaissance d'activité’ , Dans le cadre des progrès de
l'informatique et des technologies de l'information: Conférences AST / UCMA / ISA / ACN
2010, Miyazaki, Japon, 23-25 juin 2010; Kim, T.H., Adeli, H., Eds .; Springer: Berlin / Heidelberg,
Allemagne, 2010; pp. 524-533.
11. Shnayder, M. Hempstead, B. Chen, G.W. Allen et [Link] :’Simulation de la
consommation électrique d'un réseau de capteurs à grande échelle Applications’, Division de
l'ingénierie et des sciences appliquées, Université de Harvard, 2003.
12. Lahmar, K., Cheour, R. et Abid, M :’Réseaux de capteurs sans fil : tendances,
consommation d’énergie et simulateurs’, Sixième Symposium sur la modélisation de
l’Asie ,2012.
13. Charles Bell: 'MySQL for the Internet of Things',2016
14. Gastón C. Hillar: ' Internet of Things with Python ', Packt Publishing, 2016.
71
15. [Link]
16. Christophe lagane, 8 juillet 2015 : [Link]
[Link]
17. BERRONE Pascual, RICARD Joan Enric, DUCH Ana, CARRASCO Carlos, 2019, « IESE Cities in
motion index 2019 », IESE, ST-509-E, 9
72