目录
一. RC522和树莓派接线:
1. RC522模块的引脚图:
2. 树莓派4的GPIO接口图:
3. 电路链接图(8个引脚只用其中7个引脚连接到树莓派的GPIO接口即可):
接口对应关系表:
RC522 Header | Diagram Colour | Pi Header | Notes |
---|---|---|---|
3.3V | Grey | 1 | 3.3V |
RST | White | 22 | GPIO25 |
GND | Black | 6 | Ground |
IRQ | – | – | Not connected |
MISO | Purple | 21 | GPIO9 |
MOSI | Blue | 19 | GPIO10 |
SCK | Green | 23 | GPIO11 |
SDA | Yellow | 24 | GPIO8 |
二. 树莓派配置:
首先启用树莓派的SPI接口(默认禁用), 启用方法: 命令行“sudo raspi-config”进入系统配置打开,桌面版则打开“Raspberry Pi Configuration”面板设置。
1. 桌面版启用SPI方法:
2. 安装树莓派的SPI接口支持库
这里的支持库分别是“Py-spidev”和“SPI-Py”,安装“Py-spidev”可以使用命令来安装:
- sudo apt-get install python-spidev python3-spidev
这样“Py-spidev”就可以同时支持Python 2和Python 3了。虽然使用“py-spidev”可以驱动Python中的SPI接口,但是项目中我们使用了“SPI-Py”,可以通过以下命令来完成安装“SPI-Py”:
- cd ~
- git clone https://github.com/lthiery/SPI-Py.git
- cd SPI-Py
- sudo python setup.py install
- sudo python3 setup.py install
同样的“SPI-Py”也可以同时支持Python 2和Python 3了。
3. 下载RC522 的Python库
最后我们还需要下载一个RC522 的Python库,它可以实现SPI接口与RC522模块的通信,这个库依赖于上一步中安装的“SPI-Py”。
- cd ~
- git clone https://github.com/kangaroo711/MFRC522-python.git
关于git clone的github源, 百度的老版本在python3中是有坑的(文章结尾有报错解决方法的超链接), 所以换成了自己上传可使用的版本. 帮助到你的话可以点个星星收藏哦.
三. 运行脚本示例
在“MFRC522-python”目录中有一个示例脚本Read.py。可以这样使用它:
1. 进入MFRC522-python目录
- cd MFRC522-python
2. 运行脚本Read.py
- python Read.py
这个脚本的功能是,首先等待RFID模块检测可识别卡。然后放置卡片它会进行读取,打印出UID后等待2秒再进行读取,这样就不会重复打印相同的UID了,除非你将卡片放置天线感应到的区域超过2秒。至此读卡器项目的雏形就完成了.
*Tip: uid序列号转卡号:
如卡片获取到uid的四个字节序列号是 [36,215,202,175],
10进制 [36,215,202,175] = 16进制 [24,D7,CA,AF]
16进制 24D7CAAF = 10进制 618121903
则卡号是:618121903;
本文搬运参考来源:
3.树莓派 MFRC522 读取报错MIFAREReader = MFRC522.MFRC522() self.MFRC522_Init()
其他一些拓展资料: