How to Use an RFID RC522 on Raspberry Pi
Contents
Introduction
The MFRC522 is a highly integrated reader/writer IC for contactless communication at 13.56 MHz. The MFRC522 reader supports ISO/IEC 14443 A/MIFARE mode.
The MFRC522’s internal transmitter is able to drive a reader/writer antenna designed to communicate with ISO/IEC 14443 A/MIFARE cards and transponders without additional active circuitry. The receiver module provides a robust and efficient implementation for demodulating and decoding signals from ISO/IEC 14443 A/MIFARE compatible cards and transponders. The digital module manages the complete ISO/IEC 14443 A framing and error detection (parity and CRC) functionality.
Enable Device Tree
Edit /boot/config.txt
sudo nano /boot/config.txt
Add the line below to the bottom of config.txt
device_tree=on
Hit Ctrl + O to save, and Ctrl + X to exit.
Setup SPI:
Run raspi-config
sudo raspi-config
Go through:
9 Advanced Options -> A5 SPI->Yes
Then press Enter three times to enable SPI as default settings
Select finish and reboot
Install python-dev and git:
sudo apt-get update sudo apt-get upgrade sudo apt-get install python-dev git
Wiring:
Name | Pin# | Pin Name |
---|---|---|
VCC | 1 | 3V3 |
RST | 22 | GPIO25 |
GND | Any | Any Ground |
MISO | 21 | GPIO9 |
MOSI | 19 | GPIO10 |
SCK | 23 | GPIO11 |
NSS | 24 | GPIO8 |
IRQ | None | None |
Install SPI-Py
cd ~ git clone https://github.com/lthiery/SPI-Py.git cd SPI-Py/ sudo python setup.py install
Get MFRC522-python library
cd ~ git clone https://github.com/mxgxw/MFRC522-python.git cd MFRC522-python/
Now Run:
To read card
sudo python Read.py
To write card
sudo python Write.py