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

KORSiRO

Responsable de section
Ancien staff RG
Inscription
22 Décembre 2017
Messages
1 116
Réactions
662
Points
2 556
    Réponse de KORSiRO Nouvelles technologies Microcontrôleur : Installation et programmation d'un lecteur RFID sur Raspberry Pi !
  • #1

Vous devez être inscrit pour voir les images


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.

Vous devez être inscrit pour voir les images



- 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 !
Vous devez être inscrit pour voir les images


- 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
.

Vous devez être inscrit pour voir les images


Vous devez être inscrit pour voir les images


Vous devez être inscrit pour voir les images


Vous devez être inscrit pour voir les images


Vous devez être inscrit pour voir les images



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


Vous devez être inscrit pour voir les images



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

Vous devez être inscrit pour voir les images


Vous devez être inscrit pour voir les images


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

Vous devez être inscrit pour voir les images


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

Vous devez être inscrit pour voir les images


- 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

Vous devez être inscrit pour voir les images


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

Vous devez être inscrit pour voir les images



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:

Praxis'

Assistant
Inscription
7 Février 2016
Messages
8 965
Réactions
3 977
Points
10 171
    Réponse de Praxis' Nouvelles technologies Microcontrôleur : Installation et programmation d'un lecteur RFID sur Raspberry Pi !
  • #2
Super projet et bon tuto, ça donne des idées pour la suite :D
 

Kévin 🚀

Administrateur
Administrateur
Inscription
18 Décembre 2012
Messages
4 597
Réactions
5 017
Points
13 762
    Réponse de Kévin 🚀 Nouvelles technologies Microcontrôleur : Installation et programmation d'un lecteur RFID sur Raspberry Pi !
  • #3
J'ai corrigé ton problème de BBCode :espion:
 

KORSiRO

Responsable de section
Ancien staff RG
Inscription
22 Décembre 2017
Messages
1 116
Réactions
662
Points
2 556
    Réponse de KORSiRO Nouvelles technologies Microcontrôleur : Installation et programmation d'un lecteur RFID sur Raspberry Pi !
  • #4

WhiiTe'

Ancien staff RG
Inscription
22 Octobre 2011
Messages
14 119
Réactions
7 918
Points
20 425
    Réponse de WhiiTe' Nouvelles technologies Microcontrôleur : Installation et programmation d'un lecteur RFID sur Raspberry Pi !
  • #5
Excellent :D
 
Haut Bas