Telechargé par Olivares Ngono

Conception et Realisation d un Systeme A

publicité
République Tunisienne
Ministère de l’Enseignement Supérieur
et de la Recherche Scientifique
Ingénieur en :
Génie des Télécommunications
Option :
Université de Sfax
Sécurité des Réseaux
École Nationale d’Électronique
et des Télécommunications de Sfax
Projet de Fin d’Etudes
N° d’ordre: ING-GRT-83-16
MEMOIRE
Présenté à
L’École Nationale d’Électronique et des
Télécommunications de Sfax
En vue de l’obtention du
Diplôme National d’Ingénieur en :
Génie des Télécommunications
Option :
Sécurité des Réseaux
Par
Mohamed Hassan DOUKSIEH
Conception et Réalisation d’un Système de
Gestion d’Éclairage publique
Soutenu le 20 juin 2016, devant la commission d'examen:
Président
Dr.
Achraf MAKNI
Dr.
Nebrasse ELLOUZE
Dr.
Tarak CHAARI
Pr.
Ahmed FAKHFAKH
Encadrant
Encadrant
M.
Zouheir KOUBAA
Encadrant
Examinatrice
Dédicace
A mes très chers parents
A tous ceux que j'aime.
Remerciements
C'est avec une grande émotion et beaucoup de sincérité que je voudrais adresser ma
gratitude à toutes les personnes ayant participé, collaboré, soutenu et apprécié de près ou de
loin au bon déroulement de ce projet ainsi que la réalisation de mon travail.
Tout d'abord, je tiens à remercier et exprimer toute ma reconnaissance auprès de mon
encadrant de projet Mr Tarak Chaari qui m'a initié à ce projet de fin d’étude et m'a toujours
motivé, soutenu et encouragé pour pouvoir développer et terminer à temps ce projet. Je le
remercie sincèrement pour sa disponibilité, son soutien et ses conseils nombreux et importants.
Il a beaucoup contribué à la mise en valeur de mon travail, n'a cessé de m'encourager à avancer
et m'a aidée à progresser à travers les difficultés et les doutes inhérents à tout travail similaire.
Je tiens à exprimer également ma vive reconnaissance à mon Co-encadrant du projet fin
d’étude Mr. Ahmed Fakhfakh de me prodiguer des conseils inestimables, dans tous les
domaines, tout au long de la réalisation du projet. Ses idées, son expérience et ses précieux
conseils m'ont énormément aidée dans ce travail.
Je souhaite remercier également Mr. Zouheir Koubaa, le directeur de la société
STEPEAV et Mr Baligh Naji pour ses directives précieuses, et pour la qualité de leurs suivis
durant toute la période de mon projet.
Je souhaite également remercier très chaleureusement tous les personnels du Centre de
Recherche en Numérique de Sfax pour l’accueil chaleureux et les conditions favorables
trouvées dans ce centre.
Qu'il me soit permis d'exprimer mes sincères remerciements à Mr. Achraf Makni pour
accepter de présider ma séance de soutenance. J'exprime également toute ma gratitude à Mme.
Nebrasse Ellouze qui m’a fait l'honneur d’examiner ce travail. Espérant qu’ils trouvent dans
ce rapport les qualités de clarté et de motivation qu’ils attendent.
Enfin mes sentiments et mes remerciement les plus marqués s’en font à ma famille toute
entière qui m'a toujours encouragée de bosser et d’aller de l'avant, et à tous mes amis
Djiboutiens ou Tunisiens qu’on a partagé des moments inoubliables où qu’ils soient dans le
monde.
 … Mohamed
