In dit stappenplan gaan we aan de slag met een RC522 RFID lezer die verschillende tags kan lezen, de RFID lezer is op internet te koop vanaf € 4,00. Via de SPI interface is deze redelijk eenvoudig aan te sluiten op een Raspberry Pi.
In de fysieke beveiliging van objecten wordt vaak gebruik gemaakt van dergelijke paslezers op deuren. Wanneer een pasje of tag wordt aangeboden voor een lezer wordt gecontroleerd of deze geautoriseerd, waarna wel of geen toegang wordt verleend.
Natuurlijk zijn er veel meer toepassingen denkbaar. Zo kun je bijvoorbeeld met een Raspberry Pi en een RFID lezer een compleet urenregistratie systeem maken. Je kunt een RFID lezer ook gebruiken om bijvoorbeeld een Raspberry Pi af te sluiten of een andere actie uit te laten voeren.
Gebruikte componenten
• RC522 RFID Mifare RFID lezer SPI
• 4x Dupont verbindingskabel (female/female)
Door gebruik te maken van de bovenstaande links steun je raspberrytips, bedankt!
Raspberry Pi 3 model B
Raspbian Stretch (2018-03-13 kernel 4.9.)
Aansluitschema
De RFID lezer sluit je volgens onderstaand schema aan op de Raspberry Pi.
RFID pin | RPI pin | Functie | Kabel |
---|---|---|---|
SDA | 24 | CE0 | Groen |
SCK | 23 | SCLK | Blauw |
MOSI | 19 | SPI MOSI | Paars |
MISO | 21 | SPI MISO | Grijs |
IRQ | – | – | – |
Gnd | 6 | Gnd | Zwart |
RST | 22 | GPIO 25 | Bruin |
3.3V | 1 | 3.3V | Rood |
SPI activeren
Voor de communicatie met de RFID lezer maken we gebruik we de SPI interface, deze dien je via raspi-config te activeren.
raspi-config
Ga in het menu naar ‘Advanced Options’, selecteer de optie ‘SPI’ en activeer de interface.
Herstart hierna je Raspberry Pi:
sudo reboot -h 0
SPI Python libraries
Voordat Python met de SPI interface en RFID lezer kan communiceren hebben we een aantal Python libraries nodig, alleerst de Python Developer library.
sudo apt-get install python-dev
Hierna gaan we SPI-Py downloaden vanaf GitHub:
git clone https://github.com/lthiery/SPI-Py.git
Nadat library is gecloond vanaf GitHub moeten we SPI-Py toevoegen aan Python:
sudo python setup.py install
Python script voor de RC522 RFID lezer
We hebben nu via Python toegang tot de SPI interface. Als laatste hebben we een script nodig dat de tags kan uitlezen, hiervoor maken we gebruik van MFRC522-python. Download het script vanaf GitHub:
git clone https://github.com/mxgxw/MFRC522-python.git
Ga naar de map (MFRC522-python) waarin de GitHub bestanden zijn geplaatst:
cd MFRC522-python
Gebruikt het Read.py script om de tags te lezen:
python Read.py
Wanneer je een tag voor de RFID lezer plaatst zal het UID van de aangeboden tag worden weergegeven in het venster.