Un système de contrôle d'accès est un dispositif qui permet de restreindre et de gérer l'entrée et la sortie d’un lieu physique (bâtiment, salle, site sécurisé) ou l’accès à des ressources informatiques (réseau, fichiers, logiciels).
1. Contrôle d'accès physique :
Utilisé pour sécuriser des lieux (bâtiments, bureaux, entrepôts, parkings).
Exemples : serrures électroniques, badges RFID, codes PIN, reconnaissance biométrique (empreinte digitale, reconnaissance faciale).
2. Contrôle d'accès logique :
Gère l’accès aux systèmes informatiques (ordinateurs, réseaux, bases de données).
Exemples : authentification par mot de passe, cartes à puce, authentification multi-facteurs (MFA).
Un identifiant (carte RFID, badge, empreinte digitale, code PIN).
Un lecteur d’accès (lecteur RFID, scanner biométrique, clavier numérique).
Un contrôleur (unité centrale qui vérifie l’autorisation d’accès).
Un mécanisme d’ouverture (électro-aimant, gâche électrique, tourniquet).
Un logiciel de gestion (permet de définir les droits d’accès et d’enregistrer les événements).
Un système RFID de contrôle d’accès est un dispositif qui utilise la technologie RFID (Radio Frequency Identification) pour gérer l’entrée et la sortie d’un lieu sécurisé. Il permet d’identifier une personne ou un objet grâce à une carte ou un badge RFID, sans contact physique.
Ce projet utilise une carte ESP8266 NodeMCU pour gérer un système de contrôle d'accès RFID basé sur le module RFID-RC522. Lorsqu'un utilisateur approche une carte RFID du lecteur, l'ESP8266 vérifie si l'identifiant unique (UID) de la carte est autorisé. L'information est affichée sur un écran LCD I2C.
Fonctionnement du programme
1- L’ESP8266 initialise le module RFID et l’écran LCD I2C.
2- Il attend qu’une carte RFID soit scannée.
3- Lorsqu’une carte est détectée, son UID est comparé avec une liste d’UID autorisés.
4- Si l’UID est reconnu, l’écran affiche un message de bienvenue.
5- Si l’UID est inconnu, l’écran affiche un message d'accès refusé.
Carte ESP8266 NodeMCU
La carte eESP8266 NodeMCU Gère le système et prend les décisions d'accès.
Elle lit les données du module RFID-RC522, compare l’UID avec une liste d’accès autorisés et affiche le résultat sur l’écran LCD I2C
Module RFID-RC522
Le module RFID-RC522 lit l’identifiant unique (UID) du badge RFID et envoie les données à l’ESP8266.
Il Permet l’identification rapide et sans contact.
Carte/badge RFID
Carte/badge RFID sert d’identifiant unique pour les utilisateurs et transmet son UID lorsqu’il est à proximité du lecteur RFID.
Écran LCD I2C
L'écran LCD I2C affiche les messages comme “Accès autorisé” ou “Accès refusé”.
Breadboard
Breadboard facilite les connexions des composants sans soudure et permet de modifier facilement le circuit.
Fils Dupont
Fils Dupont relient les composants entre eux sur la breadboard et assurent la transmission des signaux électriques
Connexion du module RFID-RC522 à la carte ESP8266 NodeMCU
RFID-RC522 Pin | ESP8266 NodeMCU Pin |
SDA | GPIO 15 (D8) |
SCK | GPIO 14 (D5) |
MOSI | GPIO 13 (D7) |
MISO | GPIO 12 (D6) |
GND | GND |
RST | GPIO 0 (D3) |
3V3 | 3V3 |
Connexion de l'afficheur I2C LCD à la carte ESP8266 NodeMCU
LCD I2C Screen Pin | ESP8266 NodeMCU Pin |
VCC | VIN |
GND | GND |
SDA | GPIO 4 (D2) |
SCL | GPIO 5 (D1) |
Voici le code en Micropython qui implémente le fonctionnement du système :
Bibliothèques requises
MFRC522 → pour gérer le module RFID-RC522
i2c_lcd et lcd_api → pour afficher les informations sur l’écran LCD I2C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
import machine from machine import Pin, SoftI2C,ADC,SPI from lcd_api import LcdApi from i2c_lcd import I2cLcd from mfrc522 import MFRC522 from time import sleep_ms sck = Pin(14, Pin.OUT) mosi = Pin(13, Pin.OUT) miso = Pin(12, Pin.OUT) sda = Pin(15, Pin.OUT) spi = SPI(baudrate=100000, polarity=0, phase=0, sck=sck, mosi=mosi, miso=miso) I2C_ADDR = 0x27 totalRows = 4 totalColumns = 20 i2c = SoftI2C(sda=Pin(4), scl=Pin(5), freq=400000) #D2(SDA) D1(SCL) #initializing the I2C method for ESP32 lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns) def do_read(): while True: rdr = MFRC522(spi, sda) uid = "" (stat, tag_type) = rdr.request(rdr.REQIDL) # lire l'UID de la carte RFID si elle est présente if stat == rdr.OK: (stat, raw_uid) = rdr.anticoll() if stat == rdr.OK: uid = ("0x%02x%02x%02x%02x" % (raw_uid[0], raw_uid[1], raw_uid[2], raw_uid[3])) print(uid) lcd.clear() lcd.move_to(1,1) # Si l'identificateur de la carte correspond à celui enregistré dans la carte ESP8266 if uid=="0xdb1bb201" : lcd.putstr("Authorized access") else: # si l'identificateur de la carte ne correspond pas à celui enregistré dans la carte ESP8266 lcd.putstr("Access denied") sleep_ms(5000) lcd.clear() lcd.move_to(1,1) lcd.putstr('Scan your card') else: dui="" lcd.clear() lcd.move_to(1,1) lcd.putstr('Scan your card') do_read() |
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info