ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

零基础学ESP32:RFID无线射频卡——让ESP32拥有“刷卡“能力!

零基础学ESP32:RFID无线射频卡——让ESP32拥有“刷卡“能力! 门禁卡、公交卡、校园一卡通、停车场出入卡……这些滴一下就能识别的卡片背后都是RFID技术在工作。今天要学的就是RFID技术中最经典的应用——用ESP32读取RFID卡的ID。学会了这节课你就能做出自己的门禁系统、考勤机、智能储物柜今天这节课我们就用ESP32 MFRC522模块读取RFID卡片的ID号第一步找到课程看看成品效果打开逗脑IDE点击顶部“文档”在“课程” → “ESP32 MicroPython”分类下找到RFID无线射频卡 1-读取卡的id这节课。打开课件你会看到本节课的最终效果把RFID卡片靠近读卡模块终端立刻打印出卡片的ID号如rfid卡片的id: 0x1a2b3c4d移开卡片后停止。第二步什么是RFIDRFIDRadio Frequency Identification中文叫无线射频识别是一种非接触式的自动识别技术。简单理解卡片里有一个小芯片和天线读卡器发出无线电波卡片通过电波获得能量然后把存储的ID信息发回给读卡器。核心特点参数说明工作频率13.56MHz高频读卡距离0~5cm接口SPI4根线支持卡片Mifare OneM1卡、S50、S70等典型应用门禁、公交卡、校园卡第三步动手接线MFRC522模块使用SPI接口接线如下MFRC522引脚连接ESP32说明VCC3.3V电源正极必须3.3VGNDGND电源地SCKGPIO18SPI时钟MOSIGPIO23主机输出MISOGPIO19主机输入SDA/CSGPIO5片选信号 重要提示VCC一定要接3.3V接5V会烧坏模块。第四步上传驱动文件在运行代码之前需要先将MFRC522驱动文件mfrc522.py上传到ESP32。操作步骤在MicroPython端新建mfrc522.py文件将课件中提供的完整驱动代码复制进去然后上传到ESP32。这个驱动文件的作用封装了MFRC522模块的底层通信细节提供了读卡、写卡、防冲突检测等功能的接口第五步代码——读取卡片IDfromtimeimportsleep_msfrommachineimportPin,SPIfrommfrc522importMFRC522# 创建SPI引脚对象sckPin(18,Pin.OUT)mosiPin(23,Pin.OUT)misoPin(19,Pin.OUT)# 创建SPI对象spiSPI(baudrate100000,polarity0,phase0,scksck,mosimosi,misomiso)# 创建片选引脚sdaPin(5,Pin.OUT)defread_id():# 1. 创建RFID操作对象rfidMFRC522(spi,sda)# 2. 循环读取数据whileTrue:# 3. 复位应答检测是否有卡片靠近stat,tag_typerfid.request(rfid.REQIDL)ifstatrfid.OK:# 4. 防冲突检测提取卡片IDstat,raw_uidrfid.anticoll()ifstatrfid.OK:_id0x%02x%02x%02x%02x%(raw_uid[0],raw_uid[1],raw_uid[2],raw_uid[3])print(rfid卡片的id:,_id)sleep_ms(500)if__name____main__:read_id()代码逻辑步骤操作说明1创建SPI对象配置SPI通信参数2创建MFRC522对象初始化读卡模块3request()检测是否有卡片靠近4anticoll()防冲突检测读取卡片ID5格式化打印将ID格式化为十六进制字符串第六步保存运行刷卡测试保存代码到开发板命名 test_rfid.py点击运行按钮终端开始等待卡片靠近。试试看把RFID卡片靠近模块的天线区域距离0~5cm终端立刻打印rfid卡片的id: 0x1a2b3c4d移开卡片再放回去再次打印相同的IDRFID能做什么应用场景用途门禁系统刷卡开门只有授权卡能进考勤系统刷卡签到记录员工/学生出勤智能储物柜刷卡开柜安全存放物品停车场管理刷卡出入自动计费会员卡系统刷卡识别会员身份智能家居刷卡开灯/开空调结合之前学过的课程组合效果RFID 继电器刷卡控制门锁开关RFID OLED刷卡后屏幕显示ID和欢迎信息RFID 蜂鸣器刷卡成功/失败发出提示音RFID WiFi刷卡记录上传到服务器RFID MQTT刷卡触发远程通知常见问题Q为什么读不到卡A检查以下几点VCC是否接3.3V接5V会烧坏卡片是否靠近天线区域0~5cm内接线是否正确尤其是MISO和MOSI不要接反Q能读手机NFC吗A部分手机的NFC可以模拟M1卡但不是所有手机都支持。用标准M1卡测试最稳定。Q能修改卡片里的数据吗A可以MFRC522支持读写M1卡的扇区数据。这个内容会在下一节课讲解。全程回顾步骤操作效果找到课程文档→课程→ESP32MicroPython→RFID读取卡ID了解RFID原理上传驱动上传mfrc522.py到ESP32驱动就绪动手接线VCC→3.3V, GND→GND, SCK→GPIO18, MOSI→GPIO23, MISO→GPIO19, SDA→GPIO5硬件就位打开代码点击“打开”按钮代码进入编辑器保存运行CtrlS → 选择ESP32 → 运行开始等待卡片刷卡测试卡片靠近模块终端打印卡片ID
返回列表