i
Tables des matières
Remerciements ........................................................................................................................................ i
Liste des tableaux .....................................................................................................................................ii
Liste des figures .......................................................................................................................................iii
Glossaires ................................................................................................................................................ iv
Avant-propos ............................................................................................................................................v
Introduction générale.............................................................................................................................. 1
CHAPITRE I............................................................................................................................................... 2
ECLAIRAGE PUBLIQUE INTELLIGENT....................................................................................................... 2
I.1.
Introduction ................................................................................................................................. 3
I.2.
Organisme d’accueil .................................................................................................................... 3
I.3.
Présentation du projet ................................................................................................................ 3
I.3.1. Cadre du projet........................................................................................................................... 3
I.3.2. Eclairage publique intelligent ..................................................................................................... 4
I.3.3. Solutions existantes.................................................................................................................... 6
I.3.3.1. Philips : le TBS165 intelligent .............................................................................................. 6
I.3.3.2. CityTouchs ........................................................................................................................... 7
I.3.3.3. G smart ................................................................................................................................ 7
I.3.3.4. OWLET Nightshift ................................................................................................................ 8
I.3.4. Solution proposée ...................................................................................................................... 8
I.3.4.1. Coffret de candélabre.......................................................................................................... 8
I.3.4.2. Coffret de ligne .................................................................................................................... 8
I.3.4.3. Salle de supervision ............................................................................................................. 9
I.4.
Objectifs..................................................................................................................................... 10
I.5.
Conclusion ................................................................................................................................. 10
CHAPITRE II ........................................................................................................................................... 11
MODELISATION CONCEPTUELLE DU SYSTEME .................................................................................... 11
II.1. Introduction .................................................................................................................................... 12
II.2. Spécifications des besoins .............................................................................................................. 12
II.2.1. Spécifications détaillés ............................................................................................................ 12
II.2.2. Méthodologies ........................................................................................................................ 12
II.3. Modélisation Conceptuelle ............................................................................................................ 17
II.3.1. Diagrammes UML .................................................................................................................... 17
II.3.1.1. Diagramme cas d’utilisation ............................................................................................. 19
II.3.1.2. Diagramme de classes ...................................................................................................... 23
II.3.1.3. Diagramme de séquences ................................................................................................ 24
II.4. Environnement matériel ................................................................................................................ 26
II.4.1. Système embarqué.................................................................................................................. 26
II.4.1.1. Carte Arduino ................................................................................................................... 28
II.4.1.2. Carte BeagleBone ............................................................................................................. 28
II.4.1.3. Carte Raspberry ................................................................................................................ 29
II.4.2. Choix de la plateforme ............................................................................................................ 30
II.5. Transmission des trames de données ............................................................................................ 31
II.5.1. Réseau LAN .............................................................................................................................. 31
II.5.2. Zigbee ...................................................................................................................................... 32
II.5.3. Wi-Fi ........................................................................................................................................ 33
II.5.4. Module NRF24l01 .................................................................................................................... 33
II.6. Protocole de Transmission ............................................................................................................. 34
II.6.1. Algorithme de fonctionnement ............................................................................................... 35
II.6.2. Avantages ................................................................................................................................ 36
II.7. Conclusion ...................................................................................................................................... 36
CHAPITRE III .......................................................................................................................................... 37
ENVIRONNEMENT LOGICIEL ET REALISATION PRATIQUE ................................................................... 37
III.1. Introduction ................................................................................................................................... 38
III.2. Environnement de réalisation ....................................................................................................... 38
III.2.1. Application WEB dynamique .................................................................................................. 38
III.2.2. Eclipse ..................................................................................................................................... 39
III.2.3. Base de donnée No SQL ......................................................................................................... 39
III.2.3.1. MongoDB ......................................................................................................................... 40
III.2.3.2. Installation de MongoDB ................................................................................................. 41
III.2.3.3. Fonctionnement de MongoDB ........................................................................................ 41
III.2.4. Apache Tomcat ....................................................................................................................... 47
III.3. Interface Web ................................................................................................................................ 47
III.3.1. Interface d’authentification ................................................................................................... 48
III.3.2. Interface web ligne ................................................................................................................. 49
III.3.3. Interface web poteau ............................................................................................................. 50
III.4. Service de cartographie ................................................................................................................. 51
III.4.1. Google Maps........................................................................................................................... 51
III.5. Conclusion ..................................................................................................................................... 54
Conclusion générale et perspectives..................................................................................................... 55
Bibliographies ........................................................................................................................................ 57
Liste des tableaux
TABLEAU 1. CARACTERISTIQUES TECHNIQUES DES CARTES ................................................................. 31
TABLEAU 2. CARACTERISTIQUES TECHNIQUES DES DIFFERENTS TECHNOLOGIES ............................... 34
TABLEAU 3. DONNEES DES MISES EN PAGE .......................................................................................... 42
ii
Liste des figures
FIGURE 1. PHILIPS : LE TBS165 INTELLIGENT ........................................................................................... 6
FIGURE 2. CITYTOUCH LIGHTWAVE ......................................................................................................... 7
FIGURE 3. CITYTOUCH LIGHTPOINT......................................................................................................... 7
FIGURE 4. SMARTGATE............................................................................................................................ 7
FIGURE 5. OWLET NIGHTSHIFT ................................................................................................................ 8
FIGURE 6. SCHEMA PRINCIPE DU PROJET ............................................................................................... 9
FIGURE 7. ORGANIGRAMME DU PROJET SMARTECLAIR ...................................................................... 13
FIGURE 8 SCHEMA SYNOPTIQUE DU PROJET ........................................................................................ 15
FIGURE 9. SCHEMA SYNOPTIQUE DU PROJET ....................................................................................... 15
FIGURE 10. SCHEMA DES PHASES DE DIAGRAMMES UML ................................................................... 18
FIGURE 11. DIAGRAMME CAS D’UTILISATION PARTIE UTILISATEURS................................................... 20
FIGURE 12. DIAGRAMME CAS D’UTILISATION PARTIE LIGNE................................................................ 22
FIGURE 13. DIAGRAMME DE CLASSE..................................................................................................... 24
FIGURE 14. DIAGRAMME DE SEQUENCE DANS SA PARTIE INGENIEUR ................................................ 25
FIGURE 15. DIAGRAMME DE SEQUENCE DANS SA PARTIE TECHNICIEN............................................... 25
FIGURE 16. DIAGRAMME DE SEQUENCE DANS SA PARTIE LIGNE......................................................... 26
FIGURE 17. ARCHITECTURE DES SYSTEMES EMBARQUES ..................................................................... 27
FIGURE 18. UNE CARTE ARDUINO ......................................................................................................... 28
FIGURE 19. UNE CARTE BEAGLEBONE ................................................................................................... 29
FIGURE 20. UNE CARTE RASPBERRY ...................................................................................................... 29
FIGURE 21. MODULE ÉMETTEUR-RECEPTEUR 2.4G NRF24L01 ............................................................. 33
FIGURE 22. MONGODB DATABASE ....................................................................................................... 41
FIGURE 23. DEMARRAGE DU MONGODB.............................................................................................. 43
FIGURE 24. CONNEXION AU MONGODB ............................................................................................... 44
FIGURE 25. CONTENU DU MONGODB .................................................................................................. 45
FIGURE 26. CONTENU DE LA COLLECTION LIGNES ................................................................................ 45
FIGURE 27. CONTENU DE LA COLLECTION POTEAU .............................................................................. 46
FIGURE 28. CONTENU DE LA COLLECTION USER ................................................................................... 46
FIGURE 29. HOME DE NOTRE INTERFACE ............................................................................................. 48
FIGURE 30. INTERFACE D’AUTHENTIFICATION...................................................................................... 48
FIGURE 31. INTERFACE D’AUTHENTIFICATION...................................................................................... 49
FIGURE 32. INTERFACE WEB LIGNE ....................................................................................................... 50
FIGURE 33. INTERFACE WEB POTEAU ................................................................................................... 50
FIGURE 34. GOOGLE MAPS.................................................................................................................... 51
FIGURE 35. FICHE D’UN POTEAU ........................................................................................................... 52
FIGURE 36. INTERFACE DE COMMANDE ............................................................................................... 53
FIGURE 37. PAGE DE STATISTIQUE ........................................................................................................ 53
iii
Glossaires
ENET’Com : Ecole Nationale d’Electronique et de la Télécommunication.
STEPEAV : Société Tunisienne d'Etude de Production et d'Equipements AudioVisuels
LAN : Local Area Network
NTIC: nouvelles technologies de l’information et de la communication
BSON: Binary JSON
JSON: JavaScript Object Notation
AGPL: Affero General Public License
API: Application Programming Interface
RTOS: Real-Time operating System
RF: Radio fréquence
iv
SmartEclair
Mohamed Hassan DOUKSIEH
Avant-propos
Dans le cadre de préparation de mon projet de fin d’études à l’ENET’Com, nous avons
contacté la société « STEPEAV » qui souhaite développer un projet consistant de mettre en
service un système d’éclairage public intelligent et m’a proposé via mon encadrant de travailler
sur la partie programmation de la salle de supervision. J’ai travaillé côte à côte avec mon
encadrant pédagogique au sein du « Centre de Recherche Numérique » à la technopole de Sfax.
Le projet en question a été baptisé SmartEclair.
v
SmartEclair
Mohamed Hassan DOUKSIEH
Introduction générale
Dans un réseau électrique classique, la consommation d’électricité et donc la production
doivent, à chaque instant, être en parfaite adéquation avec la demande des utilisateurs. Cette
demande est variable et ne peut pas être complètement maîtrisée. La production doit s’adapter
instantanément à la demande pour préserver la stabilité du réseau en termes de tension et de
fréquence.
Les réseaux intelligents grâce aux technologies permettant d’agir sur la demande et grâce
aux réseaux informatiques reliant producteurs, distributeurs et consommateurs permettront
d’adapter, en partie, la consommation aux capacités instantanées de production, notamment en
décalant certaines consommations en dehors des heures de pointe et en optimisant les systèmes.
Pour concrétiser ces mots, le réseau d’éclairage public intelligent transforme les
lampadaires en vecteurs de services innovants. Les villes et les collectivités ont besoin de
pouvoir maîtriser leurs dépenses dans le domaine de l’éclairage public et des services, tout en
proposant de nouveaux services numériques. Pour satisfaire ce besoin de rendre le réseau
d’éclairage public intelligent, STEPEAV a imaginé SmartEclair.
A travers ce rapport, mon projet de fin d’étude s’intègre dans le grand projet SmartEclair.
Il consiste à développer une application Web dynamique permettant de superviser l’ensemble
du réseau d’éclairage publique derrière un écran d’ordinateur dans une salle de supervision
équipée d’un serveur et d’une base de données. Cette supervision consiste à concevoir et mettre
en place un service de cartographique représentant l’ensemble de sites du réseau d’éclairage.
Ma tâche consiste également à enregistrer, envoyer et recevoir les trames de différents poteaux
appartenant au réseau d’éclairage en temps réel.
Le rapport débute par une étude générale sur l’éclairage public intelligent ainsi que ses
principaux avantages. Une synthèse des différentes solutions existantes est donnée dans le
premier chapitre. Dans le deuxième chapitre, la modélisation conceptuelle de notre solution est
détaillée. Ensuite nous allons décrire l’environnement de développement matériel et logiciel
ainsi que les différentes fonctionnalités de l’application qui seront donnés dans un troisième
chapitre.
1
SmartEclair
Mohamed Hassan DOUKSIEH
CHAPITRE I
ECLAIRAGE PUBLIC INTELLIGENT
2
SmartEclair
Mohamed Hassan DOUKSIEH
Chapitre I
L’éclairage public intelligent
I.1. Introduction
Ce chapitre est consacré à présenter la société au sein du quelle j’ai effectué mon stage
pendant 4 mois. Le cahier de charge ainsi que la présentation générale du sujet sont aussi décrits.
Une étude sur l’éclairage public est également présentée. Ensuite nous allons citer quelques
solutions existantes qui ont été la base de développement de notre solution. Finalement
l’analyse et la critique de l’existant nous a permis de cerner nos objectifs afin de développer un
système optimal.
I.2. Organisme d’accueil
La société STEPEAV est un acteur en services et ingénierie de solution, réunie les
principaux offres et innovations en intégration applicatives en audiovisuel, en sécurité
électronique, en domotique et de contrôle de systèmes, en signalétique et affichage, sous une
architecture médiatique déployant la technologie appliquée à la communication, et tous le
courant faible du bâtiment sous plates-formes depuis le virtuel au temps réel.
L’activité principale de « STEPEAV » est l’étude de production et des équipements
audiovisuels (production, édition, réalisation).
I.3. Présentation du projet
I.3.1. Cadre du projet
Pour faire face aux mutations du paysage énergétique, il est nécessaire de moderniser le
système électrique. Le contexte français et européen, dans lequel se sont développés les réseaux
électriques, conduit à privilégier le déploiement des technologies de Smart Grids plutôt que le
remplacement et le renforcement massif des réseaux.
L’intégration des nouvelles technologies de l’information et de la communication aux
réseaux les rendra communicants et permettra de prendre en compte les actions des acteurs du
3
SmartEclair
Mohamed Hassan DOUKSIEH
système électrique, tout en assurant une livraison d’électricité plus efficace, économiquement
viable et sûre.
Le système électrique sera ainsi piloté de manière plus flexible pour gérer les contraintes
telles que l’intermittence des énergies renouvelables et le développement de nouveaux usages
tels que le véhicule électrique. Ces contraintes auront également pour effet de faire évoluer le
système actuel, où l’équilibre en temps réel est assuré en adaptant la production à la
consommation, vers un système où l’ajustement se fera davantage par la demande, faisant ainsi
du consommateur un véritable acteur.
L’éclairage public participe à la fois à la sécurité publique, en jouant un rôle important
dans la perception nocturne des espaces publics (identification des différents usagers,
perception de leur comportement, détection des obstacles éventuels de la voirie), à la
convivialité et à l’embellissement des espaces publics en mettant en valeur le patrimoine et en
créant des ambiances nocturnes agréables. Il est aujourd’hui au cœur des préoccupations dans
la construction de la ville de demain et, c’est, pour plusieurs raisons.
I.3.2. Eclairage publique intelligent
Poussées par les contraintes réglementaires et budgétaires, mais également afin de
concilier les enjeux sociaux, environnementaux et d’attractivité, les villes cherchent des
solutions innovantes pour mieux gérer leur éclairage public et développer un mobilier urbain
adapté aux attentes des citoyens.
Elles ont conscience de la valeur des nouvelles technologies de l’information et de la
communication (NTIC) pour développer de manière efficace et durable des services pour les
citoyens, visiteurs et entreprises dans tous les domaines et métiers du territoire. À l’instar des
réseaux d’énergie, elles choisissent aujourd’hui de déployer les technologies de l’information
et de la communication au mobilier urbain et à l’éclairage public pour les rendre intelligents.
En outre, le déploiement de ces technologies sur le réseau d’éclairage public et de
mobilier urbain, permettra de renforcer l’efficacité des réseaux électriques pour l’ensemble du
territoire (meilleure qualité de l’alimentation, plus grande maîtrise de la demande en énergie,
etc.).
4
SmartEclair
Mohamed Hassan DOUKSIEH
La résolution de cette nouvelle équation à laquelle les villes d’aujourd’hui sont
confrontées passera par le développement de l’intelligence du mobilier urbain et de l’éclairage
public. Les acteurs de la ville désignent cela par le terme de « nouvelles fonctionnalités urbaines
». Il s’agit des nouvelles possibilités de produits et de services offertes en ville grâce à l’ajout
d’intelligence.
Ainsi réduire les coûts, préserver l’environnement et accroître l’attractivité de la ville ne
sont pas des objectifs incompatibles. Au contraire, la recherche d’une réponse optimale
implique de mener une réflexion sur les besoins véritables en termes d’éclairage public et de
mobilier urbain : l’éclairage est-il vraiment nécessaire ou un simple balisage peut-il suffire ?
Quand éclairer ? De manière continue dès la tombée du jour ou seulement à certaines périodes
de la nuit et/ou de l’année ? Où déployer le mobilier urbain ? Quel mobilier choisir ? Etc. mais,
également, de raisonner en termes de coût global et, au-delà de l’investissement initial, de tenir
compte notamment de la durée de vie du matériel, de sa performance, des coûts d’exploitation,
de maintenance et de recyclage.
Des technologies efficaces qui permettent de répondre à ces questions sont aujourd’hui
disponibles. La suite de ce dossier apportera les développements nécessaires pour comprendre
l’utilité et l’impact du déploiement du mobilier urbain et de l’éclairage public intelligents.
L’éclairage public doit avant tout permettre aux usagers de la voie publique de circuler
de nuit avec une sécurité et un confort aussi élevé que possible. Pour l’automobiliste, il s’agit
de rendre aisé la perception et la localisation des contours de la route et des obstacles éventuels.
Pour le piéton, il s’agit d’assurer la visibilité distincte des bordures de trottoirs, des véhicules
et des obstacles.
L’effet de l’éclairage public sur la sécurité des personnes sur la voie publique a fait l’objet
de nombreuses recherches :
o l’éclairage public permet de réduire de 30 à 40 % le nombre d’accidents de la
circulation.
o l’éclairage public permet de réduire de 50 % les effractions, vols et actes de
vandalisme.
5
SmartEclair
Mohamed Hassan DOUKSIEH
L’éclairage public sert également à l’embellissement des espaces publics par la mise en
valeur du patrimoine, des monuments architecturaux et historiques.
Dans un premier temps, accroître l’intelligence de l’éclairage public consistera à moduler
l’éclairage de chacun des points lumineux en fonction des conditions climatiques, de l’heure,
du quartier, de la présence de personnes ou de véhicules, de la maintenance, etc... Cette
possibilité de modulation non seulement prolonge la durée de vie des lampes, mais économise
aussi de l’énergie. L’efficacité d’une lampe décroit vers la fin de son cycle de vie et le fait de
la remplacer à temps la rend plus économique et permet en outre de prolonger la vie de celles
qui sont sur le même réseau d’éclairage.
Dans un deuxième temps, le développement des technologies de l’information et de la
communication sur le réseau d’éclairage public permettra d’informer en temps réel de la
consommation exacte de chaque lampe et d’indiquer à quel moment elle doit être remplacée.
Dans un troisième temps, les luminaires étant raccordés en réseau, il sera possible à terme
d’utiliser ce réseau d’éclairage public pour d’autres services : les lampadaires pourront abriter
des capteurs pour suivre et gérer la circulation, le stationnement, la gestion des déchets,
l’arrosage des parcs, la pollution de l’air, les niveaux de particules fines, l’ozone, la pollution
sonore, et les flux de circulation des véhicules et des piétons.
I.3.3. Solutions existantes
I.3.3.1. Philips : le TBS165 intelligent
Le nouveau luminaire TBS165 est doté
d’un système de contrôle d’éclairage intégré,
faisant de cette solution un produit à haute
efficacité énergétique, abordable
utiliser. Il donne le
et
facile
à
sentiment d’avoir une
solution de qualité grâce à la gestion de l'éclairage
dit "intelligent".
Figure 1. Philips : le TBS165
intelligent
6
SmartEclair
Mohamed Hassan DOUKSIEH
I.3.3.2. CityTouchs
Logiciel CityTouch relie tous les actifs d'éclairage dans une infrastructure, permet la
création de nouvelles façons d'économiser de l'argent, la protection des citoyens, et
l’amélioration de l'efficacité opérationnelle. CityTouch propose deux applications basées sur le
Web :
 CityTouch LightWave
