Vous êtes sur la page 1sur 53

DEPARTEMENT : GENIE ÉLECTRIQUE

Rapport de stage de fin d’étude




Présenté en vue de l’obtention du Diplôme Universitaire de Technologie en
Génie Electrique

Sous le thème


Sécuriser une salle informatique à base d’une carte
 Raspberry pi




Réalisé par : Encadré par :


GOUZAOUIA Oussama Mr. ELKADIRI Mustafa
DEDICACE

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.

Veuillez trouver en ce travail la preuve de mon amour et de mon estime pourvous.


A mon cher père. Vous êtes toujours pour moi l’ exemple à suivre.Puisse ce
travail exprimer le respect et l’amour que je vous porte.
A mes frères et sœurs pour l’esprit de fraternité et de communion et le soutienphysique et
moral, Que dieu vous protèges.
A toutes les personnes chères à mon cœurs, pour leurs amour, leurs disponibilités,pour tout l’aide et
le support perpétuels que vous m’avez prodigués.
A ma famille, mes amis, toutes celles et tous ceux qui ont contribué de près ou deloin à cet
humble travail. Que ceci puisse être le témoignage de mon plus haute reconnaissance

GOUZAOUIA Oussama
REMERCIEMENTS

Tout d’abord, je tiens à remercier toute l’équipe du service de la


direction pour leur accueil chaleureux et leur collaboration.

Je remercie également mon encadrant professionnel Monsieur EL


KADIRI MUSTAFA technicien informatique au sein de l’entreprise DISIS
MAROC, pour m’avoir dirigé et fournis toutes les informations nécessaires,
pour sa disponibilité, malgré ces nombreuses responsabilités, ainsi que les
efforts et les conseils qu’il m’a apportés lors des différents suivis afin que
mon stage se déroule dans des bonnes conditions.

Enfin, je tiens, au terme de ce travail, à présenter mes vifs


remerciements à Mlle EDDALAL FATIHA pour sa collaboration et accueil
chaleureux et à toutes les personnes qui ont contribué, de près ou de loin, à
son bon déroulement.
RESUME

Le présent rapport décrit le travail réalisé en guise de stage de Fin


des Etudes durant 2 mois au sein de la société DISIS MAROC dans le cadre
de la formation du technicien supérieur à l’école supérieur de technologie
d’Agadir

La salle informatique de DISIS MAROC est la salle de gestion de


l’infrastructure informatique. L’importance de cette salle nécessite la mise
en place d’un système de surveillance qui permettra d’informer
l’administrateur informatique de l’état de cette dernière, et de l’alerter en cas
de dysfonctionnement des climatiseurs qui assurent une température idéale
de fonctionnement tout au long de l’année.

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

II. Matériels de surveillance ................................................................................... 16


III. Outils informatiques utilisés .............................................................................. 21
Conclusion ..................................................................................................................... 22
Chapitre III (Tests et configurations du système de surveillance) ..................................... 23
Introduction .................................................................................................................... 24
I. Configuration du système à base du Raspberry Pi ................................................. 24
II. Le système de surveillance de la salle informatique .............................................. 30
Conclusion ..................................................................................................................... 36
Chapitre IV (Application de supervision) .......................................................................... 37
Introduction .................................................................................................................... 38
I. Le développement de l’application web ................................................................ 38
Conclusion ..................................................................................................................... 39
Conclusion Générale .......................................................................................................... 42
Webographie ...................................................................................................................... 43

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

PIR : Passive Infra Red

API: Application Programming Interface

SMTP: Simple Mail Transfer Protocol

VNC: Virtual Network Computing

SSH: Secure Shell

NVR: Network Video Recorder

DVR: Digital Video Recorder

SQL: Structrured Query Language

HTML: Hyper Text Markup Language

PHP: Hypertext Preprocessor


INTRODUCTION GENERALE

La sécurité des informations est devenue un élément indispensable de


l’entreprise quel que soit son secteur d’activité. Une indisponibilité d’un
système de contrôle à des impacts très préjudiciables sur l’activité et sur la
notoriété d’une entreprise.

Ce rapport présentera le travail effectué durant mon stage de fin


