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