Académique Documents
Professionnel Documents
Culture Documents
A nos professeurs,
Dont la disponibilité, le savoir-faire et le soutien n’ont jamais fait défaut A
la Faculté des Sciences et Techniques de Beni Mellal,
A tous ceux qui me sont chers,
Remerciement
L'évolution de la technologie et du mode de vie nous permet aujourd'hui de prévoir des logements
mieux adaptés. De même, La majorité des individus, et plus particulièrement les personnes âgées ou
handicapées, passent beaucoup de leur temps à domicile, d’où l’influence considérable de l’habitat
sur la qualité de vie. L’amélioration du sentiment de sécurité et de confort dans l’habitat apparaît donc
comme une tâche d’une grande importance sociale.
L'internet des Objets (IoT) s'annonce comme une évolution sans précédent. Les objets sont
désormais capables de communiquer entre eux, d'échanger, de réagir et de s'adapter à leur
environnement à un niveau beaucoup plus large. Cette révolution facilite la création d'objets
intelligents permettant des avancées dans de multiples domaines, l’un des domaines les plus affectés
par l’émergence de l’IoT est la domotique.
La domotique ou encore la maison intelligente est définie comme une résidence équipée de
technologies de l’électronique, de l'automatique, de l’informatique et des télécommunications
permettant d’améliorer le confort, la sécurité, la communication et la gestion d’énergie d’une maison
ou d’un lieu public. Elle assure différentes fonctions : La fonction de confort, la fonction d’économie
d’énergie et la fonction de sécurité.
La domotique repose sur trois principes : La liaison entre les appareils, la communication entre
l’utilisateur et les appareils et l’automatisation.
La maison rend compte de toute anomalie et peut être supervisée à distance par le biais d’une
application mobile et des protocoles de communication tels que : Wifi
La disponibilité des microcontrôleurs (AVR, PIC …) et les systèmes embarqués à faible cout
comme Arduino, Beagle Bone, Raspberry PI, avec leur propre plateformes Open Source, a capturé
l’attention des inventeurs en électronique, des experts, et les petites firmes de domotique. Ces
scénarios seront automatisés via des cartes « ESP 8266 » exécutant des programmes informatiques.
1
Chapitre I
2
Introduction
Le monde moderne apporte de nombreuses innovations technologiques pour améliorer notre
quotidien. L’internet des objets consiste de manière simplifiée à connecter des objets qui nous
entourent. Cette technologie permet de connecter notre demeure à différents services, parexemple
pour commander des courses, ajuster la température intérieure, allumer et éteindre les lumières à
distance …
L’IOT se base en réalité sur une technologie déjà connue, Machine To Machine. Plus
couramment appelé M2M. Pourtant le M2M existe depuis bien plus longtemps et a permis à l’Internet
of Things de se développer jusqu’à dominer le marché.
3
2. Analyse fonctionnelle
L'analyse fonctionnelle consiste à rechercher et à caractériser les fonctions offertes par un produit
placé dans un système pour satisfaire les besoins de son utilisateur.
3. Diagramme de bête à corne
4. Diagramme de Gantt
Un bon projet qui répond au cahier des charges demandé nécessite une bonne gestion. Dans le
cadre de notre projet, nous avons utilisé un logiciel très puissant dans ce domaine nommé « Gantt
Project ». À l’aide de cet outil, on peut mentionner les tâches réalisées, la durée de chaque tâche, le
ressources utilisées ainsi le traçage du Diagramme de Gantt associé.
4
Figure 2:Planification par le diagramme de Gantt
II. Etude théorique sur l’Internet Des Objets
L’Internet des Objets (IDO) est l’acronyme de « Internet of Things (IOT)» en anglais. Le terme
IOT est apparu la première fois en 1999 dans un discours de Kevin ASHTON, un ingénieur
britannique. Il servait à désigner un système où les objets physiques sont connectés à Internet ou un
réseau local. Il s’agit également de systèmes capables de créer et transmettre des données afin de
créer de la valeur pour ses utilisateurs à travers divers services (agrégation, analytique…).
1. Evolution historique
Des études de marché sont menées, Il considère qu’en 2020 les objets connectés pourraient
atteindre le nombre de 80 milliards dans le monde, ce qui ferait une moyenne de 10 objets par
personne dans le monde.
5
2. Architecture IOT
Une architecture à trois couches est la structure commune et généralement connue. Il a été utilisé
pour la première fois dans les phases initiales de cette étude IOT. Il indique trois niveaux : perception,
réseau et application.
Couche de perception
Cette couche de perception est la couche physique de l’architecture IOT. Dans ces capteurs et
systèmes embarqués sont principalement utilisés. Ceux-ci collectent de grandes quantités de données
en fonction des besoins. Cela inclut également les dispositifs de bord, les capteurs et les actionneurs
qui communiquent avec l’environnement. Il détecte certains paramètres spatiaux ou détecte d’autres
choses/objets intelligents dans l’environnement.
Couche réseau
Les données obtenues par ces appareils doivent être diffusées et stockées. C’est la responsabilité
de la couche réseau. Il lie ces objets intelligents à d’autres objets intelligents/intelligents. Il est
également en charge du transfert des données. La couche réseau est chargée de relier les objets
intelligents, les périphériques réseau et les serveurs. Il est également utilisé pour distribuer et analyser
les données des capteurs.
Couche applicative
L’utilisateur communique avec cette couche applicative. Il est chargé de fournir au client des
6
ressources logicielles. Exemple : dans une application domotique, où les utilisateurs appuient sur un
bouton de l’application pour allumer une machine à café, par exemple. La couche application est
chargée de fournir au client des ressources spécifiques à l’application. Il spécifie différentes
utilisations de l’IOT, telles que les maisons intelligentes, les villes intelligentes et la santé intelligente.
3. Machine to machine
La communication Machine à machine (M2M) est une communication entre des appareils
intelligents sans ou avec une intervention humaine limitée. Il fait référence à des solutions qui
permettent la communication entre des appareils d'une même application spécifique, via un réseau de
communication filaire ou sans fil. La communication M2M a plusieurs applications, telles que (santé,
industrie, énergie, sécurité, domotique, etc.).
L'architecture générale du réseau M2M définit les fonctions de base pour pouvoir échanger des
données entre les objets et les serveurs. L'architecture est basée sur un ensemble de fonctionnalités
logicielles déployées dans le Framework. Le but de ce Framework est de décrire les services qui
permettent la gestion des objets : enregistrement, authentification, méthodes périodiques ou de réveil
pour restaurer les données, accessibilité des objets, localisation, types de réseaux supportés.
7
Figure 7: Architecture M2M
III. Les protocoles de communication des réseaux M2M/IOT
Ce type de réseau sert généralement à relier des périphériques, nous trouvons : Bluetooth,
ZigBee, Z-wave, NFC.
Bluetooth (standard IEEE 802.15.1) est un protocol de communication sans fil, pour les appareils
électroniques fonctionnant dans la bande libre des 2,4 GHz et fondée sur l’étalement de spectre par
saut de fréquence (FHSS – Frequency Hoping Spread Spectrum)
Zigbee Le protocol ZigBee fait partie des technologies sans fil les plus adaptées aux réseaux
domestiques, car elle est plus simple et moins chère que les autres réseaux de capteurs personnels
sans fil (WPAN). Il est destiné aux applications radiofréquence (RF) qui nécessitent un faible débit
de données, une longue durée de vie de la batterie et une mise en réseau sécurisée.
8
Figure 10: Logo Zigbee
La 5ème génération (5G) est l'Internet du futur. Cette technologie comprendra un réseau d'accès
radio et un cœur de réseau convergent combinant accès fixe et accès mobile. Il s’agit d’augmenter les
débits et la capacité des réseaux, mais aussi de préparer l’évènement de « l'internet des objets ».
La santé (Smart Health) Dans le domaine de la santé, l’IOT permettra le déploiement de réseaux
personnels pour le contrôle et le suivi des signes cliniques, notamment pour des personnes âgées, les
objets connectés permettent de suivre la tension, le rythme cardiaque, la qualité de respiration ou
encore la masse graisseuse. Ceci permettra ainsi de faciliter la télésurveillance des patients à
domiciles, et apporter des solutions pour l’autonomie des personnes à mobilité réduite.
Smart city Désigne une ville qui utilise les technologies de l'information et de la communication
pour « améliorer » la qualité urbaine, l'efficacité et la compétitivité économique de la ville, ou en
réduire le coût.
9
Transport Des voitures connectées ou autonomes aux systèmes de transport/logistique
intelligents, l'IOT peut sauver des vies, réduire le trafic et minimiser l'impact des véhicules sur
l'environnement.
Conclusion
Dans ce chapitre, nous avons présenté le cahier de charge de notre projet, une analyse
fonctionnelle, une planification (diagramme de Gantt) et les fondamentaux des réseaux IOT et M2M,
on a détaillé spécialement les réseaux et les protocoles les plus importants dans ces technologies, par
exemple Bluetooth, Zigbee, WIFI …etc. qui ont été une solution pour faciliter les communications
M2M /IOT. Dans le prochain chapitre nous présentons l’analyse et conception du projet.
10
Chapitre II
11
Introduction
La réalisation de notre projet nécessite une étude approfondie sur certaines notions qui touchent
non seulement le contexte général du projet, mais aussi le principe de la domotique et le
fonctionnement de la maison intelligente. Ainsi, son analyse, sa conception et l’étude financière du
projet.
I. Le principe de la domotique
La domotique rassemble les différentes techniques qui permettent de contrôler, de programmer
et d’automatiser une habitation. Sa fonction est de programmer, de contrôler et d’automatiser, à
distance ou sur place, tous les appareils du domicile intégrés au sein du réseau. Ce dernier fonctionne
avec ou sans fil afin de recevoir et de transmettre des données entre les différents points de
commandes et les appareils à contrôler. Dans le sens inverse, chaque appareil peut communiquer sur
son état de fonctionnement aux points de commandes.
Des capteurs Ceux-ci sont nécessaires, par exemple, pour mesurer la température ambiante, pour
12
savoir si les portes et fenêtres sont ouvertes ou fermées, pour déterminer la luminosité des pièces ou
pour détecter la présence de personnes.
Une unité de commande centrale, qui reçoit toutes les données des capteurs et envoie des
commandes actionneurs. Elle permet aux appareils en réseau de communiquer entre eux. C'est le
cerveau de la maison intelligente. La centrale peut être contrôlée par les utilisateurs via les
périphériques d'entrée. Selon le système, la commande directe des différents appareils est toujours
possible.
Un réseau qui permet aux terminaux et à la passerelle d'entrer en contact les uns avec les autres.
La connexion peut se faire par câble ou par radio. Evidemment, il faut poser des fils pour les systèmes
câblés, ce qui nécessite des travaux parfois importants. Dans les bâtiments anciens, les systèmes radio
sont plus faciles à mettre en œuvre. Ils conviennent également aux appartements en location car ils
peuvent être facilement démontés et déplacés.
2. Analyse et conception
a. L’architecture Générale de notre système
On propose une architecture d’un système qui nous permet d’atteindre des solutions pour ces
problèmes. La figure si dessus représente l’architecture générale de notre système :
13
surveillant les différents appareils ménagers d'une maison. Pour cela, un microcontrôleur gère les
appareils électroménagers pour éviter le gaspillage d'énergie en diminuant la consommation ou en
éteignant les appareils lorsqu'ils ne sont pas utilisés.
Le microcontrôleur (cartes Arduino, carte esp8266, Raspberry PI …) est relié aux différents
composants (serveur Web, capteurs, actionneurs …) de notre architecture grâce aux différentes
technologies, connectivité Internet (Ethernet shield,...), le rôle de microcontrôleur est : Il acquiert,
interprète et traite les données provenant de différents capteurs, et il envoie également les
informations environnementales en temps réel au Web serveur.
Le serveur Cloud/web surveille le système de gestion de l’énergie, il est utilisé pour stocker et
analyser des données volumineuses. En effet, le serveur Cloud/web analyse les données et agit (en
conséquence) pour réaliser des économies d’énergie.
15
Conclusion
16
Chapitre III
17
Introduction
Après avoir terminé la conception d’un système IOT d’une maison, on passe maintenant à sa
réalisation et de décrire les différents Outils (logiciel de programmation et matériel).
La maquette de la maison est équipée de divers capteurs qui effectuent des mesures. La
particularité de cette technologie c’est qu’elle permet à l’utilisateur de contrôler à distance sa maison
en toute sécurité.
I. Matériels utilisés
1. La carte NodeMCU ESP8266
L’ESP8266 est un module qui sert à faire la liaison avec un réseau Wi-Fi disponible. C’est une
puce qui contient un microcontrôleur interne qui donne l’accès sans fil aux réseaux, avec d’autres
options plus développées. Plus précisément, l’ESP8266 est un système-sur-puce (Soc) qui fonctionne
dans la bande des fréquences de 2,4 GHz, ce module utilise le protocole de communication WIFI
802.11 b/g/n, qui permet au microcontrôleur interne de se connecter à un réseau Wi-Fi et de faire des
18
connexions TCP / IP simples, ou d’être détectable par d’autres périphériques qui utilisent le même
protocole WIFI.
19
a. Capteur de gaz
Un détecteur à gaz est un type de détecteur de particules dont la spécificité est d'utiliser un milieu
gazeux pour la détection de rayonnement par ionisations.
Pour ce diapositif on a réalisé un programme permet d’améliorer la sécurité contre le gaz
naturelle utilisé généralement dans les cuisines.
c. Capteur de température
21
f. Capteur de flamme
Pour remplir leur fonction de détection, les détecteurs de flammes actuels utilisent des
technologies optiques. Il est établi que les flammes émettent des rayonnements électromagnétiques
dans les longueurs d'ondes infrarouges, la lumière visible et les longueurs d'ondes ultraviolettes, selon
la source du combustible.
Pour ce diapositif on a réalisé un programme permet d’améliorer la sécurité contre le feu donc
on a le placé dans une cuisine aussi.
g. Relais
Le relais est un mécanisme simple d’interrupteur on/off : il se ferme lorsque l’entrée est à 12V
et s’ouvre lorsque l’entrée est à 0V.
Le module fournit trois connections COM, NC et NO. NC signifie ‘NORMALEMENT FERME’.
Cela veut dire que lorsque le relais n’a pas de signal d’entrée, le circuit haute tension connecté sera
actif. Si par contre, vous appliquez une tension de 12V au relais, le circuit secondaire sera coupé. NO
signifie ‘NORMALEMENT OUVERT’.
22
➢ Ajouter un système de chauffage et climat
II. Logiciels utilisés
1. Logiciels Arduino, Ide
Arduino est une technologie qui fait associer un environnement de développement avec un circuit
électronique à base d'un microcontrôleur AVR, distribué sous la licence du matériel libre (les schémas
électriques sont disponibles gratuitement).
Arduino était l'origine destiné principalement à la programmation multimédia interactive en vue
de spectacle ou d'animations artistiques. Mais cela n’était pas exclusif. La carte électronique peut être
programmée pour analyser et produire des signaux électriques, de manière à effectuer des tâches très
diverses comme la domotique (le contrôle des appareils domestiques, éclairage, chauffage…), le
pilotage d'un robot, etc. l'interface de programmation est inspirée du traitement environnementale.
23
Figure 30: L’interface de l’IDE Arduino en détail
Bouton 1 : Ce bouton permet de vérifier le programme, il actionne un module qui cherche les
erreurs dans votre programme
Bouton 2 : Charge (téléverse) le programme dans la carte Arduino.
Bouton 3 : Crée un nouveau fichier.
Bouton 4 : Ouvre un fichier.
24
Bouton 5 : Enregistre le fichier.
Bouton 6 : Ouvre le moniteur série
2. Simulation avec ISIS (Proteus)
Isis est un éditeur de schéma qui intègre un simulateur analogique, logique ou mixte. Toutes les
opérations se passent dans cet environnement, aussi bien la configuration des différentes sources et
les tracés des courbes.
Exemples de simulation
Librairi
Listes des
composants
Zone de dessin
25
Figure 34: Proteus pour le capteur de température
26
➢ Organigramme du capteur de gaz
27
Figure 38: organigramme du capteur de température
28
➢ Organigramme du capteur de flamme
29
Figure 41: logo d’application
6. Fonctionnalité
Tous les hardwares et périphériques supportés Connexion au nuage via:
➢ Ethernet
➢ Wifi
➢ Bluetoot
➢ Collection de widgets faciles à utiliser
➢ Manipulation des broches directes sans code à écrire
➢ Facilité d’intégrer et ajouter de nouvelles fonctionnalités en utilisant les broches virtuelles
➢ Communication Périphérique-à-Périphérique en utilisant le widget Bridge envoi d’emails, de
notifications push
30
7. Création d’un compte
Un compte est nécessaire afin de sauvegarder les projets et y avoir accès à partir de plusieurs
périphériques et de n’importe où. C’est aussi une mesure de sécurité.
Avant de créer un compte Blynk, il faut télécharger (gratuitement) l’application Blynk (pour le
système androide ou IOS) du magasin des applications mobiles (Play store par exemple).
32
Figure 46: Température ambiante
V. Assistant Google
L'assistant Google est un service de commande vocale basé sur l'IA (intelligence artificielle). En
utilisant la voix, nous pouvons interagir avec Google Assistant.
Ce service est disponible sur les smartphones et les appareils Google Home. Nous pouvons
contrôler les appareils domestiques intelligents, y compris les lumières, les interrupteurs, les
ventilateurs et les thermostats à l'aide de notre assistant Google.
33
1. Création d'un compte de service en ligne
Étape 1 : Configuration du compte Adafruit IO pour les LED contrôlées par IOT
Adafruit.io est un service cloud qui est géré par l'entreprise. Nous devons nous y connecter via
Internet. Il est principalement utilisé pour stocker et récupérer des données. Mais il fait bien plus que
cela. Il présente nos données en temps réel, en ligne, et rend notre projet connecté à Internet pour lire
les données des capteurs, contrôler les moteurs et également connecter les projets à des services Web
tels que Twitter, Gmail, Google Assistant.
34
Cliquez maintenant sur Actions puis créez un nouveau flux. Ensuite, il vous demandera de
nommer votre flux, nous donnons LED, puis créer et votre flux est créé.
Ouvrez maintenant votre nouveau tableau de bord en cliquant simplement dessus et vous devriez
être redirigé vers une page presque vierge. Cliquer sur le bouton bleu + vous permettra d'ajouter de
nouveaux composants d'interface utilisateur au tableau de bord.
35
Figure 51: Les fenêtres d’un Dashboard
Pendant la programmation, nous aurons besoin de votre clé AIO unique. Pour cela, cliquez sur
le bouton clé dans le coin droit de votre fenêtre.
36
Après avoir cliqué sur le bouton clé, votre clé active pour ce projet est générée.
37
On clique sur Create on suit sur le bouton + et recherchez "Google Assistant", puis sélectionnez
"Dites une phrase simple" dans le menu des déclencheurs spécifiques. Cela vous demandera quelques
détails, remplissez selon vous et créez un déclencheur.
38
Une fois que vous avez créé cette applet, vous devez créer une autre applet pour éteindre la
LED. On suivre les mêmes étapes pour créer une autre applet.
Après avoir créé plus d’applets, allez dans "Mes applets" et vous pouvez voir les six applets ici.
40
Figure 61: Interface Arduino
Après l’installé de cette bibliothèque, nous avons prêt à utiliser Adafruit IO avec l'ESP8266.
Le code complet de ce projet est donné à la fin de ce rapport.
41
1. La création de la page web en HTML
Etape 1 : Mettre l’entête d’un document HTML
Etape 2 : Ajouter du texte à un document HTML
Etape 3 : Ajouter d’autres éléments dans un document HTML
Etape 4 : Personnaliser les couleurs
Etape 5 : Conclure un document HTML
Etape 6 : Enregistrer et exécuter la page web
42
Figure 64: Page Web de commande
Conclusion
Dans ce chapitre nous avons présenté la phase de la réalisation et l’architecture du matériel (les
capteurs, l’organigramme, l’environnement du logiciel ISIS..), logiciel Arduino Ide, description de
notre plateforme, l’application android Blynk et la page web.
43
Conclusion générale
Notre projet vise à créer un système intelligent de type maison intelligente, grâce à des modules
et des capteurs, plus efficaces et plus faciles à utiliser conçus pour:
-Assurer un grand confort
-La sécurité, une priorité absolue qui est parmi les principales bases de la domotique. Il est
considéré comme la priorité des priorités dans la majorité des domiciles.
-Implique ZERO gaspillage en économie d’énergie.
Cependant, nous avons illustré le fonctionnement d’un système domotique basé sur la carte wifi
ESP8266, dans le but de concevoir la surveillance et le contrôle des appareils domestiques, en utilisant
une application Android et une plateforme. Nous avons pu atteindre les objectifs assignés à ce projet
qui se résume à ces trois principaux points ;
-La commande via internet (l’éclairage intelligent, système de chauffage)
-Le contrôle de l’état des capteurs (gaz, flamme)
Au cours de la réalisation de ce projet nous avons rencontré plusieurs difficultés qui résident
essentiellement dans la nouveauté et l’ampleur de sujet, plusieurs voies peuvent être envisagées, à
titre indicatif et non exhaustif.
En conclusion, nous souhaitons vraiment que ce projet puisse servir comme élément de base pour
d’autres études plus approfondis.
44
Annexes
BlynkTimer timer;
int mq2 = A0; // smoke sensor is connected with the analog pin A0 int data = 0;
// This function is called every time the Virtual Pin 0 state changes BLYNK_WRITE(V0)
{
int value = param.asInt(); digitalWrite(5, value);
}
BLYNK_WRITE(V1)
{
int value = param.asInt(); digitalWrite(4, value);
}
BLYNK_WRITE(V2)
{
int value = param.asInt(); digitalWrite(12, value);
}
45
Code HTML
<!DOCTYPE html>
<html>
<head>
<title>HTML ESP8266</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
</head>
46
<p><center>
<p> <span style='text-decoration: underline;'><strong>cuisine:</strong></span>
$.ajaxSetup({timeout:1000});
function turnOnLed(){
$.get('/args?led=1');
{Connection: close};
}
function turnOffLed(){
$.get('/args?led=0');
{Connection: close};
}
</script>
</body></html>
47
Code application HTML ESP8266
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <FS.h>
#define ssid "Tp link"
#define password "2020@2020"
#define pinLed D0
ESP8266WebServer server(80);
int sliderValue = 0;
bool ledValue = false;
void ArgsPage() {
if(server.arg("slider") != ""){
sliderValue = server.arg("slider").toInt();
Serial.print("Valeur du Slider: "); Serial.println(sliderValue);
analogWrite(pinLed, sliderValue);
}
if(server.arg("led") != ""){
ledValue = server.arg("led").toInt();
Serial.print("Valeur de la led: "); Serial.println(ledValue);
digitalWrite(pinLed, ledValue);
}
server.send(200, "text/plain", "ok");
}
void setup() {
Serial.begin(115200);
SPIFFS.begin();
pinMode(pinLed,OUTPUT);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.print("IP address: "); Serial.println(WiFi.localIP());
server.serveStatic("/", SPIFFS, "/index.html");
server.on("/args", ArgsPage);
server.begin(); Serial.println("Server OK");
}
void loop() {
server.handleClient();
}
48
void setup()
{pinMode(5,OUTPUT); pinMode(13,OUTPUT); pinMode(4,OUTPUT);
pinMode(14,OUTPUT); pinMode(12,OUTPUT); pinMode(12,OUTPUT);
pinMode(16,INPUT_PULLUP);
// Debug console Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
}
void loop()
{
Blynk.run();
49
Bibliographie
50