d’étude. Dans le premier chapitre je présenterais l’organisme d’accueil, ainsi
qu’une une description du cahier des charges. Le deuxième chapitre est
consacré à la présentation des bases théoriques et techniques logiciel et
matériel nécessaire à la réalisation de mon projet. Le troisième chapitre
présente les différentes étapes de la mise en œuvre de la solution, les
configurations, et les tests du système de surveillance. Enfin le dernier
chapitre présentera une description des applications de supervision que j’ai
développée.

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.

I. Présentation de l’entreprise DISIS MAROC.


Crée en 2013 situé à Ait Melloul. DISIS MAROC offre des solutions
compétitives et convenables en domaine de sécurité et sécurité électronique qui a lui
permet de proposer une meilleure gamme de produits à sa clientèle et lui faire profiter
des dernières technologies connus.

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 :

 Domotique & Automatisme.

 Réseaux & Télécommunications.

 Système de pointage & Contrôle d’accès.

 Système d’intrusion & Incendie.

 Télésurveillance & Vidéosurveillance.

 Matériel informatique & Bureautique.

 Câblage & Accessoires.

 Sonorisation & Télédistribution.

L’esprit de professionnalisme et de créativité permet à DISIS MAROC de centralisé ses


efforts pour accroitre ses relations commerciales et technique avec ses partenaires aussi
bien au Maroc qu’à l’étranger. Leur mécanisme est de :

 S’écouter pour atteindre les soucis et les besoins de sa clientèle

 De conseiller sa clientèle à la lumière de leur retour d’expériences, leur savoir-faire et de


leur expertise dans le domaine

 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

Figure 1 : Fiche technique de DISIS MAROC

4
III. Organigramme du DISIS MAROC.

Figure 2: 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 :

Collecte et enregistrement des données captées (température, humidité) dans une


base de données.

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.

L’envoi des alertes par E-mail à l’administrateur de la salle en cas d’anomalie

3. Etude de l’existant

La salle informatique du DISIS MAROC est la salle de gestion du parc


informatique, le schéma suivant la décrit:

Figure 3: Schéma descriptif du DISIS MAROC

6
La salle contient :

 Serveur 1 : contient l’application de gestion commerciale(Z230) / Serveur 2 : secondaire (T3610)

 Serveur 3 : pour le stockage (Z600) / Onduleur : fournir l’alimentation en cas de coupure


d’électricité.
 NVR : (Network video recorder) et DVR : (Digital video recorder) ceux qui permet d’accueillir
l’ensemble des caméras et de sauvegarder les flux vidéo sur un disque dur interne HDD.
 2Switchs : ils comportent des ports en fibre optique et assurent des liaisons vers les switchs
d’étage.

D’après cette description, l’idée de mettre en œuvre un système de surveillance


de la salle apparait nécessaire. Ce système va servir au contrôle d’intrusion et la
supervision de la température et d’humidité.

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 capteur DHT 11 qui va me permettre de mesurer simultanément la température et


l’humidité.

 Le détecteur de présence que j’ai choisi est le capteur PIR de référence SHC-
SR501.

 Développement de la couche basse logicielle en utilisant le langage python sous


LINUX pour la gestion du système (collection et enregistrement des données,
détection de présence, prise des photos).

 L’enregistrement des données dans une base de données MySQL.

 La visualisation des données captées en temps réel sur un afficheur LCD.

 Développement d’une application Web pour la visualisation des données captées.

 Utilisation du protocole SMTP pour l’envoie des alertes par E-mail.

7
5. Spécifications fonctionnelles

Le système de supervision que l’encadrant a proposé doit répondre aux


fonctions suivantes :

 La carte Raspberry Pi doit exécuter deux programmes python, un qui va gérer la


