micropython,esp32,RFID-RC522的使用

一、RFID
射频技术(RF)是Radio Frequency的缩写。较常见的应用有无线射频识别(Radio Frequency Identification,RFID),常称为感应式电子晶片或近接卡、感应卡、非接触卡、电子标签、电子条码等。其原理为由扫描器发射一特定频率之无线电波能量给接收器,用以驱动接收器电路将内部的代码送出,此时扫描器便接收此代码。
接收器的特殊在于免用电池、免接触、免刷卡故不怕脏污,且晶片密码为世界唯一无法复制,安全性高、长寿命。RFID的应用非常广泛,典型应用有动物晶片、汽车晶片防盗器、门禁管制、停车场管制、生产线自动化、物料管理。
RFID标签有两种:有源标签和无源标签。

二、RFID-RC522
在这里插入图片描述
MFRC522是应用于13.56MHz非接触式通信中高集成度的读写卡芯片,针对“三表”应用推出的一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备研发的较好选择。便携式手持设备研发的较好选择。MFRC522利用了先进的调制和解调概念,集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。支持14443A兼容应答器信号。数字部分处理ISO14443A帧和错误检测。此外,还支持快速CRYPTO1加密算法,用语验证MIFARE系列产品。MFRC522支持MI FARE系列更高速的非接触式通信,双向数据传输速率高达424kbit/s。作为13.56MHz高集成度读写卡系列芯片族的新成员,MFRC522与MF RC500和MFRC530有不少相似之处,同时也具备许多特点和差异。它与主机间通信采用SPI模式,有利于减少连线,缩小PCB板体积,降低成本。

三、使用准备
//小编使用的是thonny进行编译的
1、将RC522类文件加入到esp32中
在这里插入图片描述
2、将esp32与RFID-RC522连接(电压接3.3V!!!)

在这里插入图片描述

颜色 RC522接口 esp32接口
3.3V 3V3
绿 GND GND
RST D4
SDA D5
SCK D16
MISO D19
MOSI D23

四、代码及效果

from mfrc522 import MFRC522
from machine import Pin
from machine import SPI

spi = SPI(2,baudrate=2500000,polarity=0,phase=0)
spi.init()
rdr = MFRC522(spi=spi,gpioRst=4,gpioCs=5)
print("place card")
while True:
    (stat,tag_type) = rdr.request(rdr.REQIDL)
    
    if stat == rdr.OK:
        (stat,raw_uid) = rdr.anticoll()
        
        if stat ==rdr.OK:
            card_id ="uid:0x%02x%02x%02x%02x" % (raw_uid[0],raw_uid[1],raw_uid[2],raw_uid[3])
            print(card_id)

效果:

在这里插入图片描述
S50异型卡与S50空白卡分别接触RC522显示的uid是不同的,可以以此做不同的作品等。
到这就是一个简单的使用了。

//有需要类文件的可以联系博主

猜你喜欢

转载自blog.csdn.net/m0_64596200/article/details/129764722