Installation et programmation d'un lecteur RFID sur Raspberry Pi !

KORSiRO

Ancien staff
Inscription
22 Décembre 2017
Messages
1 313
Réactions
783
Points
8 826

1569833125-sans-titre-1.png


Bonjour :induste:


Avant de commencer l'installation du lecteur RFID il faut installer Raspbian sur le Raspberry Pi.
Raspbian est donc l'OS sur lequel va tourner votre RPi


Matériel nécessaire :

-

-
(Raspbian Buster with desktop)
-


I. Installation de Raspbian

Pour installer Raspbian rien de plus simple. Une fois que vous avez au préalable télécharger l'image de Raspbian :

- Branchez votre carte micro-SD sur votre PC, lancer Etcher et suivez les étapes ci-dessous.

12b6239de42674db3.gif



- Une fois que votre clé est prête, insérez la dans le Raspberry et connectez-y un clavier, une souris, un écran, un câble Ethernet (ou en WIfi) et bien-sûr son alimentation !
967484001569833315.gif


- Démarrez le RPi, Raspbian s'initialise et s'installe.
Une fois arrivé sur le bureau vous devez configurer la langue/clavier, un mot de passe (plus sécurisé) et une connexion Wifi ou Ethernet
.

1569753117-2.png


1569753117-3.png


1569753117-4.png


1569831601-5.png


1569753117-6.png



Votre Raspberry est prêt pour la suite !


II. Branchement du circuit

Matériel nécessaire :

(si vous possédez déjà des câbles, diodes, résistances, plaque proto etc...)
- (complet pour plusieurs projets)
-

- 2 Diodes (vert/rouge)

- 1 Résistance 1K Ohm


1569846151-sans-titre-12.png



III. Activation du protocole SPI

Nous allons activer le protocole SPI afin de pouvoir faire communiquer le Pi et le module RFID !

- Ouvrez la console et tapez : sudo raspi-config

- Faites Entrée

1569846791-2019-09-30-142747-655x417-scrot.png


1569846791-2019-09-30-142747-655x417-scrotj.png


- Avec les flèches de votre clavier, descendez jusqu'à la partie n°5 : Interfacing Options

1569846791-2019-09-30-142856-655x417-scrot.png


-Sélectionnez P4 SPI et faites Entrée
- A la question suivante, choisissez Yes

1569846791-2019-09-30-142918-655x417-scrot.png


- Revenez ensuite dans la console et tapez : sudo reboot

- Quand le RPi a redémarré, relancer la console et tapez : lsmod | grep spi
- Faites Entrée

1569847705-2019-09-30-144304-655x417-scrot.png


- Si vous voyez apparaître spi_bcm2835 c'est que le module est bien activé

1569847705-2019-09-30-144318-655x417-scrot.png



IV. Installation de librairies pour le RC522


Nous allons maintenant installer Python (pour la programmation) , SPY-Py et Pip3 (sert à la librairie pour le module RFID) et la librairie RFID-RC522

- Pour les installer, il suffit de taper dans la console :

MAJ du Raspberry

sudo apt-get update
sudo apt-get upgrade


Python
sudo apt-get install python2.7-dev


SPY-Py
cd ~ git clone https://github.com/lthiery/SPI-Py.git cd ~/SPI-Py git checkout 8cce26b9ee6e69eb041e9d5665944b88688fca68 sudo python setup.py install

Pip3
sudo pip3 install pi-rc522

RFID-RC522
cd ~ git clone https://github.com/EspaceRaspberryFrancais/RFID-RC522.git


C'est tout pour l'installation :D


V. Lecture du bagd RFID

Les badges RFID ont un identifiant propre.
Le fait de lire cet identifiant, va permettre de l'incorporer au code du afin que le module puisse lire ce badge.

- Pour commencer il faut créer un dossier que vous appellerez electronic dans la cible /home/pi

Ce dossier contiendra les fichiers utile pour la lecture et la vérification du ou des badges.

- Une fois que c'est fait, créez un nouveau fichier que vous nommerez read_rfid_uid.py
Ce fichier servira lui à la lecture du badge.

- Vous ouvrez ce fichier et vous collez ce code :


Code:
#!/usr/bin/env python3.5
#-- coding: utf-8 --

import RPi.GPIO as GPIO
from pirc522 import RFID
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)