collecte des données (température et humidité) pour des temps prédéfinis et les
stocker dans une base de données MySQL. L’autre programme doit être capable de
détecter la présence (ou l'intrusion à la salle informatique) d'une personne et à ce
moment le programme doit prendre une ou plusieurs photos les enregistrer, puis les
envoyer par E-mail.

 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

 Utilisation d’un serveur web apache 2.

 Développement de l’application web par HTML, JAVASCRIPT, PHP5 et le Framework


BootStrap5

 L’autorisation de l’accès à la base de données par n’importe quel ordinateur relié au


réseau local avec ou sans débit d’internet.

 Accès au Raspberry Pi à distance avec le protocole SSH et VNC.

 Installer le système d’exploitation « Raspbian » sur la carte RaspberryPi.

 Exécution automatique des programmes principaux sans aucune intervention humaine


8
Conclusion
L’objectif de ce chapitre était de présenter aux lecteurs l’environnement de stage,
d’exposer une vue générale du contexte du travail, et aussi une description de cahier des
charges.

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.

1. Les composants standards de Raspberry Pi

La figure suivante représente un Raspberry standard :

Figure 4 : Les composants standards d'un Raspberry

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.

Une connectique variée :

 HDMI : « High Definition Multimedia Interface » permet de relier le RaspberryPI à


un dispositif compatible : écran LCD ou un vidéoprojecteur…

 Port USB 2.0 : Le port « Universal Serial Bus » est un port série qui sert à
connecter le Raspberry aux autres périphériques.

 Port Ethernet : C’est un port qui correspond au protocole internationalETHERNET


de réseau local à commutation de paquets.

 Prise RCA : « Radio Corporation of America » est un connecteur électrique


utilisé dans le domaine audio/vidéo.

 un slot des cartes SD : Le Raspberry a besoin d’une mémoire externe


supplémentaire pour fonctionner. Ce slot permet de connecter la mémoire externe.

 une prise jack : C’est une connectique audio-vidéo.

 GPIO : « General Purpose Input/Output » sont des ports d’Entrée/Sortie.

2. Caractéristiques du Raspberry Pi3 modèle B


Le Raspberry Pi 3 Modèle B (figure 7) est la troisième génération Raspberry Pi et
la carte sur laquelle je vais développer mon système.

12
Figure 7: Les caractéristiques du Raspberry Pi 3 Modèle B

Le Raspberry Pi 3 Modèle B dispose d'un processeur ARMv7, donc il peut


fonctionner toute la gamme des distributions ARM GNU / Linux, y compris Snappy
Ubuntu Core, ainsi que Microsoft Windows 10 voir plus d’autre systèmes d’exploitation.

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

1. Capteur de température et d’humidité

Le capteur de température et d’humidité (figure 9) est un circuit comprend le


capteur DHT11 qui fournit une information numérique proportionnelle à la température et
l'humidité mesurées. La technologie utilisée par ce capteur garantie une grande fiabilité,
une excellente stabilité à long terme et un temps de réponse très rapide.

Les caractéristiques de ce capteur sont les suivantes :

Tableau 1: Les caractéristiques du capteur DHT11

Alimentation Plage de Précision Sensibilité


mesure
Humidité 3.3V ~ 5V 20% - 90% ± 5% ± 1%
Température 3.3V ~ 5V 0 ~ 50 ° C ±2°C 1°C

Figure 9: Capteur température et d’humidité

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.

Figure 10 : Afficheur LCD 16x2

Tableau 2: Branchement de l’afficheur avec Raspberry pi


Broche du LCD Broche du Raspberry Pi
Notation "Board" Notation "BCM"
1 6 GND
2 2 5V
4 15 GPIO 22
5 18 GPIO 24
6 16 GPIO 23
7, 8, 9, 10 Pas branchées
11 21 GPIO 9
12 22 GPIO 25
13 23 GPIO 11
14 24 GPIO 8
15
3. Capteur de mouvement PIR

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 :

Figure 11: Brochage du capteur SHC-SR501

Le capteur possède deux potentiomètres :

Time Delay Adjust = Ajustement du délai pendant lequel la sortie(Output) reste


verrouillée sur HIGH après une détection de mouvement.

Sensitivity = Ajustement de la sensibilité du capteur entre 3 et 7m.

Le jumper permet de choisir le mode : avec ou sans re-déclenchement (voir le


schéma suivant) :

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.

Avec re-déclenchement (Repeat 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, mais
chaque nouvelle détection remet le chronométrage de durée de sortie à zéro.

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.

Figure 12: schéma explicatif du fonctionnement du Jumper Set

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.

Maintenant je vais résumer les caractéristiques de cette dernière :

 La caméra se branche sur le connecteur USB existant sur la carte Raspberry Pi.

 Microphone intégré.

 Résolution photo 640*480

 Résolutions vidéo 480p à 30fps (30 images/s).

18
Figure 13: WEB-CAMERA

II. Outils informatiques utilisés


La collecte et la visualisation de données est devenue une préoccupation de plus
en plus majeure pour les entreprises, tant sur les individus que sur l’environnement
de travail. Pour moi le plus important et de collecter les données sur un
environnement et faire le stockage de ces derniers sur un espace sécurisée et
finalement les visualiser.

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. ».

Choix des langages de programmation :


Avant tout je dois choisir un langage de programmation qui allait être utilisé pour
développer cette interface de supervision. J’ai focalisé mon choix sur des langages simple
à utiliser et qui vont me permettre d’atteindre mes objectifs c’est pour cela j’ai choisi de
développer cette interface web à l’aide des langages HTML, CSS, le PHP5 et MYSQL
pour la gestion et la manipulation de la base de données aussi le JavaScript car il possède
des bibliothèques graphique qui vont m’aider à construire mon graphe, l’encadrant m’a
aussi proposé de travailler avec le Framework BootStrap5 pour le côté esthétique de
l’interface.

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é.

Les outils de travail:

 XAMPP SERVEUR :

XAMPP est un ensemble de logiciels permettant de mettre en place facilement


un serveur Web (confidentiel). Il s'agit d'une distribution de logiciels libres (Apache,
MySQL, PHP), ainsi que phpMyAdmin pour l’administration web des bases MySQL qui
offrent une bonne souplesse d'utilisation. Nous avons utilisé XAMPP pour les tests sur
Windows avant d’implémenter notre travail sur le Raspberry Pi.

 Navicat for MySQL :

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.

I. Configuration du système à base du Raspberry Pi

1. Accès à distance au Raspberry Pi


Je paeux accéder à la carte Raspberry Pi via le protocole SSH et/ou VNC, si je
connais l’adresse IP de la carte.

Choix de l’adresse IP du Raspberry Pi


Pour trouver l’adresse IP de Raspberry Pi, j’ai utilisé la commande linux
(ifconfig). L’adresse IP est fixée à l’aide du serveur DHCP.

Connexion à distance via SSH


Secure Shell est un protocole de réseau crypté pour initier des sessions Shell
textuelles sur des machines distantes de manière sécurisée. Cela permet à un utilisateur
d'exécuter des commandes sur l'invite de commande d'une machine sans qu'ils soient
physiquement présents à proximité de la machine. SSH a été créé en 1995 pour le
principal but est de permettre la prise de contrôle à distance d’une machine à travers une
interface en lignes de commande.

Pour faire le contrôle à distance sur le Raspberry Pi je dois installer un serveur


SSH sur le Raspberry Pi et un autre client SSH sur l’ordinateur client, mais heureusement
le serveur SSH est déjà installé et activé par défaut sur la Raspberry Pi, ce qui reste
seulement d’installer un client SSH, pour cela je vais installer le logiciel Putty sous
Windows qui est un client SSH.

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 :

Figure 16: Invite de commande via SSH

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

saisie du clavier et de la souris à l'ordinateur distant, possédant un logiciel serveur VNC à


travers un réseau informatique. Il utilise le protocole RFB qui est un protocole simple
pour l'accès à distance aux interfaces graphiques des utilisateurs.

Comme pour le SSH, le contrôle à distance sur le Raspberry Pi nécessite une


installation du VNC du côté d’un serveur sur notre Raspberry Pi et d’un autre d’un client
VNC sur l’ordinateur, la distribution de Dexter Industries « Raspbian» contient déjà un
serveur VNC, il ne reste seulement que d’installer un client VNC sur l’ordinateur, le
logiciel qui va jouer le rôle d’un client VNC est VNC VIEWER. La connexion est très
simple en entrant l’adresse IP puis en cliquant sur « Connect » comme montre la figure
suivante:

Figure 17: Logiciel VNC VIEWER

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.

Figure 18: raspebrry pi via VNC serveur

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.

Capteur de température et d’humidité DHT11 :


Le capteur DHT11 m’a permet de mesurer la température et l’humidité de la salle
informatique, pour cela je vais faire un petit programme en python qui va me permettre de
mesurer ces données physique et les afficher sur le terminal.

Figure 19: Programme de test du DHT11


L’exécution de ce programme affiche sur le terminal les valeurs de la température et
d’humidité donc le capteur DHT11 fonctionne sans aucun problème.

Figure 20: Résultat de test du DHT11

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 :

Figure 21: Programme test du PIR


Ce programme m’a permet à chaque détection d’écrire « motion Detected » et si
on n’a pas de détection d’écrire « pas de détection », le test du programme donne les
résultats prévus comme suit :

Figure 22: Résultat de test du PIR

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

1. Schéma descriptif du système


 La collection des données (température, humidité) pour des temps prédéfinies et
les stocker dans une base de données MySQL, cette dernière doit être crée sur le
Raspberry Pi.

 Le contrôle de l’accès à la salle informatique et en cas de détection d’intrusion, le


système doit prendre des photos nommées par l’heure de la détection et les
enregistrer dans un répertoire nommé par la date de détection.

 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 :

Figure 24 : Schéma descriptif du système

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é :

Figure 25: Montage du système de collection de données et contrôle

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.

Le système permet de prendre les valeurs de la température, d’humidité toutes les


cinq minutes (cette période de collecte est modifiable selon le rythme de variation de ces
données), et les enregistrer dans la base de données MySQL nommée. A chaque détection
d’une personne par le capteur PIR une interruption est générée afin de me permettre de
prendre des photos et les enregistrer.
29
3. Les organigrammes des programmes de collection des données de
DHT11 et de contrôle d’intrusion

 Le programme du système de collection et d’enregistrement des données dans la


base de données est décrit dans l’organigramme suivant :

Figure 26: Organigramme du programme de la collection des données de DHT11.


Le principe de fonctionnement du programme est le suivant:

 Initialisation : dans cette étape, j’importe toutes les bibliothèques nécessaires


pour le bon fonctionnement du programme python (RPi.GPIO, time, os,
MySQLdb).

 Configuration : à ce moment on choisit le port de connexion du capteur DHT11


et les pins utilisés et ces configurations (GPIO.setmode= type de numérotation,
GPIO.setup=configuration soit en entrée eu en sortie).

 Connexion à la base de données : en choisissant le nom de la base de données et


30
son utilisateur et mot de passe.

 Lectures des données : température, humidité.

 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.

 Temporisation de 5 minutes détermine la période de la collection de données.

 Le programme du système de contrôle d’intrusion est décrit dans l’organigramme


suivant :

Figure 27: Organigramme du programme de contrôle d’intrusion.

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.

Figure 28: Installation de mysql-serveur et php5 mysql


Lors de l’installation de mysql-server, il me demande un mot de passe pour le compte
administrateur MySQL, qui sera utilisé plus tard dans l’accès au serveur.

Création de base de données :


Pour la création de la base de données, j’ai utilisé le logiciel Navicat qui m’a
facilité tous les étapes de la création des bases de données ainsi que les tables.
Pour assurer qu’on a créé la base de données, on doit exécuter la commande
suivante: SHOW DATABASES ;

Structure de la base de données :


Après la création de la base de données, j’ai créé la table nécessaire au bon
fonctionnement du système, cette table est la suivante

Figure 29: Structure de la base de données

32
 La table « temps3 » qui contient les champs nécessaire pour recevoir les données
depuis le DHT11.

Figure 30: Table «temps3» de base de données « disis_maroc »


5. Système de détection d’intrusion :
Après que le détecteur de mouvement PIR détecte un mouvement dans son champ des rayons infrarouge
qu’il a créé, le programme automatiquement envoie une alerte par E-mail contenant l’image de l’intrus
comme montre la figure ci-dessous :

Figure 31 : alerte E-mail reçu à partir de raspberry pi

6. Exécution automatique des programmes python lors du


démarrage :
En effet il existe plusieurs méthodes pour exécuter un script automatiquement au démarrage du
raspebrry pi, je vais citer deux méthodes qui sont efficace et ne pose aucun problème.

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 :

Figure 32 : exécution automatique en utilisant le script rc.local

En utilisant crontab -e:

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 :

Figure 33 : exécution automatique en utilisant le script crontab -e

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.

I. Le développement de l’application web

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.

 Page d’authentification : permet à l’utilisateur de s’identifier. Ce dernier devra


donc saisir son login et son mot de passe. D’une manière générale, cette page
représente le point d’entrée de toute l’application.

 Page de sélection : permet de demander à l’utilisateur de choisir de consulter la


table de température et humidité ou de consulter le graphe représentant ces
derniers.

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 :

Figure 34: Page d'authentification

36
La page de sélection :
Sur cette page Web, l'utilisateur doit choisir de voir la table ou le graphe.

Figure 35: Page de sélection

Après que l’utilisateur sélectionne de voir la table de température et l’humidité,


la table s’affiche sous la forme suivante (Figure36):

Figure 36: Table affichée.


37
Si l’utilisateur choisi de voir le graphe, ce dernier se présentent comme illustre la figure 37.

Figure 37: Graphe affiché.

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.

Figure 38:Extrait de google_spreadsheet.py.


 La figure 39 illustre la table chargé dans Google-Sheet .
38
Figure 39:Table de température et humidité (Google-Sheet).

 Maintenant la figure 40 illustre comment la librairie Adafruit_DHT m’a permet de représenter la


température et l’humidité simultanément en fonction du temps :

Figure 40:Graphe de température et humidité depuis la base de données

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.

Tout au long de cette période de stage de 2 mois, j’ai réussi à


atteindre les objectifs décrits dans le cahier des charges ; collection et
enregistrement des données captées (température, humidité) dans une base de
données MySQL, la visualisation sous forme graphique des données captées
et leur évolution dans le temps. Cette visualisation est réalisée via une
application Web, et la détection d’intrusion à la salle en prenant des photos
de la personne intrus.

Comme la compréhension et la maîtrise du domaine de


l’électronique et des systèmes embarqués était mon premier objectif dans
cette formation de technicien. Ce stage m’a été une occasion pour avancer
avec un grand pas vers cet objectif en prenant des nouvelles notions dans
d’autres domaines et en appliquant mes acquis dans un travail concret et en
affrontant plusieurs défis au cours de cette réalisation que ce soit technique
ou organisationnel.

40
Webographie

https://www.dexterindustries.com/raspberry-pi/ : Consulté le 24/06/2022

https://docs.python.org/ : Consulté le 25/05/2022

https://www.raspberrypi.com/software/operating-systems/ : Consulté le 25/05/2022

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-

pi/ : Consulté le 17/05/2022

41
ANNEXES
I. Langages de programmations :
 HTML (Hyper Text Markup Language)

HTML est un langage de description et non pas un langage de programmation, ce


langage est basé sur le principe de balisage de texte qui permet, d’inclure des
informations variées (textes, images, sons, animations etc.), la création de documents
hypertextes qui permettant d'établir des relations cohérentes entre ces informations
affichables par un navigateur.

 CSS3 (Cascading Style Sheets)

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.

Le but de CSS est séparer la structure d'un document HTML et sa présentation,


en effet, avec HTML on peut définir à la fois la structure et la présentation de la page,
mais cela pose quelques problèmes. Avec le couple HTML/CSS, on peut créer des pages
web où la structure du document se trouve dans le fichier HTML tandis que la
présentation se situe dans un fichier CSS externe, pour éviter les redondances de classes
identiques, tout en clarifiant le code. De plus, CSS ajoute des fonctionnalités nouvelles
par rapport à HTML au point de vue du style.

 Langage PHP (Hypertext Preprocessor)

Le langage PHP est principalement un langage de programmation web côté


serveur, utilisé pour produire des pages Web dynamiques via un serveur http, ce qui veut
dire que c'est le serveur qui va interpréter le code PHP et générer du code (HTML, CSS,
et parfois de JavaScript) qui pourra être interprété par un navigateur. PHP peut être
installé sur les principaux serveurs web actuels, les plus répandus étant IIS et Apache.

Pour profiter de ce couplage qui m’a permet de récupérer des informations


issues de ma base de données, ou plus simplement des données envoyées par le
42
navigateur afin d'être interprétées ou stockées.

Figure 41 : Architecture de connexion client-serveur avec PHP

 JavaScript

JavaScript est un langage de programmation objet et événementiel utilisé pour la


gestion des interactions dans les navigateurs web. JavaScript est lié au langage de balisage
HTML, on peut insérer du code JavaScript dans des pages HTML grâce à la balise
<script> ou par l’appel des propriétés et des méthodes, qui existent dans un fichier script
(.js) et leur associer des actions en fonction d'événements déclenchés par le visiteur.

43

44

Vous aimerez peut-être aussi