C’est un outil de gestion de l'éclairage à
distance qui contrôle les luminaires, communiqué
avec eux par l'intermédiaire du réseau public de
communications mobiles.
Figure 2. CityTouch LightWave
 CityTouch LightPoint
Un outil de gestion d'éclairage de l'actif qui
donne une bonne visibilité de la ville et des flux de
l’éclairage. LightPoint facilite la gestion de vos actifs
simples avec :
Visualisations cartographiques
Graphiques simples et des diagrammes
Workflows pour les travaux d'entretien
Figure 3. CityTouch LightPoint
I.3.3.3. G smart
Le G Smart est un contrôleur innovant pour les
réseaux de distribution, qui intègre le contrôle et la
supervision des réseaux de moyenne et basse tension (MT/
BT).
Il comprend un serveur web intégré, E/S, le stockage de
données, la détection de défauts, les communications, la
Figure 4. SmartGate
7
SmartEclair
Mohamed Hassan DOUKSIEH
maintenance conditionnelle, le comptage d’énergie local et l’analyse de la qualité de
l’énergie, ainsi qu’une auto-surveillance étendue.
I.3.3.4. OWLET Nightshift
OWLET Nightshift est un système de
télégestion flambant neuf pour la surveillance, le
contrôle, la mesure et la gestion de l'éclairage
extérieur. Basé sur des technologies ouvertes,
chaque point de lumière individuelle peut être
activée ou désactivée ou grisée à tout moment. État
de fonctionnement, la consommation d'énergie, et
les échecs possibles sont signalés et enregistrés dans
une base de données avec horodatage exact et la
localisation géographique.
Figure 5. Owlet Nightshift
I.3.4. Solution proposée
Ainsi, la vision optée dans la conception était de concevoir certaines performances dont
un cout et une consommation réduits, avoir un système fonctionnant en temps réel et qui sera
extensible, tout en exploitant l’installation de l’éclairage existant.
Dans la conception de notre projet, nous avons proposé trois parties, comme le montre la
figure 6.
I.3.4.1. Coffret de candélabre
Dans la première partie, un système embarqué à base d’une carte arduino est installé sur
chaque poteau. Divers capteurs sont associés à cette carte (c’est le coffret de poteau).
I.3.4.2. Coffret de ligne
Dans la deuxième partie, chaque ligne (formée par plusieurs poteaux) pilote l’ensemble
des poteaux à travers un coffret appelé coffret de ligne. Ce dernier est composé par l’association
de deux cartes : une de type Raspberry Pi et l’autre de type arduino uno.
8
SmartEclair
Mohamed Hassan DOUKSIEH
Des capteurs supplémentaires sont également associés au coffret de ligne.
I.3.4.3. Salle de supervision
Dans la troisième partie, on trouve la salle de supervision. Une interface graphique
associée à une base de données ont été développées dans l’objectif de collecter toutes les
informations issues des différentes poteaux pour la supervision et le contrôle.
Le développement du cahier des charges a abouti à former une trame de quinze octets
dans le sens du candélabre vers la salle de contrôle et de quatre octets dans le sens inverse.
Le choix d’associer deux cartes arduino et raspberry pour le coffret de ligne était le
résultat de la décision d’intégrer des capteurs dans cette partie, en effet, ces deux cartes ne
présentent pas le même type d’entrée.
Figure 6. Schéma principe du projet
9
SmartEclair
Mohamed Hassan DOUKSIEH
Notre solution est basée sur une topologie en anneau du réseau, en effet le protocole
d’anneau à jeton s’explique par le chaînage des stations actives formant, par leur adresse sur le
bus, un anneau logique. Au sein de cet anneau chaque poteau passe à son voisin, dans un ordre
défini, le jeton lui donnant le droit d’émettre sa trame de donnée. Sur la réception de ce jeton,
toute station active peut assumer le rôle de maître pour une période donnée et dialoguer ainsi
avec tous ses esclaves en mode maître-esclave et l’ensemble des maîtres en mode maître-maître.
Le coffret de ligne jouera le rôle du maitre qui envoie une trame à des poteaux possédant chacun
une adresse, ce type d’architecture se base sur le principe maitre-esclave.
Nous pouvons confirmer donc que la transmission entre les deux cartes du coffret de ligne
est en half-duplex, en effet, avec ce genre de liaison chaque extrémité de la liaison émet à son
tour. Elle permet donc d'avoir une liaison bidirectionnelle utilisant la capacité totale de la ligne.
I.4. Objectifs
Afin d’exploiter les trames, nous avons mis comme objectif de réaliser un système
embarqué qui permet de récupérer les données de différents poteaux, puis les transmettre par
un réseau sans fil dans un premier sens vers la station de supervision où ils seront visualisés,
interprétés et intervenir en cas de nécessité. Dans un deuxième sens partant de la salle de
supervision arrivant au coffret de ligne, ce système nous permet d’envoyer des trames de
commande afin de bien gérer le fonctionnement des poteaux en cas de besoin. Le système choisi
est une carte qui doit embarquer un système d’exploitation en temps réel pour la transmission
des données.
I.5. Conclusion
Dans ce premier chapitre, nous avons présenté le contexte général de notre travail. En
effet, nous avons défini le système cible sur lequel nous envisageons travailler : l’éclairage
public intelligent. Nous avons présenté quelques solutions déjà existantes sur le marché, puis
nous avons détaillé le produit que nous avons conçu dans l’objectif de développer un prototype
pouvant intégrer de l’intelligence pour le contrôle et la supervision de l’éclairage public.
10
SmartEclair
Mohamed Hassan DOUKSIEH
CHAPITRE II
MODELISATION CONCEPTUELLE DU SYSTEME
11
SmartEclair
Mohamed Hassan DOUKSIEH
Chapitre II
Modélisation Conceptuelle du Système
II.1. Introduction
Dans ce chapitre, nous allons nous intéresser à la partie conception qui est une étape
primordiale dans le processus de développement en raison des décisions prises dans cette étape
et leurs impacts sur les performances de la solution. Nous allons présenter dans un premier
temps l’aspect conceptuel de notre solution. Ensuite, nous allons représenter l'environnement
matériel et logiciel utilisé. Enfin, nous allons discuter le choix du langage de développement
logiciel.
II.2. Spécifications des besoins
L’objectif principal est de développer et concevoir un système qui soit :
 Efficace : le système doit transmettre les données sans interruptions ou coupures.
 Souple : il doit être facile à manipuler sans connaissance particulière en informatique
ou en électronique.
 Extensible : il doit être conçu de telle sorte que nous pouvons le modifier sans besoin
de reprendre tout le travail.
 Flexible : le système peut être adapté à d'autres cas et situations d'application qui font
partie du « smart grid ».
II.2.1. Spécifications détaillés
La spécification détaillée va être présentée à l’aide d’un organigramme. Pour décrire le
comportement du système, nous choisissons l’organigramme d’activité.
II.2.2. Méthodologies
Pour procéder à la conception de l'application, nous l'avons modélisé en utilisant le
logiciel de création de diagrammes Microsoft Visio.
12
SmartEclair
Mohamed Hassan DOUKSIEH
 Microsoft Visio
