{"id":951,"date":"2019-06-24T14:59:31","date_gmt":"2019-06-24T13:59:31","guid":{"rendered":"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/?p=951"},"modified":"2019-06-24T18:18:19","modified_gmt":"2019-06-24T17:18:19","slug":"controle-dacces-salle-214","status":"publish","type":"post","link":"https:\/\/blog.univ-angers.fr\/polytech_2A\/2019\/06\/24\/controle-dacces-salle-214\/","title":{"rendered":"Contr\u00f4le d&#8217;acc\u00e8s salle 214"},"content":{"rendered":"<p>Bonjour,<br \/>\nJe suis \u00e9tudiant en deuxi\u00e8me ann\u00e9e de cycle pr\u00e9paratoire \u00e0 Polytech Angers. J&#8217;ai choisi de travailler sur le projet de contr\u00f4le d&#8217;acc\u00e8s \u00e0 la salle 214.<\/p>\n<h2>Objectif du projet<\/h2>\n<p>La salle 214 est une salle de Polytech Angers d\u00e9di\u00e9e aux projets. Cette salle contient beaucoup de mat\u00e9riel. Il est donc important de laisser la porte de cette salle ferm\u00e9e lorsque personne n&#8217;y travaille.<br \/>\nActuellement, les \u00e9tudiants qui veulent acc\u00e9der \u00e0 la salle 214 doivent demander la cl\u00e9 \u00e0 l\u2019accueil en \u00e9change de leur carte \u00e9tudiante. Ils peuvent ensuite rapporter cette cl\u00e9 quand ils ont termin\u00e9.<br \/>\nLe but de mon projet est de simplifier cette d\u00e9marche en rendant automatique l&#8217;ouverture de la porte gr\u00e2ce aux cartes \u00e9tudiantes.<\/p>\n<p>En effet, les cartes \u00e9tudiantes contiennent une puce <em>RFID<\/em>. En scannant une carte \u00e0 l&#8217;aide d&#8217;un lecteur de cartes, il est possible de r\u00e9cup\u00e9rer un num\u00e9ro unique pour chaque carte. Il y avait d\u00e9j\u00e0 un ancien syst\u00e8me pour ouvrir la porte de la salle 214, mais il fonctionnait avec des badges et n&#8217;est plus utilis\u00e9. Je r\u00e9utilise donc ce syst\u00e8me pour d\u00e9clencher l&#8217;ouverture de la porte.<\/p>\n<p>Le premier ojectif de mon projet est de cr\u00e9er une <strong>base de donn\u00e9es<\/strong> avec les num\u00e9ros des cartes \u00e9tudiantes pour g\u00e9rer qui a acc\u00e8s \u00e0 la salle. Un programme reli\u00e9 \u00e0 cette base de donn\u00e9es d\u00e9clenchera un relais qui laisse passer le courant pour ouvrir la porte de la salle 214. Le second objectif est de cr\u00e9er un <strong>site web<\/strong> pour pouvoir contr\u00f4ler facilement les acc\u00e8s et voir l&#8217;historique de toutes les entr\u00e9es dans la salle.<\/p>\n<h2>\u00c9tapes du projet<\/h2>\n<p>Pour ce projet, j&#8217;ai utilis\u00e9 deux Raspberry Pi. Une <strong>Raspberry Pi<\/strong> est un petit ordinateur de la taille d&#8217;une carte bancaire. On peut programmer une Raspberry Pi de la mani\u00e8re qu&#8217;on le souhaite. De plus, la Raspberry Pi poss\u00e8de des broches <em>GPIO<\/em> que l&#8217;on peut alimenter avec un programme. J&#8217;utilise donc ces broches pour relier la Raspberry Pi au relais qui ouvre la porte.<\/p>\n<div id=\"attachment_1220\" style=\"width: 594px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/IMG_20190529_164155952-fl\u00e8che.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1220\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/IMG_20190529_164155952-fl\u00e8che-1024x768.jpg\" alt=\"Une Raspberry Pi utilis\u00e9e durant ce projet.\" width=\"584\" height=\"438\" class=\"size-large wp-image-1220\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/IMG_20190529_164155952-fl\u00e8che-1024x768.jpg 1024w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/IMG_20190529_164155952-fl\u00e8che-300x224.jpg 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/IMG_20190529_164155952-fl\u00e8che-400x300.jpg 400w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><p id=\"caption-attachment-1220\" class=\"wp-caption-text\">Une Raspberry Pi utilis\u00e9e durant ce projet.<\/p><\/div>\n<p>J&#8217;ai commenc\u00e9 par \u00e9crire un programme en langage <em>Python<\/em> qui r\u00e9cup\u00e8re le num\u00e9ro de la carte. J&#8217;ai ensuite cr\u00e9\u00e9 une base de donn\u00e9es. Une base de donn\u00e9es peut \u00eatre compos\u00e9e de plusieurs tables, j&#8217;ai donc cr\u00e9\u00e9 une table compos\u00e9e comme ceci :<\/p>\n<table>\n<tr>\n<td>\n<strong>id<\/strong>\n<\/td>\n<td>\n<strong>Nom<\/strong>\n<\/td>\n<td>\n<strong>Pr\u00e9nom<\/strong>\n<\/td>\n<td>\n<strong>Num\u00e9ro de carte<\/strong>\n<\/td>\n<td>\n<strong>Date de d\u00e9but d\u2019entr\u00e9e autoris\u00e9e<\/strong>\n<\/td>\n<td>\n<strong>Date de fin d\u2019entr\u00e9e autoris\u00e9e<\/strong>\n<\/td>\n<\/tr>\n<tr>\n<td>\n1\n<\/td>\n<td>\nDURAND\n<\/td>\n<td>\nMartin\n<\/td>\n<td>\n00123456789ABCDE\n<\/td>\n<td>\n2019-03-01\n<\/td>\n<td>\n2019-06-30\n<\/td>\n<\/tr>\n<\/table>\n<p><\/p>\n<p>Dans l\u2019exemple ci dessus, Martin DURAND peut acc\u00e9der \u00e0 la salle 214 du 1er mars au 30 juin 2019.<\/p>\n<p>J&#8217;ai donc int\u00e9gr\u00e9 cette base de donn\u00e9es \u00e0 mon programme Python pour qu&#8217;il cherche si le num\u00e9ro scann\u00e9 par le lecteur est pr\u00e9sent dans la base de donn\u00e9es et si la personne a le droit d&#8217;entrer.<br \/>\nPour activer le relais, j&#8217;ai d\u00e9clench\u00e9 l&#8217;alimentation d&#8217;une broche GPIO \u00e0 partir du programme Python. Ainsi, tout fonctionnait avec une seule Raspberry Pi.<\/p>\n<div id=\"attachment_1192\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/IMG_20190318_114942876.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1192\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/IMG_20190318_114942876-300x224.jpg\" alt=\"Test du programme avec une seule Raspberry Pi.\" width=\"300\" height=\"224\" class=\"size-medium wp-image-1192\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/IMG_20190318_114942876-300x224.jpg 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/IMG_20190318_114942876-1024x768.jpg 1024w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/IMG_20190318_114942876-400x300.jpg 400w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-1192\" class=\"wp-caption-text\">Test du programme avec une seule Raspberry Pi.<\/p><\/div>\n<p>Une des contraintes de ce projet est que le d\u00e9clenchement de l&#8217;ouverture de la porte de la salle 214 se fait sur un tableau \u00e9lectrique pr\u00e9sent en <strong>salle 212<\/strong>. C&#8217;est pour cela que j&#8217;ai besoin de deux Raspberry Pi qui doivent communiquer entre elles pour ouvrir la porte. Ainsi, j&#8217;ai fait deux programmes Python :<\/p>\n<ul>\n<li>Un pour la Raspberry Pi en <strong>salle 214<\/strong> qui scanne la carte et regarde dans la base de donn\u00e9es si la personne a le droit d&#8217;entrer<\/li>\n<li>Un autre pour la Raspberry Pi en <strong>salle 212<\/strong> qui d\u00e9clenche l&#8217;ouverture de la porte<\/li>\n<\/ul>\n<p>Le programme Python de la salle 214 envoie un message d&#8217;ordre d&#8217;ouverture \u00e0 l&#8217;autre programme quand la personne est autoris\u00e9e \u00e0 entrer.<\/p>\n<p>J&#8217;ai ensuite install\u00e9 tous les composants dont j&#8217;avais besoin sur le tableau \u00e9lectrique en salle 212 avec l&#8217;aide de M. Bouljroufi.<\/p>\n<div id=\"attachment_1219\" style=\"width: 594px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/IMG_20190523_164037388blog.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1219\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/IMG_20190523_164037388blog-1024x768.jpg\" alt=\"Composants install\u00e9s sur le tableau \u00e9lectrique\" width=\"584\" height=\"438\" class=\"size-large wp-image-1219\" srcset=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/IMG_20190523_164037388blog-1024x768.jpg 1024w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/IMG_20190523_164037388blog-300x224.jpg 300w, https:\/\/blog.univ-angers.fr\/polytech_2A\/files\/2019\/06\/IMG_20190523_164037388blog-400x300.jpg 400w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><p id=\"caption-attachment-1219\" class=\"wp-caption-text\">Composants install\u00e9s sur le tableau \u00e9lectrique<\/p><\/div>\n<p>Ainsi, j&#8217;ai pu tester que le programme fonctionnait correctement. Voici une vid\u00e9o de l&#8217;ouverture de la porte avec une carte \u00e9tudiante :<\/p>\n<div style=\"width: 584px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-951-1\" width=\"584\" height=\"329\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/VID_20190617_112410911.mp4?_=1\" \/><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/VID_20190617_112410911.mp4\">https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/VID_20190617_112410911.mp4<\/a><\/video><\/div>\n<p>J&#8217;ai ensuite cr\u00e9\u00e9 le <strong>site web<\/strong>. J&#8217;ai pour cela install\u00e9 un serveur web sur la Raspberry Pi de la salle 214. J&#8217;ai utilis\u00e9 le langage php pour relier la base de donn\u00e9es au serveur web. J&#8217;ai aussi cr\u00e9\u00e9 une deuxi\u00e8me table dans la base de donn\u00e9es pour avoir un historique de toutes les ouvertures de la porte de la salle.<\/p>\n<p>Voici une d\u00e9monstration du fonctionnement de ce site web :<\/p>\n<div style=\"width: 584px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-951-2\" width=\"584\" height=\"329\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/D\u00e9monstration-site-web.mp4?_=2\" \/><a href=\"https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/D\u00e9monstration-site-web.mp4\">https:\/\/blog.univ-angers.fr\/istiaprojetsei2\/files\/2019\/06\/D\u00e9monstration-site-web.mp4<\/a><\/video><\/div>\n<h2>Conclusion<\/h2>\n<p>Le r\u00e9sultat de ce projet est satisfaisant. On peut d\u00e9sormais ouvrir la porte de la salle 214 \u00e0 l&#8217;aide d&#8217;une carte \u00e9tudiante. De nombreux points restent \u00e0 am\u00e9liorer. Le site web pourrait avoir plus de fonctionnalit\u00e9s et \u00eatre plus esth\u00e9tique. Mais globalement ce projet a \u00e9t\u00e9 une tr\u00e8s bonne exp\u00e9rience. Cela m&#8217;a permis d&#8217;apprendre plein de nouvelles connaissances. J&#8217;ai appris les langages Python et php. J&#8217;ai d\u00e9couvert comment g\u00e9rer des bases de donn\u00e9es et j&#8217;ai am\u00e9lior\u00e9 mes comp\u00e9tences en \u00e9lectricit\u00e9.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bonjour, Je suis \u00e9tudiant en deuxi\u00e8me ann\u00e9e de cycle pr\u00e9paratoire \u00e0 Polytech Angers. J&#8217;ai choisi de travailler sur le projet de contr\u00f4le d&#8217;acc\u00e8s \u00e0 la salle 214. Objectif du projet La salle 214 est une salle de Polytech Angers d\u00e9di\u00e9e &hellip; <a href=\"https:\/\/blog.univ-angers.fr\/polytech_2A\/2019\/06\/24\/controle-dacces-salle-214\/\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":56191,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[187],"tags":[285,288,287,284,153,167,286],"class_list":["post-951","post","type-post","status-publish","format-standard","hentry","category-187","tag-base-de-donnees","tag-gestion-dacces","tag-ouverture-automatique","tag-php","tag-python","tag-raspberry-pi","tag-site-web"],"_links":{"self":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts\/951","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/users\/56191"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/comments?post=951"}],"version-history":[{"count":1,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts\/951\/revisions"}],"predecessor-version":[{"id":1246,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/posts\/951\/revisions\/1246"}],"wp:attachment":[{"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/media?parent=951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/categories?post=951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.univ-angers.fr\/polytech_2A\/wp-json\/wp\/v2\/tags?post=951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}