rc522 = RFID()

print('En attente d\'un badge (pour quitter, Ctrl + c): ')

while True :
rc522.wait_for_tag()
(error, tag_type) = rc522.request()

if not error :
(error, uid) = rc522.anticoll()

if not error :
print('Vous avez passé le badge avec l\'id : {}'.format(uid))
time.sleep(1)



- Une fois que c'est fait, enregistrez le fichier.

- Lancez la console et taper sudo chmod +x /home/pi/electronic/read_rfid_uid.py

Ça permet d'autoriser le fichier à s'exécuter.

-
Tapez maintenant dans la console : /home/pi/electronic/read_rfid_uid.py
Ça permet d'appeler le fichier read_rfid_uid.py

Maintenant, vous verrez qu'en bas de la fenêtre, chaque fois que vous passerez un badge (autorisé ou non), son identifiant va s'afficher et dira si il est autorisé ou non.
Notez donc bien l'identifiant de votre badge !


VI. Autoriser un badge

Une fois que vous avez noté l'identifiant du badge, nous allons faire en sorte qu'il soit reconnu dans le code et que ça puisse enfin allumer la LED verte !

- Dans le même chemin que tout à l'heure soit /home/pi/electronic, créez un nouveau fichier que vous nommerez verify_rfid.py
- Copiez ce code et collez le
- A la ligne 10 RFID_UID = vous devez modifier l'identifiant existant avec celui de votre badge en veillant à bien respecter les espaces après chaque virgule.
- Enregistrez le fichier

Code:
[/SIZE][/FONT][/CENTER][/SIZE][/FONT][/CENTER]
[FONT=Dosis][SIZE=5][CENTER][FONT=Dosis][SIZE=5][CENTER]#!/usr/bin/env python3.5
#-- coding: utf-8 --

import RPi.GPIO as GPIO
from pirc522 import RFID
import time


GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)

LED_RED = 3 
LED_GREEN = 5
RFID_UID = [27, 54, 42, 61, 85] #MODIFICATION DE L IDENTIFIANT 


def turn_led_on (led) :
    GPIO.setup(led, GPIO.OUT)
    GPIO.output(led, GPIO.HIGH)


def turn_led_off (led) :
    GPIO.setup(led, GPIO.OUT)
    GPIO.output(led, GPIO.LOW)


def turn_red_on () :
    turn_led_off(LED_GREEN) 
    turn_led_on(LED_RED)


def turn_green_on () :
    turn_led_off(LED_RED)
    turn_led_on(LED_GREEN)


rc522 = RFID()

print('En attente d\'un badge (pour quitter, Ctrl + c): ')


while True :
    rc522.wait_for_tag()
    (error, tag_type) = rc522.request()

    if not error :
        (error, uid) = rc522.anticoll()

        if not error :
            if RFID_UID == uid :
                print('Badge {} autorisé !'.format(uid))
                turn_green_on()
            else :
                print('Badge {} interdit !'.format(uid))
                turn_red_on()[/SIZE]

time.sleep(1)





C'est fait il ne vous reste plus qu'a lancer le fichier verify_rfid.py et de passer le badge que vous avez intégré au code.
La LED verte devrait s'allumer et si vous avez un deuxième badge, passer le. La LED rouge devrait maintenant prendre le relais et s'allumer !


Je vous laisse également quelques liens d'objets/composants que j'ai pu acheter pour utiliser avec le Raspberry Pi, ça peu peut être vous aider si vous souhaitez vous lancer :neo:





(fonctionne très bien sur RPi 4)








Et voilà c'est fini !


Vous allez me dire oui mais finalement à quoi ça sert ?!

Vous pouvez coupler se dispositif à une serrure 12v (avec les composants intermédiaires adéquats ) et vous avez une serrure de porte que vous contrôlez avec votre badge RFID !

Pas mal non ?!!!!


A bientôt sur :induste:



KORSiRO
 
Dernière édition:

byond

Membre
Inscription
25 Mars 2020
Messages
2
Réactions
0
Points
16
]​
Bonjour et Merci pour ce tuto qui ouvre pour moi le champ du possible.
En revanche, Il se met en attente de lecture mais des lors que je passe sur le rc522 et il ne se passe rien j'ai du je ne sais pssa bien.
C'est le wait qui passe pas bien il semble[/QUOTE]
 
Haut