C’est un logiciel de diagrammes et de synoptique pour Windows qui fait
partie de la suite bureautique Microsoft Office mais se vend séparément.
capteurs
Candélabre
Candélabre :carte
:carte
arduino
arduino uno
uno
Trame PLC
Transmission
RF
Coffret de
ligne :carte arduino
uno
capteurs
Transmission
Trame RSsérie (USB)
cryptage
Coffret de
ligne :carte
Raspberry Pi
Trame de commande :
paramétrage/test
Transmission filaire ou sans fil
decryptage
Salle de supervision
Trame décodée
Figure 7. Organigramme du projet SmartEclair
Le candélabre est commandé par une carte arduino uno à laquelle sont branchés plusieurs
capteurs :
-
Capteur de mouvement
-
Capteur de vibration
-
Capteur d’ouverture du carpeau
-
Capteur d’ouverture du poteau
-
Capteur de charge
13
SmartEclair
Mohamed Hassan DOUKSIEH
Les valeurs seront par la suite converties en binaire pour former les quatre premiers octets
de la trame qui sera envoyée via un module NRF24l01 vers le coffret de ligne. Ces octets sont
repartis de la façon suivante :
Capteur de charge : 2octets
Adresse Poteau : 1octet
Capteur d’ouverture du carpeau
Capteur d’ouverture du poteau
Capteur de mouvement
: 1octet
Capteur de vibration
Le coffret de ligne embarque à son tour, précisément une carte arduino uno qui est aussi
associée à certains capteurs :
-
Capteur crépusculaire
-
Capteur de charge de ligne
-
Capteur d’ouverture(ou capteur d’intrusion)
-
Tension d’entrée
Les valeurs seront par la suite converties en binaire pour former les onze premiers octets
de la trame qui sera envoyée via la liaison série USB vers la carte raspberry. Ces octets sont
repartis de la façon suivante :
Capteur crépusculaire : 2octet
Capteur de charge de ligne : 2octet
Tension d’entrée : 1octet
Etat de la batterie : 1octet
Valeur de température : 1octet
Valeur d’humidité : 1octet
Valeur de la pollution : 1octet
Adresse de la ligne : 1octet
Capteur d’ouverture de la ligne : 1bit
.Onze octets seront ajoutés aux quatre du candélabre pour avoir enfin 15 octets de données
qui seront par la suite transmis par une liaison série avec la carte Raspberry.
14
SmartEclair
Mohamed Hassan DOUKSIEH
La carte Raspberry se charge par le cryptage de la trame et son envoi vers la salle de
contrôle.
A la réception, un code de décryptage et de codage de données permet la récupération des
valeurs et des informations souhaitées. La figure 8 détaille le schéma synoptique du projet.
Capteur de
mouvement
Capteur de
vibration
Capteur
d’ouverture de
poteau
Capteur
d’ouverture de
couvercle
Capteur de
charge
Coffret de
candélabre
(Arduino)
Capteur
crépusculaire
Capteur de
charge de ligne
Capteur
d’ouverture
Horloge
Astronomique
Valeur de la
Température
Valeur
d’humidité
Coffret de la ligne
(Arduino)
+
Cryptage
Décryptage
Raspberry
Transmission par socket Tcp
Commander
Salle de
Supervisi
on(PC)
Figure 8 Schéma synoptique du projet
15
Superviser
SmartEclair
Mohamed Hassan DOUKSIEH
Dans le sens inverse, quatre octets de contrôle seront cryptés et codés en binaire puis
envoyés vers la carte Raspberry du coffret de ligne.
Début
Salle de Supervision
Saisir la trame de
Commande
Adresse de Candélabre
(1octet)
Adresse de ligne
(1octet)
Degré de luminosité
(1octet)
Coffret de ligne
Coffret de candélabre
Fin
Figure 9. Trame de Commande
16
Paramétrage
(1octet)
SmartEclair
Mohamed Hassan DOUKSIEH
Le système a été divisé en 3 sous systèmes :
Système d'émission : Il a pour rôle d’envoyer la trame de données provenant de la
salle de contrôle ou la carte arduino uno.
Système de transmissions sans fil : il assure la transmission via un module NRF24l01
ou le réseau filaire LAN.
Système Réception : le PC ou le Smartphone destiné à recevoir les données de la trame.
La conception des systèmes est divisée en deux environnements de travail : environnement
matériel et environnement logiciel.
II.3. Modélisation Conceptuelle
La modélisation conceptuelle ou de manière générale, un schéma conceptuel (ou carte
conceptuelle) est une représentation d'un ensemble de concepts reliés sémantiquement entre
eux. Les concepts sont connectés par des lignes fléchées auxquelles sont accolés des mots. La
relation entre les concepts s'appuie sur des termes exprimant celle-ci : « mène à », « prévient
que », « favorise », etc. L'information est organisée de manière arborescente, accessible
uniquement à partir de la racine de cette arborescence. Le défaut principal de cette
représentation provient du fait que le point d'accès à l'information est bien unique, d'où des
problèmes dans la recherche d'informations de la base de données hiérarchique. Nous
utiliserons des diagrammes qui sont dépendants hiérarchiquement et se complètent, de façon à
permettre la modélisation de notre projet tout au long de son cycle de vie. Ces diagrammes sont
appelés « Les diagrammes UML ».
II.3.1. Diagrammes UML
Le langage de modélisation unifié(UML), est un langage de modélisation graphique à
base de pictogrammes conçu pour fournir une méthode normalisée pour visualiser la conception
d'un système. Il est couramment utilisé en développement logiciel et en conception orientée
objet. Comme n’importe quel type de projet, un projet informatique nécessite une phase
d’analyse, suivi d’une étape de conception.
Dans la phase d’analyse, nous cherchons d’abord à bien comprendre et à décrire de façon
précise les besoins des utilisateurs ou des clients. Que souhaitent-ils faire avec le logiciel ?
17
SmartEclair
Mohamed Hassan DOUKSIEH
Quelles fonctionnalités veulent-ils ? Pour quel usage ? Comment l’action devrait-elle
fonctionner ? C’est ce qu’on appelle « l’analyse des besoins ». Après validation de notre
compréhension du besoin, nous imaginons la solution. C’est la partie analyse de la solution.
Dans la phase de conception, nous apportons plus de détails à la solution et nous cherchons à
clarifier des aspects techniques, tels que l’installation des différentes parties logicielles à
installer sur du matériel.
Figure 10. Schéma des phases de diagrammes UML
Pour réaliser ces deux phases dans un projet informatique, nous utilisons des méthodes,
des conventions et des notations. UML fait partie des notations les plus utilisées aujourd’hui.
La notation UML est un langage visuel constitué d’un ensemble de schémas, appelés
des diagrammes, qui donnent chacun une vision différente du projet à traiter. UML nous fournit
donc des diagrammes pour représenter le logiciel à développer : son fonctionnement, sa mise
en route, les actions susceptibles d’être effectuées par le logiciel. La réalisation de ces
diagrammes revient donc à modéliser les besoins du logiciel à développer.
La réalisation d’une application informatique ou d’un ensemble d’applications est basée sur
plusieurs diagrammes. Le langage UML est constitué de plusieurs diagrammes. À ce jour, il
18
SmartEclair
Mohamed Hassan DOUKSIEH
existe 13 diagrammes « officiels ». Ces diagrammes sont tous réalisés à partir du besoin des
utilisateurs et peuvent être regroupés selon les deux aspects suivants :
Les aspects fonctionnels : Qui utilisera le logiciel et pour quoi faire ? Comment les
actions devront-elles se dérouler ? Quelles informations seront utilisées pour cela ?
Les aspects liés à l’architecture : Quels seront les différents composants logiciels à
utiliser (base de données, librairies, interfaces, etc.) ? Sur quel matériel chacun des
composants sera installé ?
UML modélise donc le système logiciel suivant ces deux modes de représentation. Les
différents diagrammes existants sont :
 Diagramme de cas d’utilisation
 Diagramme de classe
 Diagramme de séquence
 Diagramme d’activité
 Diagramme d’objets
 Diagramme de collaboration
 Diagramme d’état-transition
 Diagramme de temps
 Diagramme global d’interaction
 Diagramme de contexte
 Diagramme de paquetage
 Diagramme de déploiement
 Diagramme de structure composite
