Académique Documents
Professionnel Documents
Culture Documents
A ma chère mère qui a toujours été près de moi pour m’écouter et me soutenir.
Vous n’as jamais épargné le moindre effort pour m’ aider et m’encourager.
GOUZAOUIA Oussama
REMERCIEMENTS
C’est dans ce cadre que mon stage de fin d'études vient pour répondre
à ce besoin, la solution qui a été mise en place, est une carte électronique
dotée des capteurs tel que capteurs de température, humidité, mouvement et
caméra. La carte électronique sera dotée d’un serveur web local qui
contiendra une base de données et qui sera alimentée en permanence par les
capteurs.0000000000000000000000000000000
TABLE DES MATIERES
DEDICACE
REMERCIEMENTS
RESUME
TABLE DES MATIERES
LISTE DES FIGURES
LISTE DES TABLEAUX
LISTE DES ABREVIATIONS
INTRODUCTION GENERALE ......................................................................................... 1
Chapitre I (Présentation de la société et description du projet) ........................................... 2
Introduction ...................................................................................................................... 3
I. Présentation de l’entreprise DISIS MAROC ........................................................... 3
II. fiche technique de DISIS MAROC.......................................................................... 4
III. Organigramme du DISIS MAROC ..................................................................... 5
IV. Cahier des charges du projet ................................................................................ 6
Conclusion ....................................................................................................................... 9
Chapitre II (Fondements théorique) ................................................................................... 10
Introduction .................................................................................................................... 11
I. Raspberry Pi ........................................................................................................... 11
Annexe ............................................................................................................................... 44
I. Langages de programmations ............................................................................... 44
TABLE DES FIGURES
Figure 1 : Fiche technique de DISIS MAROC .................................................................... 4
Figure 2: Organigramme de DISIS MAROC ...................................................................... 5
Figure 3: Schéma descriptif du DISIS MAROC.................................................................. 6
Figure 4 : Les composants standards d'un Raspberry ........................................................ 11
Figure 5: Différents modèles du Raspberry Pi ................................................................... 13
Figure 6: Les caractéristiques des modèles ........................................................................ 13
Figure 7: Les caractéristiques du Raspberry Pi 3 Modèle B .............................................. 14
Figure 8: Description des broches GPIO ........................................................................... 15
Figure 9: Capteur température et d’humidité ..................................................................... 16
Figure 10: Afficheur LCD 16x2 ........................................................................................ 17
Figure 11: Brochage du capteur SHC-SR501 .................................................................... 18
Figure 12: schéma explicatif du fonctionnement du Jumper Set ....................................... 19
Figure 13: web-caméra ...................................................................................................... 21
Figure 14 : Adresse IP de la carte Raspberry Pi ................................................................ 24
Figure 15: Logiciel Putty ................................................................................................... 25
Figure 16: Invite de commande via SSH ........................................................................... 25
Figure 17: Logiciel VNC VIEWER ................................................................................... 26
Figure 18: raspebrry pi via VNC VIEWER ....................................................................... 27
Figure 19: Programme de test du DHT11 .......................................................................... 28
Figure 20: Résultat de test du DHT11 ............................................................................... 28
Figure 21 : Programme test du PIR.................................................................................... 29
Figure 22: Résultat de test du PIR ..................................................................................... 29
Figure 23 : Test de web-cam par fswebcam ...................................................................... 30
Figure 24: Schéma descriptif du système .......................................................................... 30
Figure 25: Montage du système de collection de données et contrôle............................... 31
Figure 26: Organigramme du programme de la collection des données de DHT11 ......... 32
Figure 27: Organigramme du programme de contrôle d’intrusion .................................... 33
Figure 28: Installation de mysql-serveur et php5 mysql .................................................... 34
Figure 29: Structure de la base de données ........................................................................ 34
Figure 30: Table « temps3 » de base de données «DISIS MAROC» ............................... 35
Figure 31:Alerte E-mail reçu à partir du raspberry pi........................................................ 35
Figure 32:Execution automatique en utilisant le script rc.local ......................................... 36
Figure 33:Execution automatique en utilisant crontab -e .................................................. 36
Figure 34:Page d’authentification ...................................................................................... 38
Figure 35:Page de sélection ............................................................................................... 39
Figure 36:Table affiché ...................................................................................................... 39
Figure 37:Graphe affiché ................................................................................................... 40
Figure 38:Extrait de google_spreadsheet.py ...................................................................... 40
Figure 39:Table de température et humidité (Google-Sheet) ............................................ 41
Figure 40:Graphe de température et humidité depuis la base de données ......................... 41
Figure 41:Architecture d connexion client-serveur avec PHP ........................................... 45
LISTE DES TABLEAUX
Tableau 1:Les caractéristiques du capteur DHT11 ............................................................ 17
Tableau 2:Branchement de l’afficheur avec Raspberry pi ................................................. 18
LISTE DES ABREVIATIONS
1
Chapitre I :
Présentation de la société
et Description de projet
2
Introduction
Le présent chapitre présente une vue globale sur l’organisme d’accueil. Ainsi
l’étude du cahier des charges, je vais faire le point sur les grands axes de ce projet.
Gérer par une jeune équipe hautement qualifiée et disposant d’une large
expérience dans le domaine de réseau informatique et de la sécurité électronique
tel que :
Faire des propositions qui tiennent compte des besoins cadrés précédemment et des
technologies qui s’adaptent au contexte de sa clientèle.
3
II. Fiche technique du DISIS MAROC
4
III. Organigramme du DISIS MAROC.
5
IV. Cahier des charges du projet
1. Contexte
Dans le cadre du renforcement de la sécurité de l’entreprise de DISIS
MAROC, la mise en place d’une application de surveillance à distance de la salle
informatique est indispensable, pour assurer les différents contrôles.
2. Objectif
Après discussion avec l’encadrant, sur les besoins de la société, il m’a été
demandé de réaliser les objectifs suivants :
La visualisation sous forme d’un tableau et sous forme graphique des données
captées (température,humidité) et leur évolution dans le temps.
3. Etude de l’existant
6
La salle contient :
4. Description de la solution
Pour réaliser les objectifs déjà précédemment cités, j’ai fait une étude du projet.
Suite à cette étude j’ai décidé de travailler avec une carte électronique, telle que
Raspberry Pi 3 model B.
Pour répondre aux autres objectifs j’ai opté pour les solutions suivantes :
Le détecteur de présence que j’ai choisi est le capteur PIR de référence SHC-
SR501.
7
5. Spécifications fonctionnelles
L’accès à distance à une application web pour la visualisation des données, qui vont
être sécurisé.
6. Spécifications techniques
Les spécifications techniques de notre système sont les suivantes :
Deux programmes qui gèrent la collecte et le stockage de données dans une base de
données, l’envoi d’un alerte email en cas d’anomalie.
Utilisation d’une base de données MySQL sur le Raspberry pi sécurisée par un mot de
passe et la manipuler à partir d’un ordinateur connecté au même réseau
9
Chapitre II :
Fondements théoriques
10
Introduction
Après la présentation de la société et la description du cahier des charges, ce
deuxième chapitre vient pour présenter les bases théoriques et techniques nécessaires à la
réalisation de ce projet.
I. Raspberry Pi
Raspberry est une carte mère d’un mini-ordinateur qui peut être branchée à
n’importe quel périphérique (souris, clavier…). Cette carte est fabriquée pour aider à
étudier les ordinateurs et pour représenter un moyen d’apprentissage de la programmation
informatique en plusieurs langages (C, C++, python, scratch...) et d’être utilisé dans les
systèmes embarqués. Elle est aussi capable de lire les vidéos à haute définition et même à
installer des jeux vidéo.
11
Processeur ARM : Les architectures ARM sont des architectures de processeurs, à
faible consommation, introduites à partir de 1983 par « Acorn Computers » et
développées depuis 1990 par « ARM Ltd ».
Mémoire vive RAM : C’est la mémoire dans laquelle le Raspberry place lesdonnées
lors de son traitement.
Port USB 2.0 : Le port « Universal Serial Bus » est un port série qui sert à
connecter le Raspberry aux autres périphériques.
12
Figure 7: Les caractéristiques du Raspberry Pi 3 Modèle B
13
3. Le port GPIO
Le Raspberry pi 3 possède diffèrent types de GPIO (General purpose Input/Output)
chacun ayant une fonction bien définie comme on peut le configurer soit enentrée soit en
sortie, noter bien que ces broches d’entrées/sorties (I/O) travaillent avec des tensions
comprises entre 0 et 3,3 V et NON PAS 0 et 5V.
Pour la configuration des broches, le raspebrry pi 3 autorise deux numérotations : celle
de la sérigraphie du connecteur de la carte (GPIO.BOARD les numéros encadrés en jaune dans
la figure précédente).Le choix de l’une de ces numérotations est laissée à l’utilisateur de la
carte.
I. Matériels de surveillance
14
2. Afficheur LCD 16X2
L'afficheur LCD est en particulier une interface visuelle entre un système (projet) et
l'homme (utilisateur). Son rôle est de transmettre les informations utiles d'un système à
un utilisateur. Il affichera donc des données susceptibles d'être exploiter par l'utilisateur
d'un système.
Le capteur PIR (Passive Infra Red) est un capteur qui détecte une source
d'infrarouge placée dans son champ de "vision" et détecte ses mouvements. Il permet de
détecter une présence humaine ou animale dans un périmètre et déclencher une réponse.
Le capteur utilisé dans ce projet est SHC-SR501. Le brochage de ce dernier est présenté
dans la figure suivante :
16
Sans re-déclenchement (Single Trigger), la sortie passe à l'état HIGH lors du
premier contact, y reste durant toute la durée réglée sur le potentiomètre, pendant
ce temps le capteur ne "regarde plus". Donc la durée de sortie HIGH est alors fixe.
Ceci permet une détection en continu, le capteur répond tant que la source
d'infrarouge est mobile.
Par défaut, le Jumper Set sur H = Repeat Trigger. La durée de sortie HIGH peut
être prolongée tant qu’il y a détection.
17
Citons maintenant les caractéristiques de ce capteur :
Alimentation de 4.5 V à 20 V DC
Sortie high 3.3V, low 0v
Délai de sortie ajustable par potentiomètre de 3Sec à 5Min
Déclenchement L sans répétition, H avec répétition (mode par défaut)
Portée de 7 m et angle de 120°
Sensibilité réglable par potentiomètre de 3m à 7m
Dimension du circuit 32mm*24mm
4. Caméra
Dans mon projet je vais utiliser une WEB-CAMERA pour prendre des photos en
cas d’une intrusion à la salle informatique
Cette WEB-CAMERA peut être utilisée pour prendre des vidéos ainsi que de
prendre des photos. Il prend en charge 480p30fps. L'appareil fonctionne avec tous les
modèles de Raspberry Pi 1, 2 et 3, et cequi est très important c’est qu’il y a de nombreuses
bibliothèques déjà construites pour la commande de cette caméra. Parmi elles, on trouve
le Fswebcam la bibliothèque Python que je vais utiliser par la suite.
La caméra se branche sur le connecteur USB existant sur la carte Raspberry Pi.
Microphone intégré.
18
Figure 13: WEB-CAMERA
1. Base de données
La base de données est un outil qui propose de stocker des données de façon
structurée, cohérente, organisée et avec le moins de redondance possible afin de pouvoir
les manipuler et les mettre à la disposition d'utilisateurs pour une consultation, une saisie
ou bien une mise à jour. Ce service est placé sur un serveur qui va être interrogé par les
diverses applications « site web, logiciel, etc. ».
19
Les graphes de supervision :
J’ai besoin d’un outil pour dessiner les graphes des données collectées depuis
les capteurs, Pour rendre compte à ce problème, j’ai trouvé que j’ai besoin d’un API, plus
précisément ChartJS.
ChartJS est une API Java permettant de créer des graphiques et des diagrammes de très bonne
qualité. Cette API est open source, ainsi que sa documentation est gratuite. Elle est
également plus optimisé.
XAMPP SERVEUR :
Navicat for MySQL est la solution idéale pour la création et la manipulation des
bases de données, il s’agit d’une seule application qui va me permettre de me connecter à
des bases de données MySQL et MariaDB.
Conclusion
Dans ce chapitre j’ai présenté le choix du matérielle (Raspberry, ,capteurs…) et les outils
logiciels utilisés dans le système ainsi que ces composants choisis sont efficace et précis pour ce
genre d’applications.
20
Chapitre III :
Tests et configurations du
système de surveillance
21
Introduction
Ce chapitre présente l’architecture générale du système de surveillance de la salle
informatique, configurations et les tests du système.
22
Figure 15: Logiciel Putty.
Après son installation il faut entrer l’adresse IP de la carte puis cliquer sur
« Open», et après l’authentification (en entrant le nom d’utilisateur pi et notre mot de
passe), on se connectera directement sur l’invité des commandes du système
d’exploitation Raspbian comme l’indique la figure suivante :
23
Connexion à distance via VNC
Virtual Network Computing est un système de visualisation et de contrôle d'un
ordinateur distant. Il permet au logiciel client VNC de transmettre les informations de
24
Après l’authentification (en entrant notre mot de passe) le logiciel VNC
VIEWER affiche l’interface graphique du système d’exploitation (figure 18), donc à ce
moment j’ai tous les droits et toute la liberté d’utiliser l’interface graphique de mon
système d’exploitation sur mon ordinateur en bénéficiant du clavier, souris et écrans
de cet ordinateur, comme si le Raspberry est branchée à un écran par le câble HDMI et
utilise un clavier et souris via les ports USB.
2. Langage de programmation
Le langage de programmation que j’ai choisi c’est le python qui est un langage
recommandé pour les nouvelles technologies comme par exemple le Raspberry,
beaglebone…
Ce choix n’est pas arbitraire car il a des raisons parmi eux : la société Dexter
Industries recommande à ses utilisateurs de de programmer avec le python, l’existence des
bibliothèques facilite la programmation du Raspberry Pi, la richesse documentaire de ce
langage, l’existence des exemples fournis avec le système d’exploitation Raspbian aidant
le programmeur à prendre rapidement la main sur la programmation des nouvelles cartes
technologique, la souplesse de ce merveilleux langage avec la gestion des fichiers et bases
de données.
25
3. Test des capteurs
Chaque système dans le monde industriel suit une procédure scientifique et
technologique pour qu’il puisse sortir au marché sans aucun problème, et l’étape la plus
importante c’est l’étape des tests, pour cela j’ai décidé dans ce paragraphe de tester
chaque élément tout seul afin de les faire fonctionner dans un seul système.
26
Capteur PIR :
Le capteur PIR est le capteur qui nous permet de détecter la présence d’une
personne ou d’une intrusion à la salle informatique. Après le brochage du capteur avec le
Raspberry je vais tester le programme suivant :
Web-camera :
La camera est notre élément de surveillance de la salle, elle prend des photos en
cas d’intrusion et les enregistrer dans un répertoire qui sera nommé par la date de la
détection et les photos seront nommées par l’heure de la détection.
27
Figure 23: Test de web-camera par fswebcam
II. Le système de surveillance de la salle informatique
La visualisation des données enregistrées sur la base de données MySQL par une
application Web.
- Le système de surveillance de la salle informatique peut être représenté par le schéma suivant :
28
2. Système de collection de données et de contrôle
Le système de collection de données et de contrôle est constitué des éléments
déjà testés : le Raspberry Pi, le capteur de température et d’humidité DHT11, le capteur
PIR et le w e b - camera la figure suivante montre le montage réalisé :
Comme j’ai déjà montré dans la partie des tests, le capteur DHT11 connecté au
port D4 de la carte le capteur PIR relié au port GPIO et la camera connectée au port USB
du Raspberry Pi.
Insertion des données dans la base de données : chaque donnée est enregistrée
dans une ligne de la base donnée avec la date et l’heure d’enregistrement.
31
4. Création de la base de données MySQL
Installer MySQL :
Pour ce faire, nous allons installer mysql-server et php5-mysql La commande
suivante installe mysql-server, avec le paquet qui fournit le module pour les connexions
de base de données MySQL directement à partir de scripts PHP.
32
La table « temps3 » qui contient les champs nécessaire pour recevoir les données
depuis le DHT11.
33
Modification du script rc.local:
Ce script est parmi les scripts qui s’exécute lors du démarrage de raspberry pi, je vais l’exploiter en
ajoutant l’emplacement de mon programme python.
On tape la commande sudo nano /etc/rc.local dans le terminal, après on tape la commande de notre
programme python sans sudo comme montre la figure 32 suivante :
Cette méthode a le même principe que la première, on tape la commande crontab –e dans le terminal
après on tape la commande de notre programme python après @reboot ce qui veut dire que ce
programme va démarrer avec raspberry pi automatiquement, suivie par le signe & pour que mon
programme ne cesse pas de fonctionner comme illustre la figure 33 :
Conclusion
Dans ce chapitre j’ai cité toutes les configurations, les tests des composants de ce
système et j’ai expliqué le fonctionnement du programme python.
34
Chapitre IV :
Application de supervision
35
Introduction
Ce dernier chapitre présentera l’application de supervision des données et les
outils nécessaires pour développer cette dernière.
1. Plan de l’application
Généralement l’application est constituée de deux pages principales, la page
d’authentification et la page de surveillance.
2. Description de l’application
La page d’authentification :
Comme la majorité des sociétés, DISIS MAROC ne souhaite pas que son
application soit consultable par n’importe qui. Pour cette raison, j’ai créé une page
d’authentification qui demande à l’utilisateur de saisir son login et son mot de passe. Pour
illustrer ces premières notions, vous trouverez ci-dessous la page d’authentification de
cette application :
36
La page de sélection :
Sur cette page Web, l'utilisateur doit choisir de voir la table ou le graphe.
J’ai aussi réalisé cette partie de détection et stockage des données à l’aide de la librairie
Adafruit_DHT qui m’a permet de stocker les données dans la base de données Google-Sheet et aussi de
les afficher sous forme d’un graphe d’une manière ordonné et claire pour l’utilisateur.
La figure ci-dessous affiche une partie du fichier fournit par l’entreprise Adafruit qui existe dans
le directory home/pi/Adafrruit_DHT/examples/google_spreadsheet.py et qui m’a permet de configurer
tous les paramètres nécessaires afin que je puisse charger les données captée dans Google-Sheet.
39
Conclusion Générale
Le thème de ce stage de fin d’étude consiste à la réalisation d’un
système de surveillance de la salle informatique en utilisant la carte
Raspberry Pi comme le cœur de ce système.
40
Webographie
http://github.com/ : le 20/05/2022
https://docs.python.org/ : le 25/05/2022
http://raspbian-france.fr/ : le 01/05/2022
http://apprendre-python.com/ : le 10/05/2022
https://www.developpez.net/forums/f2081/general-developpement/programmation-systeme/embarque/raspberry-
41
ANNEXES
I. Langages de programmations :
HTML (Hyper Text Markup Language)
Les feuilles de style en cascade (CSS) sont un langage qui permet de contrôler
facilement la présentation visuelle des pages web, ajouter facilement du style (polices,
couleurs, espacement, etc.) à ces pages.
JavaScript
43
44