Implémentation et lecture d'une chaîne de
caractères dans une carte RFID
table des matières
Table
des matières...................................................................................... 1
Remerciement............................................................................................. 3
Introduction................................................................................................ 4
Chapitre
1.................................................................................................... 5
1.1 Introduction..................................................................................... 5
1.2 Historique........................................................................................ 5
1.3 Les
composantes de système RFID.............................................. 6
1.4 Principe
de fonctionnement........................................................... 7
1.5 Type des
tags.................................................................................. 7
1.5.1 Tags Passifs.................................................................................. 7
1.5.2 Tags Actifs................................................................................... 8
1.5.3 Tags Semi-actifs.......................................................................... 8
1.6 Comparaison
entre les tags............................................................ 9
1.7 Les
fréquences de communication............................................... 9
1.8 La
mémoire de tag RFID............................................................. 10
Chapitre
2.................................................................................................. 11
2.1 Lecteur
RFID RC522................................................................... 11
2.1.1 Définition générale....................................................................... 11
2.1.2 Principe du lecteur RFID............................................................. 11
2.1.3 Comment choisir le lecteur RFID.............................................. 11
2.1.4 Caractéristiques du lecteur RFID............................................... 11
2.2 La carte
Arduino.......................................................................... 11
2.2.1 Définition................................................................................... 11
2.2.2 Les
composantes de la carte Arduino...................................... 12
2.2.3 Caractéristique
principale......................................................... 12
2.2.4 L’alimentation........................................................................... 13
2.3 La
communication entre le lecteur RC522 et l'Arduino........... 13
2.4 La
connexion du lecture RC522 avec Arduino......................... 14
Chapitre
3.................................................................................................. 15
3.3 Implémentation
d’une chaîne de caractères.............................. 16
3.4 La
partie pratique......................................................................... 16
3.4.1 Installation de la bibliothèque de RC522................................ 16
3.4.2 L’interface
de programmation................................................. 17
3.4.3 L’écriture dans le tag................................................................ 18
3.4.4 Lire les
données dans le tag..................................................... 21
3.4.5 Scanner les informations.......................................................... 22
conclusion................................................................................................. 24
Bibliographies
A la fin de chaque période d’enseignement, les
établissements scolaires connaissent des sessions d’examens. Les facultés gèrent
un nombre important d’étudiants répartis sur plusieurs sections et éléments de
modules. La vérification de présence des étudiants et
de leur répartition sur les classes d’examen pose un véritable encombrement et
embarras pour les personnes de suivis. L’utilisation des technologies peuvent être
une solution alternative pour le problème posé. L’identification des étudiants
par leurs noms et leurs codes apogées par une chaîne électronique sera
bénéfique.
Les
cartes électroniques RFID sont des cartes qui peuvent mémoriser des données et
peuvent être la base d’une carte de reconnaissance des étudiants, ainsi elles
peuvent être utilisées pour les suivis des présences et la reconnaissance des
étudiants.
Dans
ce mémoire nous nous intéressons aux lecteurs HF associés aux tags passifs afin
de réaliser une application d’indentification de la présence des étudiants.
Notre
mémoire est divisée en trois chapitres. Dans le premier chapitre, nous allons
traiter une simple introduction sur la technologie RFID ainsi que leurs
composants et le principe de fonctionnement à l’aide de fréquences de
communication et pour finir ce chapitre nous allons mentionner la mémoire et la
capacité de tag RFID.
Au
second chapitre, nous ferons tout d’abord dans la première partie une
définition sur le lecteur RC522 et leur principe de fonctionnement ainsi le
critère du choix d’un lecteur et ses caractéristiques, dans la deuxième partie nous
parlerons de la carte de communication Arduino. On termine ce chapitre par la
connexion entre l’Arduino et la RC522.
Le
dernier chapitre consiste à une réalisation du système RFID avec le logiciel
Arduino, cela consiste à enregistrer des données dans le tag et en même temps de
lire les données qui y sont stockées.
Le
terme RFID désigne un système d’identification qui comprend une étiquette
électrique ou (tag) pour mémoriser des informations, et un lecteur qui s’effectue
par radiofréquence, contrairement au code-barres, qui s’effectue par une lecture
optique. Le système RFID peut identifier uniquement un objet marque. La RFID
comprend les étiquettes, le lecteur, l’encodeur et l’interlogiciel. Ce dernier
permet d’intégrer le flux des données dans le système d’information.
Il y’a plusieurs définitions de la
carte REID car chacun a sa propre vision mais en 2009 la commission européenne
a publié la définition suivante :<<L’identification par
radiofréquence est l’utilisation d’ondes électromagnétiques rayonnantes ou de
couplage de champ réactif dans une portion de radiofréquences du spectre pour
communiquer vers ou à partir d’une étiquette selon différents schémas de
modulation et d’encodage afin de lire de façon univoque. >>[2].
La technologie de la RFID est utilisée pour la première
fois l’hors de la seconde guerre mondiale en 1940 pour identifier/authentifier des
appareils en vol dans le système (IFF : Identification Friends or Foe)
de la royal Air force, il s’agissait de compléter la signature RADAR des avions
en lisant un identifiant fixe permettant l’authentification des avions alliés.
Depuis les années 80 la RFID marque un
tournant décisif dans l’histoire de la technologie sans contact avec sa
première application commerciale. Depuis les années 90 la RFID va réellement prendre
sans en vol en particulier avec la vête massive du tag minaret classique [4]
développée par Micron (acheter par Philips semi-conducteur) où plusieurs
Million de copies ont été vendu depuis son introduction.
Un système RFID possède un lecteur
et un tag :
1.3.1 Les tags
Le tag correspond à une étiquette
électronique, appelée également transpondeur (Transmette -répondeur) ou
marqueur. Pour les applications réutilisables, il est généralement intégré dans
un boîtier en plastique, et pour les envois de suivi, il peut également faire
partie d'une étiquette d'un emballage dite « intelligent ». Le transpondeur
comprend une antenne associée à une puce électronique qui peut répondre aux requêtes
émises depuis un émetteur-récepteur. [5]
1.3.2 Les lecteurs
Les lecteurs sont des équipements
actifs, portables ou fixes, qui sont constitués d’un circuit qui émet une
énergie sous forme de champ magnétique ou d’onde radio. La communication entre
le lecteur RFID et l'étiquette est possible grâce à chaque antenne RFID
intégrée dans chacun des deux composants. Cette communication commence dès que
le tag se trouve à une distance appropriée qui dépend des caractéristiques
typiques des systèmes tels que la puissance ou la fréquence de travail. [7]
Le principe de fonctionnement est simple : le lecteur contient
une bobine, lorsqu’elle est alimentée par une tension, elle génère un champ
magnétique. Lorsque le Tag est assez proche du lecteur et baignant dans le
champ magnétique, son antenne induit une tension dépendante du champ créé. Cette
déférence de potentiel alimente la puce électronique. Elle utilise l’antenne ensuite
pour changer les données avec le lecteur dans une courte distance par un nombre
d’identification (UID) on peut dire donc que le tag RFID possède une mémoire
qui comporte des octets pour stoker des informations.
La technologie RFID inclut l'usage de tags, qui
peuvent être Actifs, passifs ou semi actifs afin de transmettre les données
souhaitées :
Les tags passifs fonctionnent en
lecture seule puisque la puce ne possède pas de batterie et doit être déplacé
vers le lecteur pour être lu. Un puissant signal électromagnétique lui est
alors envoyé, ce qui permet d’activer la puce du tag et de lire les
informations qu'elle contient.
- ·
Un
champ électromagnétique est généré par le lecteur. Ce champ contient à la fois
de l'énergie et des informations.
- ·
La
puce qui entre dans ce champ reçoit son énergie et l'ordre de renvoyer une Information.
Elle peut éventuellement recevoir l'ordre de modifier le contenu stocké sur la
puce.
- · Le lecteur reçoit l'information qu'il avait demandée.
On parle de radio-identification active
lorsque les étiquettes ou les tags sont actifs c'est-à-dire qu'ils sont
alimentés par une source d'énergie embarquée batterie, pile. Cette source
d'énergie permet à la puce de diffuser un signal vers le lecteur RFID.
L’action se fait suivant ces étapes :
- ·
L'étiquette
émet un signal radio régulier.
- ·
Le
lecteur qui est dans le champ d'émission de l'étiquette peut recevoir les Informations
émises.
Les tags semi-actifs
fonctionnent comme les tags passifs, sauf qu’ils comportent une batterie. Ces
tags semi-actifs, également appelés semi-passifs, ressemblent au fonctionnement
des étiquettes actives puisqu'ils sont également alimentés par une source
d'énergie embarquée. Seulement, la différence entre ces 2 types d’étiquettes
repose sur l'alimentation de la batterie c’est-à-dire elle alimente la puce
RFID non pas en continue mais à des intervalles de temps réguliers et
programmables. [11]
La batterie des étiquettes qui
constituent la RFID semi-active n'envoie pas de signal comme c'est le cas pour
la RFID passive.
Le tableau suivant dresse un
comparatif entre les systèmes actifs, semi-actifs et passifs. On voit tout
l’intérêt que présentent les systèmes passifs en termes de coût et de durée de
vie.
Type
|
Distance
|
Données
|
Durée
de vie
|
Coût
|
Actif
|
Importante
|
Importante
|
Faible
|
Importantes
|
Semi passif
|
Moyenne
|
Moyenne
|
Moyenne
|
Moyenne
|
Passif
|
Faible
|
Faible
|
Importante
|
Faible
|
La fréquence est la caractéristique qui
permet d’établir la communication entre la puce et l’antenne, à condition que
le tag et le lecteur soient sur la même fréquence. La fréquence influe sur la distance
émetteur-récepteur : plus la fréquence est élevée plus la distance entre
le tag et le lecteur est importante. Nous allons tout d’abords nous concentrer
sur les trois types de fréquences les plus utilisés pour les applications RFID déployées.
Type de
fréquence
|
Intervalle de fréquence
|
Distance du
lecteur
|
Les applications
|
Basse fréquence
(BF)
|
(124 -135) KHz
|
(0,2-0,5) m
|
Capteur, système anti-démarrage,
Suivi d’objets et identification des animales …
|
Haute fréquence
(HF)
|
13,56 Mhz
|
1-3 m
|
Porte, transports,
Traçabilité contrôle d’accès,
Monnaie
électronique …
|
Très haute
Fréquence (UHF)
|
(860-960) MHz
|
(6-10) m
|
Identification,
système de télécommande, chaîne logistique…
|
Evidemment, le choix de la fréquence est
plus complexe car il dépend d’autres paramètres tels que la taille de
l’antenne, le type de tag et la régulation sur les bandes de fréquence.
|
Remarque :
|
Le tableau représente les différentes classes des
tags mais on s’intéresse dans notre projet sur la dernière classe (ISO
15693), qui se caractérise par une mémoire qui est composée de la ROM, la RAM,
la EEPROM et la FRAM.
Classe
|
Fréquence
|
Vitesse
|
Stockage
|
mémoire
|
ISO 18000
|
2.45GHz
|
40Kbbps
|
512bits
|
ROM
EPROM
|
13.56GHz
|
106,212,424,848Kbps
|
64 octets-64Koctets
|
ROM. RAM
EEPROM.FRAM
|
|
ISO 15693
|
13.56GHz
|
26Kbps
|
1kbits,16kbits
|
ROM. RAMEEPROM.FRAM
|
·
La mémoire ROM (Read
Only Memory) : les mémoires mortes accessibles uniquement en lecture et aussi
sont des mémoires non volatiles.
·
La
mémoire EEPROM (Electrically Erasable PROM) : est une mémoire
qui permet de stocker des informations, et modifier ou supprimer les données
par une tension électrique.
·
La
mémoire RAM : est une mémoire vive qui permet de stocker
des informations provisoires, son avantage est sa capacité et sa lecture très
rapide par rapport au disque.
· La mémoire FRAM : la mémoire FRAM utilise des condensateurs ferroélectriques qui peuvent être polarisés en utilisant de faibles tensions d’alimentation. Cette polarisation électrique stocke les données et reste après la coupure du courant.
Remarque :
:
|
Chapitre 2 Outils de communication
Le module RC522 est une interface qui
permet l’indentification sans contact à partir d’un badge ou une clé RFID. Il
est basé sur le circuit intégré Philips RC522, il communique avec Arduino via
l’interface SPI, il utilise la bande ISM 13,56 MHz. La distance de
communication peut aller jusqu’à 6cm mais la plupart des modules marchent très
bien avec 1cm de distance.
Le lecteur RFID, élément essentiel
à l'utilisation de la RFID, fonctionne de la manière suivante Il transmet à
travers des ondes-radio l'énergie au tag ; il transmet alors une requête
d'informations aux étiquettes situées dans son champ magnétique ; il reçoit les
réponses et les transmet aux applications concernées. La communication entre le
lecteur et l'étiquette est possible grâce à me antenne intégrée dans chacun des
deux composants.
Le choix du lecteur s'avère
primordial, il doit se faire selon la fréquence des étiquettes, et la distance
du lecteur souhaitée. Comme pour les étiquettes RFID, il existe trois types de fréquences
possibles : les lecteurs basses fréquences (125 KHz), les lecteurs hautes
fréquences (13,56 MHz) et les lecteurs RFID UHF (868 MHz). La puissance du
lecteur est combinée avec une antenne appropriée.
- ·
Tension
de fonctionnement : 3,3V.
- ·
Fréquence
de fonctionnement : 13 ,56MHz
- ·
Courant
maximal : 30mA
- ·
Débit
de données maximum : 10Mbit/s
- ·
Distance
de lecteur : 0-6cm
- ·
Type
de communication : SPI
2.2
La carte Arduino
L'Arduino est une plateforme
matérielle et logicielle simple, abordable et open-source pour le développement
des applications embarquées, nous nous intéressons sur la carte Arduino Uno qui
est une carte électronique dont le cœur est un microcontrôleur ATMEL de
référence ATMega328. Ce microcontrôleur est de 8bits et de la famille AVR dont
la programmation peut être réalisée en langage C et C++. [13]
La carte Arduino a possédé plusieurs composantes électroniques.
Tention
d’alimentation (recomendée)
|
7 à 12V
|
Tention d’alimentation(limites)
|
6 à 20 V
|
Entrées / sorties numeriques
|
14 dont 6 sorties PWM (cofigurables)
|
Entrées analogiques
|
6 entrées analogiques 10 bits
|
Courant max par broche E/S
|
40 mA (200 mA cumule pour l ensemble des broches)
|
Mémoire programme flach
|
32 Ko dont 0,5 Ko sont utilisés par le bootloader
|
Mémoire SRAM (mémoire volate)
|
2 KB
|
Mémoire EEPROM (mémoire non volate)
|
1 KB
|
Fréquence horloge
|
16 MHz
|
La carte ARDUINO UNO peut être
alimentée par le câble USB, par un bloc secteur externe connecté grâce à une
prise « jack » de 2,1mm ou bien par un bloc de piles dont le raccordement est
réalisé par l’intermédiaire des « GND » et « Vin » du connecteur
d’alimentation. L’alimentation extérieure doit présenter une tension comprise
entre 7 à 12V.
La carte génère, par
l’intermédiaire de régulateurs intégrés, deux tensions stabilisées : 5 V et 3,3
V. Ces deux tensions permettent l’alimentation des composants électroniques de
la carte Arduino.
La communication entre le lecteur RC522 et Arduino se fait à travers une
liason SPI (serail peripheral interface) qui permet de changer les
données sous forme d’un bus de données série synchrone. Les deux interfaces (Arduino
et lecteur RC522 ), communique selon un schéma maître
esclave.
Le bus SPI utilise quatre signaux logiques :
·
SCLK —
Serial Clock, Horloge (généré par le maître)
·
MOSI —
Master Output, Slave Input (généré par le maître)
·
MISO —
Master Input, Slave Output (généré par l'esclave)
·
SS —
Slave Select, Actif à l'état bas (généré par le maître)
Il existe d'autres noms qui sont
souvent utilisés :
·
SCK, SCL
— Horloge (généré par le maître)
·
SDI, DI,
SI — Serial Data IN, MISO
·
SDO, SDA, DO, SO — Serial Data OUT, MOSI
·
nCS, CS, nSS, STE, CSN— SS
La communication entre Arduino et la
carte RC522 se fait de la manière suivante :
·
RST/Reset RST —> Pin 9
Arduino
·
SPI SSSDA (SS)—>Pin 10
Arduino
·
SPI MOSIMOSI—>Pin 11 Arduino
·
SPI MISOMISO —>Pin 12 Arduino
·
SPI SCK SCK—>Pin 13 Arduino
·
VCC 3,3V ! Attention pas 5V et GND.
Chapitre 3 transfert d’une chaîne de caractères
3.1 La chaîne de caractères
Une chaîne
de caractères est une suite de caractères,
c’est à dire un ensemble de symboles faisant partie d’un jeu de caractères par
exemple : le prénom * MOHAMED *, chaque caractère est défini par le
code ASCII.
Chaque unité de donnée est stockée
en mémoire dans un ensemble de cases de 8 bits (octet), et pour transformer les
données en code ASCII on utilise le tableau suivant :
Exemple :
En utilisant le tableau précédent le
prénom MOHAMED se transforme en code ASCII comme suit :
M
|
O
|
H
|
A
|
M
|
E
|
D
|
4D
|
4F
|
48
|
41
|
4D
|
45
|
44
|
Remarque :
Chaque case est identifiée par une adresse binaire {que l’on peut écrire en hexadécimal pour simplifier l’écriture}.
|
Pour écrire une information dans le TAG RFID il est
nécessaire de définir trois éléments :
Le secteur : chaque secteur est noté par un
numéro et il se compose de quatre lignes de 16 octets ;
Une adresse : précise qui est le lieu de résidence de données ;
Les données : qui sont les éléments à mémoriser.
Ø Lancer le programme IDE {Arduino 1.8.8}
On commence par installer le
programme de communication avec Arduino. Le programme est open source et
téléchargeable directement sur le site mère.
Ø Gestion de la bibliothèque.
La gestion de la bibliothèque est une étape qui est
entamée comme suit :
Ø Ecrire dans la porte de recherche RC522 puis installer
Pour écrire les données dans le tag
on procède par les étapes suivantes :
Ø Choix du programme d'écriture dans la bibliothèque RC522
Cette première partie est assurée par la sélection des exemples dans
l’onglet fichier puis le choix de la bibliothèque RC522.
Ø Vérification du programme
On vérifie le programme, après on actionne le bouton Téléviser pour envoyer
le programme vers Arduino.
Cette opération est faite tout en approchant la
carte RFID du module RC522 d’une distance moins de 6cm.
Ø Le port COM
Dernièrement on lance
le port COM (Moniteur série) après on écrit notre chaine
de caractères (MOHAMED) dans la zone de l’écriture, et on sélectionne le bouton
envoyer pour transférer les données dans un bloc choisi sur le TAG.
Pour vérifier que les
données sont bien stockées dans le tag RIFD on suivit les étapes
suivantes :
On choisit le programme de lecture personnelle dans la
bibliothèque RC522 :
On vérifie
le programme, après on sélectionne
le bouton Téléviser pour envoyer le programme vers Arduino.
On rapproche le tag au lecteur et on
lance la porte COM (Moniteur série) pour lire les informations stocker dans un
bloc précis.
Dans la suite on s’intéressera à l’adresse de stockage de la donnée ainsi
que son code.
Pour Scanner toutes les informations
qui sont stockées dans le TAG et son adresse on utilise le programme Dumpinfo, qu’on peut trouver dans la bibliothèque RC522.
On vérifie le programme, après on sélectionne
le bouton Téléviser pour transférer le programme vers Arduino.
Enfin, on
a la possibilité de lire et savoir notre information où elle était stockée.
D’ailleurs on a préalablement choisi l’adresse de stockage ainsi que la chaîne
de caractères. On note que le programme a la possibilité de transférer la chaîne
de caractères et de la mémoriser sur une adresse qu’on choisisse.
Remarque :
Le
programme Dumpinfo permet de scanner toutes les informations qui sont stockées dans le tag RFID avec le bloc.
CONCLUSION
L’identification
par radiofréquence est aujourd’hui utilisée dans de nombreux domaines. Notre projet
s’est intéressé à l’étude et l’intégration d’un dispositif d’identification basé sur la technologie RFID.
En
général, nous avons réussi à atteindre la majorité des objectifs du projet, nous
avons réussi à se familiariser avec l’appareil, nous avons vu et commenté ce
qui se passait lors du passage du badge devant le lecteur.
Nous
avons aussi réussi à sauvegarder les captures de données qu’on a réalisés et
nous avons compris le fonctionnement du RFID (la communication entre le tag et
le lecteur RC522) ainsi su les composants de mémoire tag RFID et nous sommes aussi
arrivés à savoir comment on peut stocker les informations dans une adresse
mémoire choisi, et de les lire.
Nous
n’avons pas réussi à rédiger des programmes utilisés dans notre Projet (lire,
écrire et scanner).
..........................................................
Pour télécharger le projet se forme pdf