Pour faire léger et répondre aux besoins de notre projet, nous nous y intéresserons à définir et
à représenter respectivement les trois premiers diagrammes qui sont en effet le diagramme de
cas d’utilisation, le diagramme de classe et le diagramme de séquence.
II.3.1.1. Diagramme cas d’utilisation
Les diagrammes de cas d'utilisation sont des diagrammes UML utilisés pour donner une
vision globale du comportement fonctionnel d'un système logiciel. Ils sont utiles pour des
présentations auprès de la direction ou des acteurs d'un projet, mais pour le développement,
les cas d'utilisation sont plus appropriés.
19
SmartEclair
Mohamed Hassan DOUKSIEH
Un cas d'utilisation représente une unité discrète d'interaction entre un utilisateur et un
système. Il est une unité significative de travail. Dans un diagramme de cas d'utilisation, les
utilisateurs sont appelés acteurs, ils interagissent avec les cas d'utilisation.
Figure 11. Diagramme cas d’utilisation partie utilisateurs
Définitions des acteurs :
-
Technicien : C’est un acteur principal qui peut consulter l’état des poteaux et des
lignes à travers l’application.
-
Ingénieur : C'est un acteur principal qui a le même rôle que le technicien et peut
aussi répondre aux notifications et faire les configurations et les paramétrages
des poteaux.
Définitions des cas d’utilisation :
-
Cas d’utilisation 1 : S’authentifier
o Acteurs : Technicien et Ingénieur
o Objectif : Ce cas d’utilisation permet aux utilisateurs de s’authentifier au
système pour accéder à l’interface de simulation.
Scénario nominal :
20
SmartEclair
Mohamed Hassan DOUKSIEH
Le processus commence lorsque l’utilisateur lance l’application :
1. Le
système lui fournit l’écran de saisie des informations
d’authentification.
2. l'utilisateur saisit son login et son mot de passe et valide.
3. Le système vérifie la validité du login et du mot de passe puis
affiche l’écran principal.
Scénario alternatif :
Au niveau de l’étape 3, si les informations saisies ne sont pas
valides, le système affiche un message d’erreur et affiche de
nouveau l’écran d’authentification.
-
Cas d’utilisation 2 : Consulter les états des poteaux et des lignes
o Acteurs : Technicien et Ingénieur
o
Objectif : Ce cas d’utilisation permet aux utilisateurs de consulter les
états des poteaux et des lignes.
Scénario nominal :
1. Le système lui fournit le menu principal de l’application pour le
contrôle.
2. Le technicien consulte les informations concernant les poteaux et
les lignes.
-
Cas d’utilisation 3 : Consulter les notifications
o Acteurs : Technicien et Ingénieur
o Objectif : Ce cas d’utilisation permet aux acteurs de consulter
uniquement les notifications reçues de la part de lignes reliées aux
différents poteaux du réseau d’éclairage.
Scénario nominal :
1. Le système lui fournit le menu principal de l’application pour le
control
2. Les acteurs consultent le contenu de la notification.
21
SmartEclair
-
Mohamed Hassan DOUKSIEH
Cas d’utilisation 4 : Configuration et paramétrage
o Acteurs : Ingénieur
o Objectif : Ce cas d’utilisation permet uniquement à l’ingénieur de
configurer et paramétrer les différents lignes et poteaux.
Scénario nominal :
1. Le système lui fournit le menu principal de la configuration.
2. L’ingénieur choisit la ligne ou le poteau qu’il veut configurer.
3. Le système lui fournit l’écran de configuration.
-
Cas d’utilisation 5 : Répondre aux notifications
o Acteurs : Ingénieur
o Objectif : Ce cas d’utilisation permet uniquement à l’ingénieur de
pouvoir répondre aux différentes notifications reçues.
Scénario nominal :
1. Le système lui fournit le menu principal de l’application.
2. L'ingénieur consulte les notifications.
3. L'ingénieur répond aux notifications.
Figure 12. Diagramme cas d’utilisation partie ligne
Définitions des acteurs :
-
Ligne : C’est un acteur principale externe qui envoie les trames provenant du
poteau vers la salle de supervision où le serveur et une base de donnée sont
équipés.
22
SmartEclair
Mohamed Hassan DOUKSIEH
Définitions des cas d’utilisation :
-
Acteur : Ligne
-
Objectif : Ce cas d’utilisation permet d’envoyer au système les trames provenant
du poteau.
Scénario nominal :
Envoyer les informations concernant les poteaux et les lignes dans une trame de
données.
II.3.1.2. Diagramme de classes
Le diagramme de classes est un schéma utilisé en génie logiciel pour présenter
les classes et les interfaces des systèmes ainsi que les différentes relations entre celles-ci.
Ce diagramme fait partie de la partie statique d'UML car il fait abstraction des aspects
temporels et dynamiques. Une classe décrit les responsabilités, le comportement et le type d'un
ensemble d'objets. Les éléments de cet ensemble sont les instances de la classe.
Une classe est un ensemble de fonctions et de données (attributs) qui sont liées ensemble par
un champ sémantique. Les classes sont utilisées dans la programmation orientée objet. Elles
permettent de modéliser un programme et ainsi de découper une tâche complexe en plusieurs
petits travaux simples. Les classes peuvent être liées entre elles grâce au mécanisme
d'héritage qui permet de mettre en évidence des relations de parenté. D'autres relations sont
possibles entre des classes, chacune de ces relations est représentée par un arc spécifique dans
le diagramme de classes.
Elles sont finalement instanciées pour créer des objets, une classe est un moule à objet : elle
décrit les caractéristiques des objets, les objets contiennent leurs valeurs propres pour chacune
de ces caractéristiques lorsqu'ils sont instanciés.
23
SmartEclair
Mohamed Hassan DOUKSIEH
Figure 13. Diagramme de classe
La figure 11 représente trois classes principales qui sont : Utilisateur, Ligne et Poteau.
a. La classe Utilisateur hérite deux classes qui sont : Ingénieur et Technicien.
b. L'utilisateur peut consulter l'état d’un ou plusieurs poteaux.
c. La ligne est consultée par un ou plusieurs utilisateurs.
d. L'ingénieur peut commander un ou plusieurs lignes.
e. La ligne est commandée par un ou plusieurs ingénieurs.
f. La ligne est composée de 8 à 20 poteaux.
g. Le poteau appartient à une seule ligne.
II.3.1.3. Diagramme de séquences
Les diagrammes de séquences sont la représentation graphique des interactions entre les
acteurs et le système selon un ordre chronologique dans la formulation Unified Modeling
Language(UML). Le diagramme de séquence permet de montrer les interactions d'objets dans
le cadre d'un scénario d'un Diagramme des cas d'utilisation. Dans un souci de simplification,
nous représentons l'acteur principal à gauche du diagramme, et les acteurs secondaires éventuels
à droite du système. Le but étant de décrire comment se déroulent les actions entre les acteurs
ou objets. La dimension verticale du diagramme représente le temps, permettant de visualiser
24
SmartEclair
Mohamed Hassan DOUKSIEH
l'enchaînement des actions dans le temps, et de spécifier la naissance et la mort d'objets. Les
périodes d'activité des objets sont symbolisées par des rectangles, et ces objets dialoguent par
le biais de messages.
Figure 14. Diagramme de séquence dans sa partie Ingénieur
Figure 15. Diagramme de séquence dans sa partie Technicien
25
SmartEclair
Mohamed Hassan DOUKSIEH
Figure 16. Diagramme de séquence dans sa partie Ligne
II.4. Environnement matériel
II.4.1. Système embarqué
Un système embarqué est un système électronique complexe qui intègre du logiciel et du
matériel conçus ensemble afin de fournir des fonctionnalités données. Il contient généralement
un ou plusieurs microprocesseurs destinés à exécuter un ensemble de programmes définis lors
de la conception et stockés dans des mémoires. Le système matériel et l'application logiciel sont
intimement liés et immergés dans le matériel et ne sont pas aussi facilement discernables
comme dans un environnement de travail classique de type ordinateur de bureau PC (Personal
Computer).
En effet, le système embarqué est subdivisé en deux familles : système d’architecture
existante et système d’architecture spécifique. Le système à architecture spécifique utilise
généralement un microprocesseur combiné avec du matériel et du logiciel pour résoudre un
problème de traitement spécifique. Afin d'optimiser les performances et la fiabilité de ces
26
SmartEclair
Mohamed Hassan DOUKSIEH
systèmes, des circuits numériques programmables comme les circuits FPGA (Field
Programmable Gate Array), comme les circuits dédiés à des applications spécifiques ASIC
(Application Specific Integrated Circuits) ou des modules analogiques sont en plus utilisés.
La famille de système à architecture existante est composée de systèmes dédiés et de
systèmes généralistes. Les systèmes embarqués d’architecture dédiée sont composés de
systèmes embarqués tels que les microcontrôleurs, et de systèmes de traitement numérique de
signal composé essentiellement de DSP ou processeurs de traitement numérique de signal.
La tendance aujourd’hui consiste à faire gagner du temps et réduire le coût de
développement des systèmes embarqués. En effet, plusieurs fabricants ont eu l’idée de
développer des systèmes fonctionnels comme système embarqué prêt à l’emploi. Raspberry Pi,
BeagleBone et Arduino sont de nouveaux nés de la famille des systèmes embarqués. Ces cartes
intègrent un microcontrôleur ou un microprocesseur avec ses accessoires fonctionnels
minimales comme mémoire programme, et mémoire RAM et qui puissent exécuter un système
d’exploitation en Temps réel (RTOS). Les cartes sont généralement équipées de système de
communication USB et Ethernet. Les nouveaux systèmes développés forment une base de
travail indispensable pour le concepteur qui doit aujourd’hui s’occuper de concevoir
l’application soft.
Figure 17. Architecture des systèmes embarqués
27
SmartEclair
Mohamed Hassan DOUKSIEH
II.4.1.1. Carte Arduino
Arduino est un système électronique dont les plans de la carte même sont publiés en
licence libre. La carte est à base d’un microcontrôleur ATMega328 qui peut être programmé
via une interface très simple et gratuite. Les signaux offerts du microcontrôleur sont présents et
disposés dans des connecteurs prêts pour l’interfaçage.
Arduino est donc une carte électronique programmable dite ‘open-source’. Elle est très
utilisée tant que son prix est modeste, son interface est simple et son utilisation est aisée
permettant un prototypage ou une conception de l’application en un temps record.
Figure 18. Une carte Arduino
II.4.1.2. Carte BeagleBone
La carte BeagleBone Black est un mini-ordinateur Linux Open-Source de la taille d'une
carte bancaire. Il est équipé d'un puissant processeur TI Sitara™ AM335x ARM Cortex™ de 1
GHz, d'une interface vidéo HDMI, d'une connexion Ethernet 10/100 et d'une mémoire vive de
512 Mo. Grâce aux nombreuses entrées/sorties et une bonne puissance de calcul pour réaliser
des traitements en temps réel, le BeagleBone Black convient parfaitement pour la technique de
commande et d'automatisation à distance.
28
SmartEclair
Mohamed Hassan DOUKSIEH
Figure 19. Une carte BeagleBone
II.4.1.3. Carte Raspberry
La Raspberry Pi modèle B est un mini-ordinateur à processeur ARM. Cet ordinateur, qui
a la taille d'une carte de crédit, permet l'exécution de plusieurs variantes du système
d'exploitation libre GNU/Linux et des logiciels compatibles. Il est fourni d’une seule carte mère,
sans boîtier, sans alimentation, sans clavier, sans souris ni écran dans l'objectif de diminuer les
coûts et de permettre l'utilisation de matériel de récupération.
Figure 20. Une carte Raspberry
Ce mini-ordinateur est destiné à encourager l'apprentissage de la programmation
informatique. Il contient deux ports USB et un port RJ45 et intègre un puissant processeur ARM
cadencé à 700 MHz et une mémoire vive de 512Mo.
29
SmartEclair
Mohamed Hassan DOUKSIEH
II.4.2. Choix de la plateforme
Il est simple et difficile de choisir entre les plates-formes existantes. Il est simple de
choisir s’il s’agit de voir le coût comme paramètre de sélection par exemple. Mais il est difficile
de choisir si l’application à développer impose des contraintes surtout le temps-réel.
Dans le dernier cas, plusieurs paramètres entrent en jeu : taille mémoire, rapidité du
processeur, système d’exploitation, …
Notre application demande de faire transmettre une trame via un système de transmission
sans fil ou filaire. Ceci nous laisse donc comparer assez rapidement les performances des trois
cartes citées. Dans le tableau 1, on compare les performances des trois cartes présentées.
Lorsque le choix est économique, nous choisissons la carte Arduino. En effet, nous
pouvons exploiter le processeur de la carte Arduino et implanter le code puis transmettre les
informations requises. Et c’est là le problème. C’est-à-dire le problème de la retransmission
vers un système de transmission sans fil. La carte Arduino ne dispose pas de système de
transmission filaire ni sans fil. Il reste possible de câbler une autre carte fille qui permet de faire
la transmission vidéo. Le coût est en hausse.
Lorsqu’il s’agit maintenant de comprendre le fonctionnement d’un système de
transmission, alors la carte Arduino est écartée du fait que ses performances sont assez limitées.
La carte Arduino ne peut pas intégrer un système d’exploitation. C’est plutôt la carte
RaspBerry ou la carte Beagle Bone qui peut exécuter un OS de noyau Linux grâce à un lecteur
intégré de MicroSD. En effet, nous pouvons installer un système d’exploitation communicant
de base comme le Linux. La communication Ethernet est présente sans appel à aucune nouvelle
interface. Les deux cartes citées sont alors équivalentes au niveau fonctionnement : la
RaspBerry et la Beagle Bone. Du point de vu coût nous avons choisi la carte RaspBerry PI
moyennant une légère faiblesse de performances contre la deuxième carte. De toute façon les
performances de la RaspBerry sont largement suffisantes pour notre cas d’application.
30
SmartEclair
Mohamed Hassan DOUKSIEH
Tableau 1. Caractéristiques techniques des cartes
Arduino
Interface
Raspberry
Beagle Bone
-14 broches d'E/S + 6 entrées
-GPIO,
- GPIO
analogiques
-USB
- USB
- bus série, I2C et SPI
-RJ45
- RJ45
-micro SD
- micro SD
- USART, SPI, I2C
,HDMI
- CSI (camera serial
interface)
- DSI (display serial
interface).
Processeur CPU
Microprocesseur :
ATMega328
ARM1176JZF –S
AM3359AZCZ100
Cortex A8 @ 1GHz
Carte connexion
réseau
Non
10/100M
10/100M
Carte Graphique
GPU (Graphic
Processing Unit)
Non
VideoCore IV
PowerVR SGX530
Mémoire flash
32 kB
32 kB
2G
Mémoire vive
2KB
512Mo
512Mo
Résolution vidéo
Non
1080p
1440* 900 p
II.5. Transmission des trames de données
Dans un sens venant du candélabre arrivant à la salle de contrôle, une trame retransmise
d’une façon cyclique et au fil de l’eau sur un réseau filaire LAN ou sans fil pour être décodée
et supervisée, dans le sens inverse une trame de commande sera envoyée et suivant la demande
du contrôleur, elle sera soit de test, soit de paramétrage.
II.5.1. Réseau LAN
LAN signifie Local Area Network (en français Réseau Local). Il s'agit d'un ensemble
d'ordinateurs appartenant à une même organisation et reliés entre eux dans une petite aire
géographique par un réseau, souvent à l'aide d'une même technologie (la plus répandue étant
Ethernet).
31
SmartEclair
Mohamed Hassan DOUKSIEH
Un réseau local représente un réseau sous sa forme la plus simple. La vitesse de transfert
de données d'un réseau local peut s'échelonner entre 10 Mbps (pour un réseau ethernet par
exemple) et 1 Gbps (en FDDI ou Gigabit Ethernet par exemple). La taille d'un réseau local peut
atteindre jusqu'à 100 voire 1000 utilisateurs.
En élargissant le contexte de la définition aux services qu’apporte le réseau local, il est
possible de distinguer deux modes de fonctionnement :

