nfc(near field communication,近场通信),属于高频,读距为2cm左右,协议为14443a,15693,android/ios均支持nfc,目前在移动支付等场景得到一定的应用。树莓派可以跟nfc模块结合起来再挂个显示屏(接hdmi接口),就可以做一个简易的员工考勤机(员工考勤卡须含有高频标签)。
一、硬件接线
nfc模块选用RC522,树莓派跟nfc模块通信方式采用SPI接口(SPI,Serial Peripheral Interface,串行外设接口,是一种主从式接口)。
接线示意图:
实际接线图:
二、软件编程
-
安装SPI-Py库
开始编写代码之前,首先通过sudo raspi-config进入配置界面,打开SPI接口。
有个Python库SPI-Py,可以操作SPI。通过git或者打开网页下载zip包进行安装。
git clone https://github.com/lthiery/SPI-Py.git
然后安装
sudo python3 setup.py install
如果你配置了python3为默认python环境,则sudo python setup.py install
-
安装RC522的Python库
git clone https://github.com/kangaroo711/MFRC522-python.git
这个库依赖于SPI-Py库,请保证正确安装。 -
运行RC522的Python库中的示例代码
cd MFRC522-python
python Read.py
当将nfc卡片靠近nfc模块时,打印读取到的nfc卡片的uid(只读,唯一id)。程序中就可以根据这个uid到数据库中检索比对员工信息,完成打卡动作。
参考资料:
https://blog.csdn.net/qq_40259641/article/details/108749501