Robin DRUEL 2ième année Compte rendu d' E&R 1. Introduction L'objet de ce projet est un module permettant de communiquer avec des cartes magnétiques RFID. Sa finalité est de communiquer avec un ordinateur et d'autoriser ou non l'accès de l'utilisateur de la carte selon le nombre de ses passages. 2. Analyse du système 1. Les spécifications Fonctionnalités demandées Un module permettant de détecter une carte RFID, de lire les informations contenues dans la carte et d'écrire dedans. Le module doit aussi pouvoir être commandé grâce à un ordinateur. Le programme doit être capable d'envoyer des commandes au module et recevoir les trames de réponses pour pouvoir détecter une carte lorsqu'elle est à portée, de vérifier si la carte autorise le passage et d'enregistrer dans celle-ci les informations de ce passage. Spécifications techniques Alimentation du module: 9V
2. Découpage fonctionnel FP1: Réduit la tension à 5V. FP2: Fait communiquer la carte H1M005 avec l'ordinateur avec le port série. FP3: Réduit la tension à 3,3V. FP4: Fait communiquer la carte H1M005 avec l'ordinateur en wifi. FP5: Fait communiquer la carte H1M005 avec la carte RFID. FP6: Vérifie la présence d'une carte RFID. FP7: Envoi une requête de lecture et reçoit les informations en retour. FP8: Envoi une requête d'écriture Schéma fonctionnel
3. Étude des fonctions principales 1. Étude de la fonction FP1 Un LM317 et deux résistances préalablement câblées permettent de réduire la tension d'entrée du circuit imprimé à 5V. 2. Étude de la fonction FP2 L'ordinateur envoi une trame via un port série, la tension du signal reçu dans le module est ensuite réduite et est envoyée à la broche RX de la carte H1M005. La carte H1M005 envoi une trame réponse, la tension du signal est ensuite augmentée pour que la trame soit envoyée à l'ordinateur. Pour cela il a fallut un MAX 232. 3. Étude de la fonction FP3 Pour réduire la tension à 3,3V j'ai dû utiliser un LM317 et deux résistances dont la valeur a été calculée ci-dessous: 3,3=1,25 * (1 + R2/R1 ) => R1=220 Ohm => R2=360 Ohm 4. Étude de la fonction FP4 L'ordinateur envoi une trame via la clé wifi, la tension du signal reçu dans le module est ensuite augmentée à l'aide d'un 74HC07 et est envoyée à la broche RX de la carte H1M005. La carte H1M005 envoi une trame réponse, la tension du signal est ensuite réduit à l'aide d'un 74LS07 pour que la trame soit envoyée à l'ordinateur. 5. Étude de la fonction FP5 La carte H1M005 communique avec les carte RFID grâce à une antenne. Il suffit de l'alimenter et de lui envoyer des trames «requête» 6. Étude de la fonction FP6 Le programme écrit en C# envoi une trame permettant la recherche d'une carte RFID toutes les 500ms et reçoit la trame de réponse pour vérifier la présence ou non d'une carte. 7. Étude de la fonction FP7 Si le programme a reçu une trame réponse indiquant la présence d'une carte RFID, celui-ci envoi une trame de lecture pour récupérer la valeur d'une variable écrite dans la carte RFID. Cette variable contient le nombre de passages encore autorisés par le possesseur de cette carte. Le programme reçoit alors la trame réponse contenant la valeur de cette variable.
8. Étude de la fonction FP8 Si le passage a été autorisé, le programme envoi une trame d'écriture pour modifier la valeur de la variable dans la carte RFID. Cette variable est alors décrémentée. 3. Réalisation du système Un circuit imprimé a été réutilisé contenant préalablement un MAX232, un LM317 ainsi qu'un PIC. La carte H1M005 ainsi que son antenne ont été implantées et branchées. Un LM317 ainsi que eux résistances ont été placées sur le circuit pour réduire la tension de 5V à 3,3V pour alimenter la carte wifi. Un programme écrit en C# a été écrit. 4. Validation du système 1. Validation de FP1 Un signal de 9V à l'aide d'un GBF a été généré en entrée de la fonction FP1. Le signal de sortie a été relevé sur un oscilloscope. La fonction FP1 est validée car le signal de sortie est bien de 5V. 2. Validation de FP2 Ayant branché le circuit intégré à l'ordinateur avec le port série, le signal d'entrée de la fonction FP2 est une trame envoyé grâce à l'application FRAMER. Le signal de sortie correspond à la trame de réponse de la carte H1M005 et a été relevée grâce à un oscilloscope. La fonction a été validée car l'oscilloscope a bien récupéré une trame de réponse et l'application FRAMER a même interprété cette réponse. Il était alors possible de récupérer des valeurs de variables contenues dans les carte RFID et même modifier leurs valeurs. La fonction FP2 a donc été validée. 3. Validation de FP3 Le signal de sortie de la fonction FP1 a été branchée en entrée de la fonction FP2. Le signal de sortie a été relevé sur un oscilloscope. La fonction FP3 est validée car le signal de sortie est de 3,4V (3,V normalement). 4. Validation de FP4
Une fois la communication validée avec le port série, il fallut alors tester la communication via la carte wifi ezl 80. Pour cela, une clé wifi a été utilisée ainsi qu'un programme permettant l'émulation d'un port série virtuel: ezvsp. Des difficultés on été rencontrées pour détecter la carte wifi ezl 80 grâce a la clé wifi. Il fallait d'abord se connecter au module ezl via le gestionnaire de Windows puis démarrer ezvsp. Après avoir testé et vu qu'un signal était bien reçu en sortie de la carte ezl 80, un autre problème s'est présenté: La carte H1M005 n'arrivait pas à interpréter les trames envoyées en wifi. La problème était que la carte ezl était configurée avec un baudrate différent de celui du H1M005 et de FRAMER. En utilisant l'application ezconfig fournie avec la carte ezl 80 il fut alors possible de modifier ce réglage. La carte H1M005 arrivait alors à interpréter la trame mais lorsqu'elle envoyait la trame de réponse, l'ordinateur recevait bien cette trame mais l'application FRAMER n'arrivait pas à l'interpréter et la divisait en deux. L'application affichait alors l'erreur Time Out. La seule solution trouvée fut de réaliser un programme en C# permettant de réaliser les mêmes fonctions que FRAMER mais en modifiant certains paramètres de réception des trames. La fonction FP4 a donc été validée en utilisant le port série mais pas le wifi. 5. Validation de FP5 Pour valider cette fonction il a fallut tester des commandes de l'application FRAMER et voir si il était possible de récupérer des valeurs de variables et de les modifier. La fonction FP5 a été validée en utilisant ce logiciel. 6. Validation de FP6 Un apprentissage du C# a dû être fait pour réaliser une application envoyant une trame vie le wifi. Une fois le programme réalisé, le signal de sortie correspondant à la trame de réponse de la carte H1M005 que l'application reçoit a été relevée. La fonction FP6 est validée car la trame de réponse correspond bien à la trame attendue. 7. Validation de FP7
Le signal d'entrée de la fonction FP5 est une trame envoyé grâce à l'application en C#. Le signal de sortie correspondant à la trame de réponse de la carte H1M005 que l'application reçoit a été relevée. La fonction FP7 est validée car la trame de réponse correspond bien à la trame attendue. 8. Validation de FP8 Le signal d'entrée de la fonction FP5 est une trame envoyé grâce à l'application en C#. Le signal de sortie correspondant à la trame de réponse de la carte H1M005 que l'application reçoit a été relevée. La fonction FP8 est validée car la trame de réponse correspond bien à la trame attendue. 9. Validation globale Toutes les précédentes fonctions étant validées, l'application est alors finalisée et lancée. Les carte RFID sont bien détectées lues et leurs variables décrémentées. Une indication de l'autorisation de passage est aussi affichée. Le projet a donc été validé. 5. Bilan et perspectives Ce projet a donc été finalisé. Ayant été finit en avance, quelques améliorations ont été mises en place dans l'application en C#: un bouton «admin» affichant alors un bouton permettant de remettre le nombre d'autorisations de passage à 5 ainsi que l'affichage de certaines informations sur les trames reçues. Un feu tricolore affichant explicitement l'autorisation ou l'interdiction de passage des usagers. Une connexion à une base de donnée en local permettant de stocker certaines informations et de les afficher lors du passage des cartes RFID comme le nom du possesseur de le carte et la date du dernier passage. Pour les perspectives, il serait possible d'encastrer le circuit imprimé pour le protéger, et de rajouter d'autre fonctionnalités comme des autorisations spéciales (cartes à accès illimité,...), gérer les cartes RFID comme des cartes bleues avec de l'argent, augmenter la sécurité en demandant un code secret...
6. Annexes Annexe1: Test de communication en port série Annexe2: Connexion de la carte ezl 80 avec la clé wifi de l'ordinateur
Annexe3: Test de communication en wifi Annexe4: Lancement de l'application en C#
Annexe5: Test avec une carte interdite Annexe6: Test avec une carte autorisée
Annexe7: Zone Admin
Annexe8: Schéma de l'ensemble NB: Suite à une erreur de manipulation avec la clé personnelle de stockage de données, certains relevés ont été détériorés ainsi que l'application en C#.