Sans infrastructure : dans un environnement d'« point à point » (en anglais peer to
peer, noté P2P), dans lequel la communication s'établit d'ordinateur à ordinateur
sans ordinateur central et où chaque ordinateur possède un rôle similaire.

Avec infrastructure : dans un environnement « client/serveur », dans lequel un
ordinateur central fournit des services réseau aux utilisateurs.
II.5.2. Zigbee
C’est un protocole basé sur la technologie IEEE 802.15.4. Il est créé par Zigbee alliance.
Il sert à rendre un service de contrôle à distance d’un équipement électrique qui permet la
communication de petites radios, consommation réduite, dans des réseaux personnels. Il
converge de débit entre 20 et 25 kbit/s. Le principal avantage de cette technologie est sa très
faible consommation.
Celle-ci permet à Zigbee d'être aujourd'hui présente dans les environnements embarqués.
Protocole de haut niveau récent (son apparition date des années 2000) en plein essor, Zigbee
est également de plus en plus présente dans les contrôles industriels ou dans certaines
applications médicales. On peut enfin retrouver Zigbee dans de nombreux capteurs et
télécommandes à l'usage plus quotidien.

Le principal inconvénient c’est que le module ZigBee est un module de faible
débit de données.
32
SmartEclair
Mohamed Hassan DOUKSIEH
II.5.3. Wi-Fi
Le Wi-Fi (Wireless Fidelity) est une certification décernée par la Wifi Alliance aux
produits conformes aux standards 802.11 de l'IEEE. La technologie Wi-Fi permet de créer un
réseau informatique sans fils, dans le but d’étendre le réseau Ethernet via les ondes radios sur
une zone géographiquement distante. Le Wifi permet à des équipements informatiques de se
connecter et d'échanger des données par voie radio, Il possède des différentes normes : 802.11b,
802.11g, 802.11a; 802.11n (MIMO).
 Le WiFi supprime les contraintes de câblage
 La portée est assez élevée
 Une forte consommation d’énergie
II.5.4. Module NRF24l01
Le chipset NRF24L01+ permet d’offrir à un montage
électronique une couche de communication radio accessible via une
interface SPI standard. Ces modules sont des transceiver, c’est à dire
qu’’ils peuvent émettre et recevoir en radio fréquence de 2.4 GHz.
Utilisant cette bande, ce chipset se retrouve dans de nombreuses
applications embarquées. Il équipe des capteurs d’équipements de
sports (cardiofréquencemètres...), des jouets radio-guidés, des
télécommandes multimédia (lecteurs Blu-ray...), des claviers et souris
sans fils. On va tester leur utilisation sur 2 Arduino Uno. Les
caractéristiques techniques sont les suivantes :
Figure 21. Module ÉmetteurRécepteur 2.4G nRF24L01
 Interface Arduino via bus SPI (8 Mhz), autorisant le 5v.
 Alimentation 3.3v du module.
 Bande radio fréquence 2.4 GHz et possibilité de 126 canaux.
 Transmission / Réception à 1 ou 2 Mb/s.
 Puissance de transmission programmable : 0, –6, –12 ou –18 dBm.
 Consommation en émission à 0 dBm de 11.3 mA.
 Consommation en réception à 2 Mb/s de 12.3 mA.
33
SmartEclair
Mohamed Hassan DOUKSIEH
Tableau 2. Caractéristiques techniques des différents technologies
Zigbee
Débit
250Kb/s
Wifi
802.11b
802.11g
802.11n
11Mbit/s
54Mbit/s
400 Mbit/s
NRF24L01
Remarque
1 à 2 Mbit/s
Débit très élevé implique
généralement une meilleure
transmission.
Portée
100m
100m
100m
100m
100 m
La portée désigne la distance
maximale que peut atteindre le
réseau.
Bande de
2,4 GHz
2,4GHz
2,4GHZ
2,4GHZ
fréquence
2.5GHZ à
Une bande de fréquence définit
126 canaux
une plage de fréquences des
ondes radio envoyé par le réseau.
Passe
868 MHz
2,4 GHz
2.5GHZ
bande
La vitesse de transmission est liée
à
la
bande
principalement
passante
à
la
vitesse
sortante.
II.6. Protocole de Transmission
Les réseaux Token Ring et IEEE 802.5 sont les principaux exemples de réseaux de
passage de jeton en réseaux. Ces réseaux font circuler une petite trame, appelée jeton, autour
du réseau. La possession du jeton confère le droit de transmettre des données. Si le nœud qui
reçoit un jeton n'a aucune information à transmettre, il passe le jeton à la station d'extrémité
suivante. Chaque station peut conserver le jeton pour un délai maximal qui varie selon la
technologie mise en place.
Lorsqu'un jeton parvient à un poteau qui a des informations à transmettre, il le saisit et
en altère un bit. Le jeton se transforme en une séquence de début de trame. Ensuite, la station
ajoute au jeton les informations à transmettre et envoie ces données à la prochaine station sur
l'anneau. Il n'y a aucun jeton sur le réseau pendant que la trame d'information circule sur
l'anneau, à moins que l'anneau n'ait la capacité d'effectuer des libérations anticipées du jeton.
Les autres stations de l'anneau ne peuvent pas transmettre pendant ce temps. Elles doivent
attendre que le jeton soit disponible. Aucune collision ne survient dans les réseaux Token Ring.
34
et
SmartEclair
Mohamed Hassan DOUKSIEH
Si le réseau possède des capacités de libération anticipée du jeton, un nouveau jeton peut être
libéré une fois la transmission de la trame terminée.
La trame d'information circule autour l'anneau jusqu'à ce qu'elle atteigne la station de
destination prévue. Cette station copie alors les informations dans le but de les traiter. La trame
continue à circuler autour de l'anneau jusqu'à ce qu'elle atteigne la station émettrice où elle
est alors supprimée. La station émettrice peut vérifier si la trame a été reçue et copiée par la
station de destination.
Contrairement aux réseaux CSMA/CD, du type Ethernet, les réseaux de passage du jeton sont
déterministes. Cela signifie qu’on peut calculer la période maximale qui s'écoulera avant qu'une
station d'extrémité soit en mesure de transmettre. Cette caractéristique, ainsi que plusieurs
fonctions de fiabilité, font des réseaux Token Ring une infrastructure parfaitement adaptée aux
applications où tout retard doit être prévisible et où la robustesse du réseau est vitale.
II.6.1. Algorithme de fonctionnement
1. La station qui veut émettre doit attendre que le jeton lui parvienne
2. La station vérifie si le jeton n'est pas libre, il le laisse sans le modifier.
3. Si le jeton n'est pas libre, il le laisse.
4. Si le jeton est libre, la station le saisit.
5. Cette station émet une ou plusieurs trames d'information.
6. Le jeton en circulation dans le réseau sera marqué occupé.
7. Les stations destinatrices ne peuvent que recevoir le message.
8. Elles contrôlent si le message est arrivé dans les bonnes conditions ou pas.
35
SmartEclair
Mohamed Hassan DOUKSIEH
9. Si la réception est bonne, la station destinataire renvoie sur le réseau le même message en
ajoutant deux autres informations qui sont l'adresse et l'acquisition (OK, la configuration de
la bonne qualité de réception)
10. La trame d'information et le jeton vont venir sur la station émettrice.
11. La station émettrice marquera jeton libre si la transmission a été bonne
II.6.2. Avantages

C'est topologie active : chaque station régénère le signal avant de passer le jeton ou
la trame à la suivante.

Facilité d'ajouter ou de retirer une station du réseau.
II.7. Conclusion
Dans ce chapitre, nous avons modélisé le système conceptuelle générale de notre
application, nous avons précisé le rôle de chaque acteur et les objectifs des différents scenario
puis nous avons défini les systèmes embarqués et avons fait le choix optimal pour notre
application : une carte Raspberry qui embarque un système d’exploitation de noyau Linuxtemps réel pour placer un serveur de transmission des données.
La carte choisie ne demande pas une forte consommation de l’énergie électrique et ne
gêne pas l’autonomie normale du système.
Nous avons ensuite présenté une modélisation de l'application. Cette modélisation nous a
permis de dégager le modèle logique des données qui sera exploité lors de l’implémentation de
l'application par la suite nous avons spécifié la conception logicielle et matérielle qui sera
détaillée dans le chapitre suivant.
36
SmartEclair
Mohamed Hassan DOUKSIEH
CHAPITRE III
ENVIRONNEMENT LOGICIEL ET REALISATION
PRATIQUE
37
SmartEclair
Mohamed Hassan DOUKSIEH
Chapitre III
Environnement logiciel et Réalisation pratique
III.1. Introduction
Dans ce chapitre nous allons décrire la présentation détaillée des outils et des logiciels
que nous avons utilisés pour le développement et la réalisation de cette application ainsi que le
modèle logique et physique de la base de données utilisées. L’objectif de la partie soft consiste
à superviser le réseau d’éclairage public et de commander à distance en cas de nécessité quelque
chose qui est indispensable. Notre tâche était de créer une application web dynamique sous
éclipse équipée d’un serveur virtuel et synchronisée en temps réel avec une base de données No
SQL. Un service de cartographique du réseau d’éclairage public permet l’affichage sous forme
des marqueurs tous les poteaux et les lignes enregistrés dans la base de données ainsi que leurs
états au fur et à mesure de leurs modifications.
III.2. Environnement de réalisation
III.2.1. Application WEB dynamique
Une application web est une application manipulable grâce à un navigateur web. De la
même manière que les sites web, une application web est généralement placée sur un serveur
et se manipule en actionnant des widgets à l'aide d'un navigateur web, via un réseau
informatique. Les messageries web, les systèmes de gestion de contenu, les wikis et les blogs
sont des applications web. Les moteurs de recherches, les logiciels de commerce électronique,
les jeux en ligne, les logiciels de forum peuvent être sous forme d'application web.
Les applications web font partie de l'évolution des usages et de la technologie du Web
appelée Web 2.0.
Dans la technologie client-serveur, utilisée pour le World Wide Web, le navigateur Web
envoie au serveur des requêtes relatives à des pages Web. Le serveur répond aux demandes en
envoyant les pages au navigateur Web. Le navigateur affiche alors les pages à l'utilisateur.
Les applications Web utilisent cette technique pour mettre en œuvre leur interface graphique.
38
SmartEclair
Mohamed Hassan DOUKSIEH
Celle-ci est composée de pages créées de toutes pièces par le logiciel lors de chaque
requête. Le logiciel utilisé en occurrence pour notre application est l’éclipse.
Chaque hyperlien contenu dans la page provoque l'envoi d'une nouvelle requête, qui donnera
en résultat une nouvelle page. À la différence d'un web statique où les pages sont des fichiers
préalablement enregistrés.
III.2.2. Eclipse
Eclipse est
un environnement
de
développement
intégré (IDE)
utilisé
dans
la programmation informatique . Il contient une espace de travail et une extensible plug
in système de personnalisation de l'environnement. Eclipse est écrite en Java et de son
utilisation principale est pour le développement d' applications Java, mais il peut également être
utilisé pour développer des applications dans d' autres langages de programmation par
l’utilisation de plugins, including: C ,C++ , JavaScript , PHP , Prolog , Python, Ruby.
Les environnements de développement comprennent les outils de développement Eclipse Java
(JDT) pour Java.
Notre application Web comportera entre autre plusieurs classes java qui font créer les éléments
structurales de notre application voire « les poteaux » et « les lignes » ainsi que d’autres classes
java qui font permettre de créer les formats d’enregistrement de ces éléments dans la base de
données No SQL. Cette application comportera aussi des pages JSP qui font être affichés au
côté client.
III.2.3. Base de donnée No SQL
En quelques années, le volume des données brassées par les entreprises a
considérablement augmenté. Émanant de sources diverses (transactions, comportements,
réseaux sociaux, géolocalisation...), elles sont souvent structurées autour d'un seul point
d'entrée, la clé, et susceptibles de croître très rapidement. Autant de caractéristiques qui les
rendent très difficiles à traiter avec des outils classiques de gestion de données. Par ailleurs,
certains cas d'utilisation exigeant des temps d'accès très courts défient également les capacités
des moteurs transactionnels. C'est pour répondre à ces différentes problématiques que sont nées
les bases de données NoSQL (Not Only SQL), sous l'impulsion de grands acteurs du Web
comme Facebook ou Google, qui les avaient développées à l'origine pour leurs besoins propres.
39
SmartEclair
Mohamed Hassan DOUKSIEH
Grâce à leur flexibilité et leur souplesse, ces bases non relationnelles permettent en effet de
gérer de gros volumes de données hétérogènes sur un ensemble de serveurs de stockage
distribués, avec une capacité de montée en charge très élevée. Elles peuvent aussi fournir des
accès de paires clé-valeur en mémoire avec une très grande célérité. Réservées jusqu'à peu à
une minorité, elles tendent aujourd'hui à se poser en complément du modèle relationnel qui
dominait le marché depuis plusieurs années. Les caractéristiques principales des SGBD NoSQL
sont de permettre la manipulation de volumes de données importants et de permettre une
scalabilité horizontale. Ces systèmes ne respectent en général pas les standards des SGBD
relationnels, mais il ne s'agit pas à proprement parler d'une propriété recherchée mais plus d'une
concession permettant des traitements plus rapides pour certains types d'application. De nos
jours plusieurs types de ces bases de données existent.
III.2.3.1. MongoDB
MongoDB est
un système
de
gestion
de
base
de
données
orientée
documents, répartissable sur un nombre quelconque d'ordinateurs et ne nécessitant pas de
schéma prédéfini des données. Il est écrit en C++. Le serveur et les outils sont distribués
sous licence AGPL, les pilotes sous licence Apache et la documentation sous licence Creative
Commons. Il fait partie de la mouvance NoSQL. MongoDB permet de manipuler des objets
structurés au format BSON (JSON binaire), sans schéma prédéterminé. En d'autres termes, des
clés peuvent être ajoutées à tout moment "à la volée", sans reconfiguration de la base.
Les
données
prennent
la
forme
de documents enregistrés
eux-mêmes
dans
des collections, une collection contenant un nombre quelconque de documents. Les collections
sont comparables aux tables, et les documents aux enregistrements des bases de données
relationnelles. Contrairement aux bases de données relationnelles, les champs d'un
enregistrement sont libres et peuvent être différents d'un enregistrement à un autre au sein d'une
même collection.
Le seul champ commun et obligatoire est le champ de clé principale ("id"). Par ailleurs,
MongoDB ne permet ni les requêtes très complexes standardisées, ni les JOIN, mais permet de
programmer des requêtes spécifiques en JavaScript.
Par la suite, le choix de la base de donnés pour notre projet s’impose sur MongoDB.
40
SmartEclair
Mohamed Hassan DOUKSIEH
III.2.3.2. Installation de MongoDB
Pour avoir MongoDB, il suffit à se rendre à leur site officiel ‘https://www.mongodb.com/’
pour pouvoir y télécharger. Une fois téléchargé, il suffit de le dézipper pour pouvoir installer
sur l’ordinateur.
Figure 22. MongoDB database
III.2.3.3. Fonctionnement de MongoDB
Pour pouvoir manipuler MongoDB, il faudrait comprendre catégoriquement son
fonctionnement. En fait les données prennent la forme de documents enregistrés eux-mêmes
dans des collections. Une collection contient un nombre quelconque de documents. Les
collections sont comparables aux tables, et les documents aux enregistrements des bases de
données relationnelles. Contrairement aux bases de données relationnelles, les champs d'un
enregistrement sont libres et peuvent être différents d'un enregistrement à un autre au sein d'une
même collection. Le seul champ commun et obligatoire est le champ de clé principale ("id").
Par ailleurs, MongoDB ne permet ni les requêtes très complexes standardisées, ni les JOIN mais
permet de programmer des requêtes spécifiques en JavaScript.
Exemple :
41
SmartEclair
Mohamed Hassan DOUKSIEH
Tableau 3. Données des mises en page
ID
Nom
Prénom
Âge
7
DUMOND
Jean
43
8
PELLERIN
Franck
NULL
Le code correspondant dans le fichier de stockage d'une table (par exemple csv) d'un tableur
est :
ID,Nom,Prénom,Âge
7,DUMOND,Jean,43
8,PELLERIN,Franck
On remarque qu'un champ peut être manquant (NULL), mais que chaque ligne comporte le
même nombre de champs.
Différemment, pour la même mise en page, une collection en MongoDB peut présenter
des champs différents à chaque ligne et même imbriquer plusieurs champs dans une ligne :
{
"_id": ObjectId("4efa8d2b7d284dad101e4bc7"),
"Nom": "DUMOND",
"Prénom": "Jean",
"Âge": 43
},
{
"_id": ObjectId("4efa8d2b7d284dad101e4bc8"),
"Nom": "PELLERIN",
"Prénom": "Franck",
"Adresse": "1 chemin des Loges",
"Ville": "VERSAILLES"
},
42
SmartEclair
Mohamed Hassan DOUKSIEH
Ici, on peut voir que le premier document contient respectivement ‘Nom’, ‘Prénom’ et ‘Âge’
de cet object du document. Alors que le deuxième document ajoute ‘Adresse’ et ‘Ville’ et
supprime ‘Age’ de cet object.
Pour voir cela de plus près, nous allons créer une base de données dans notre propre
ordinateur. Cette base de donnée s’appellera par la suite Pfe. Dans cette base de données nous
stockerons de diverses collections qui contiendront à leurs tours des divers documents. Ces
collections sont :
Une collection Poteaux : qui stockera tous les poteaux qui seront créés par la suite
Une collection Lignes : qui stockera également les lignes où les différents poteaux créés
précédemment appartiennent. Notons ici, qu’aucun poteau ne pourra appartenir à deux
lignes différentes, et jamais deux poteaux de même identifiant (adresse) pourront
appartenir à la même ligne. Tandis qu’une ligne peut avoir plusieurs poteaux.
Une collection User : qui stockera les logins et les mots de passes des utilisateurs qui
ont le droit de se connecter pour envoyer, lire une notification ou même configurer
certaines paramètres.
Pour lancer MongoDB, il suffit d’exécuter cette ligne de commande dans l’invite de
commandes de l’ordinateur :
 mongod
Figure 23. Démarrage du MongoDB
43
SmartEclair
Mohamed Hassan DOUKSIEH
D’après cette figure, on peut remarquer qu’il y’a une attente de connexion sur le port
27017. Pour pouvoir s’y connecter dans la base de données, il faudra ouvrir une autre invite de
commande et saisir une seconde requête qui va nous permettre de lire ou d’écrire directement
sur MongoDB.
 mongo
Figure 24. Connexion au MongoDB
Pour voir les collections qui existent, il suffit d’exécuter quelques lignes de code qui vont nous
afficher d’abord les bases de données déjà existantes, de choisir notre propre base de donnée
Pfe et enfin d’afficher les différents collections qui le compose.
 Show dbs : Pour afficher la liste de bases de données existantes
 Use Pfe : Pour choisir notre base de données en question
 Show collections : Pour afficher la liste des collections du Pfe
44
SmartEclair
Mohamed Hassan DOUKSIEH
Figure 25. Contenu du MongoDB
Les documents qui sont à l’intérieur de chaque collection sont :
-
La collection Lignes contient les adresses de toutes les lignes ainsi que leurs identifiants.
Pour consulter celle-ci il suffit de taper :
 db.Lignes.find ()
Figure 26. Contenu de la collection Lignes
Dans cette collection, on a par exemple 3 lignes qui ont les adresses suivantes : ‘1’, ‘Tunis’, et
‘001’. Chacune de ces lignes sont différents par les ‘ObjectId’ même s’ils ont les même
adresses.
-
La collection Poteaux contient les adresses de tous les poteaux, leurs identifiants, leurs
coordonnées GPS (Latitude et Longitude) ainsi que les données que chaque poteau a
45
SmartEclair
Mohamed Hassan DOUKSIEH
envoyé vers la salle de supervision qui sont : la luminosité, la valeur de capteur de
présence, de température, de capteur de vibration, de charge de la ligne, de tension
d’entrée, d’ouverture de couvercle, d’ouverture de poteau etc. Pour consulter celle-ci il
suffit de taper :
 db.Poteaux.find ()
Figure 27. Contenu de la collection poteau
La collection User contient les logins et les mots de passe de tous les utilisateurs qui sont
accessibles à l’interface ainsi que leurs identifiants. Pour consulter celle-ci il suffit de taper :
 db.User.find ()
Figure 28. Contenu de la collection User
46
SmartEclair
Mohamed Hassan DOUKSIEH
Il est clair que la manipulation des lignes de commandes n’est pas si simples, c’est
pourquoi nous avons développé une interface web synchronisée avec la base de données et qui
nous facilitera cette tache de créer, de lire, de modifier ou supprimer les documents de chacune
de ces collections définies précédemment.
III.2.4. Apache Tomcat
Apache Tomcat est un conteneur web libre de servlets et JSP Java EE. Issu du projet Jakarta,
c'est un des nombreux projets de l’Apache Software Foundation. Il implémente les
spécifications des servlets et des JSP du Java Community Process2, est paramétrable par des
fichiers XML et des propriétés, et inclut des outils pour la configuration et la gestion. Il
comporte également un serveur HTTP.
Tomcat est un serveur HTTP à part entière3. De plus, il gère les servlets et les JSP (par un
compilateur Jasper compilant les pages JSP pour en faire des servlets). Tomcat a été écrit
en langage Java. Il peut donc s'exécuter via la machine virtuelle Java sur n'importe quel système
d'exploitation la supportant.
III.3. Interface Web
Une interface web est une interface homme-machine constituée de pages web et
permettant dans certains cas d'utiliser des applications web. Un client ou plus populairement
un navigateur
web tel
que Firefox, Safari, Google
Chrome, Internet
Explorer ou
bien Opera étant installable et généralement présent sur tout ordinateur moderne, une interface
web est visualisable à partir de n'importe quel dispositif possédant un navigateur web
(ordinateur, tablette ou smartphone, etc.). Elle est aussi potentiellement accessible du monde
entier grâce à l'Internet.
Pour choisir le contenu de la page du navigateur il faut entrer une URL. Notre URL en question
est : ‘localhost :8080/aWeb/’
47
SmartEclair
Mohamed Hassan DOUKSIEH
Figure 29. Home de notre interface
III.3.1. Interface d’authentification
Cette première capture présente l'interface d'authentification dans laquelle on doit choisir
le nom d'utilisateur et entrer le mot de passe pour commencer à utiliser notre application. Cette
interface constitue la fenêtre d'accueil de notre application. A travers cette fenêtre l'utilisateur
s'authentifie pour utiliser l'application. Cette étape met en valeur l'aspect sécurité : nous
vérifions la disponibilité du compte utilisateur et nous lui attribuons les droits et privilèges
nécessaires.
Figure 30. Interface d’authentification
48
SmartEclair
Mohamed Hassan DOUKSIEH
Dans notre application nous avons un utilisateur par défaut qui est l’administrateur. Par
conséquent, nous avons prévu un login et un mot de passe qui sont déjà ajoutées dans la base
des données.
Une fois l'administrateur est authentifié, il aura accès aux différentes utilisations de
l'application SmartEclair et pourra gérer tous les éléments de la base de données. Il possède
tous les droits d'accès sur toutes les tables de la base.
Un login ou un mot de passe erroné génère l’échec de l’authentification et l’accès à
l’application en question.
Figure 31. Interface d’authentification
III.3.2. Interface web ligne
Une ligne peut désigner une route ou un chemin, ou tout simplement une droite où sont
alignés plusieurs poteaux. Ces poteaux sont reliés d’une façon permanente à un coffret ligne.
Un coffret ligne est équipé d’une carte arduino qui sert à ajouter d’autres capteurs qui nous
facilitera à communiquer à l’ensemble des poteaux comme par le fait qu’on voudrait allumer
tous les poteaux d’une seule fois au lieu de le faire une par une. Un coffret ligne est équipée
aussi d’une carte raspberry qui s’en chargera à transmettre les données de divers poteaux à la
salle de supervision après les avoir cryptés. L’ajout, la modification et la suppression d’une
ligne se fera d’ailleurs à travers cette interface.
49
SmartEclair
Mohamed Hassan DOUKSIEH
Figure 32. Interface web ligne
III.3.3. Interface web poteau
Un poteau ou un candélabre est assigné par une adresse (juste un simple identifiant) qui
le différenciera des autres poteaux. On sera obligé de fournir pour chaque poteau ses
coordonnées GPS (Latitude et Longitude) ainsi l’adresse de ligne auquel il appartient. Les
différents états (luminosités) des poteaux seront différenciés par des couleurs une fois mis dans
le service de cartographie. L’ajout, la modification et la suppression d’un poteau se fera
d’ailleurs à travers cette interface :
Figure 33. Interface web poteau
50
SmartEclair
Mohamed Hassan DOUKSIEH
III.4. Service de cartographie
III.4.1. Google Maps
Google Maps est un service gratuit de cartographie en ligne. Le service a été créé
par Google. Lancé en 2004 aux États-Unis et au Canada et en 2005 en Grande-Bretagne (sous
le nom de Google Local).
C'est un service qui permet, à partir de l'échelle d'un pays, de zoomer jusqu'à l'échelle d'une rue.
Des prises de vue fixes montrant les détails de certaines rues sont également accessibles grâce
à une passerelle vers Google Street View.
Deux types de vue sont disponibles dans Google Maps : une vue en plan classique, avec nom
des rues, quartier, villes et une vue en image satellite, qui couvre aujourd'hui le monde entier.
Vis-à-vis de notre projet, nous centrerons notre carte map sur la ville de Sfax. Dans cette carte
l’ajout des poteaux et des lignes sont automatiques et immédiates. Tous les poteaux qui se
trouvent dans le monde réel seront ajoutés directement dans la base de donnée, puis Google
map se connectera à notre base de donnée pour extraire ces poteaux avec leurs coordonnées
GPS et de les mettre sous formes des marqueurs colorés suivants leurs luminosités dans Google
map.
Figure 34. Google Maps
51
SmartEclair
Mohamed Hassan DOUKSIEH
Convention
Un marqueur coloré en rouge signifie que le poteau est à 100% allumé. Alors qu’un
marqueur coloré orange ou jaune va dire respectivement que les poteaux sont à 75% ou 50 %
allumé. Un poteau éteint est teinté en bleu.
Pour savoir les détails de chaque poteau, ça serait vraiment trop pénible de vérifier chaque
fois ces détails à la base de données devant une invite de commande. Pour alléger l’affichage
des infos de chaque poteau, une bulle d’infowindow s’affiche automatiquement après avoir
cliqué sur le marqueur désigné. Cette dernière représentera en quelque sorte la fiche de chaque
poteau.
Figure 35. Fiche d’un poteau
A partir de cette infowindow, on peut lire facilement tous les détails et commander en
même temps. Pour commander, ils existent en effet deux boutons intitulés « Bouton de
contrôle » et « Bouton de statistique ». Le bouton de contrôle permet de commander à distance
les poteaux en envoyant une trame de quatre octet. Cette trame est composée comme suit :
 Adresse du Ligne : pour spécifier quel ligne s’agit-il.
 Adresse du Poteau : pour spécifier quel poteau de cette ligne faut-il commander,
vu qu’il y’a plusieurs poteaux sous une ligne.
 Luminosité : pour diminuer ou augmenter la luminosité du poteau désigné
52
SmartEclair
Mohamed Hassan DOUKSIEH
 Un octet de paramétrage en cas de panne.
Figure 36. Interface de Commande
Le bouton statistique permet de nous afficher la consommation journalière ou mensuelle du
poteau considéré.
Figure 37. Page de Statistique
53
SmartEclair
Mohamed Hassan DOUKSIEH
L’abscisse correspond au temps (mois ou jours), alors que les différentes valeurs correspondent
aux ordonnés.
III.5. Conclusion
Dans ce chapitre, nous avons présenté l’environnement du travail et les différents outils
de développement utilisés pour la réalisation de notre application.
Nous avons ensuite exposé les résultats de développement à l’aide des aperçus d’écran.
Nous avons ainsi accompli la tâche qui nous a été confié et pouvons ainsi entamer la phase de
réassemblage et de test de tout le prototype du projet SmartEclair composé du coffret du poteau,
le coffret de la ligne et de la salle de supervision.
54
SmartEclair
Mohamed Hassan DOUKSIEH
Conclusion générale et perspectives
Notre projet fait partie du « Smart City » et tend à rendre l’éclairage public intelligent
dans le but de minimiser la consommation et permettre un véritable gain de ressources et d’un
suivi permanent.
Plusieurs contraintes limitent le choix de la solution. Il a fallu chercher un système
électronique qui reçoit une trame bidirectionnelle donc nécessite une bande passante large et
doit fonctionner en temps réel. Ceci ne devait pas avoir un impact important sur la
consommation de l’énergie électrique à bord de l’équipement, en plus de la taille qui influe sur
l’arrangement du coffret de ligne.
Notre travail consistait donc à implanter un système embarqué utile pour transmettre une
trame venant d’un coffret de candélabre vers une salle de supervision d’une part, et recevoir
une trame de commande reçue de la salle de contrôle et la transmettre vers les coffrets du
candélabre d’autre part. On a utilisé une carte Raspberry, une carte Arduino et des modules de
transmission sans fils NRF24L01. On a réussi à trouver une solution qu’on espère optimale et
efficace pour ce problème.
Une fois la trame arrivée à la salle de supervision, un serveur écoute et récolte les trames.
Ces trames de 15 octets sont enregistrés ensuite dans la base de donnée selon les adresses lignes
et poteaux, puis affichées sur l’écran de visualisation du Google Maps sous forme des
marqueurs selon leurs états actuels et leurs coordonnées GPS.
A partir de cette interface, l’administrateur pourra envoyer ou recevoir les différentes
mises à jour envoyées ou reçues des poteaux. L’administrateur pourra aussi superviser et
consulter les statistiques de chaque poteau et de chaque zone.
Dans la suite du travail, nous proposons d’intégrer une caméra de surveillance à base de
Raspberry sur le réseau d’éclairage public sans avoir besoin d’ajouter d’autres équipements, on
55
SmartEclair
Mohamed Hassan DOUKSIEH
propose également d’exploiter les énergies renouvelables pour mieux économiser la
consommation d’énergie.
Une interface de visualisation sous une version Android grâce aux nouvelles technologies
récentes notamment les smartphones et les tablettes enrichiront aussi le projet pour une
meilleure supervision et un confort d’utilisation.
56
SmartEclair
Mohamed Hassan DOUKSIEH
Bibliographies
Sites web
 http://www.technologuepro.com/, consulté le 15/04/2016
 http://arduino.org/, consulté le 15/04/2016
 http://beagleboard.org/, consulté le 14/04/2016
 https://www.raspberrypi.org/, consulté le 14/04/2016
 http://www.zigbee.org/, consulté le 14/04/2016
 http://www.wi-fi.org/, consulté le 14/04/2016
 Nen-Fu Huang, Yao-Tzung Wang, ‘ Wireless LAN Emulation’,Mars 2007, consulté
le 14/04/2016
 https://www.mongodb.com/, consulté le 16/03/2016
 http://tomcat.apache.org/, consulté le 05/03/2016
 https://eclipse.org/downloads/, consulté le 12/02/2016
 https://openclassrooms.com/courses/creez-votre-application-web-avec-java-ee,
consulté le 12/02/2016
 https://developers.google.com/maps/?hl=fr, consulté le 28/02/2016
Livres
 les cahiers du programmeur uml2 - modéliser une application web, Pascal ROQUES;
page : 42, Octobre 2008.
 Java programming for applications web Developers, Burry BURD; ISDN: NJ 07030-5774
2014.
Cours
 Cours “Atelier Programmation Object Orienté et JAVA” de Mr. Tarak CHAARI
 Cours « Modélisation conceptuelle d’UML » de Mr. Achraf MATIBAA
Mémoires
 Mémoire d’ingenieur GEC systèmes embarqués : Meriam Ajmi, Enet’Com Sfax, juin
2015.
57
SmartEclair
Mohamed Hassan DOUKSIEH
58
SmartEclair
Mohamed Hassan DOUKSIEH
59
Téléchargement