将RC522 RFID模块与Raspberry Pi使用

Using the RC522 RFID Module with the Raspberry Pi

这 RC522 RFID模块 允许Raspberry Pi读取和编写RFID(射频标识)标签,使其可用于访问控制,自动化和IoT项目。本指南将向您展示如何使用Raspberry Pi和Python连接,配置和读取RFID卡。


你需要什么

  1. 覆盆子pi (任何具有SPI支持的模型,例如PI 3,PI 4)
  2. RC522 RFID模块
  3. RFID标签或卡 (与13.56MHz兼容)
  4. 面包板和跳线电线
  5. 安装了Python 在你的覆盆子pi上

步骤1:将RC522接线到Raspberry Pi

RC522使用 SPI协议.

连接(SPI模式)

RC522针 覆盆子Pi Pin 功能
VCC 3.3V(引脚1) 电源
gnd 地面(引脚6) 地面
SDA(SS) GPIO8(引脚24) SPI芯片选择
SCK GPIO11(引脚23) SPI时钟
莫西 GPIO10(引脚19) SPI数据输入
味o GPIO9(引脚21) SPI数据输出
GPIO25(引脚22) 重置

笔记: RC522在 3.3V。做 不是 将其连接到5V,因为它可能会损坏模块。


步骤2:启用SPI接口

RC522使用 SPI(串行外围界面) 进行通信,因此我们需要在Raspberry Pi上启用SPI。

  1. 打开Raspberry Pi配置工具:

    sudo raspi-config
    
  2. 导航到 接口选项> SPI 并启用它。

  3. 重新启动覆盆子Pi:

    sudo reboot
    
  4. 验证SPI已启用:

    ls /dev/spidev*
    

    你应该看 /dev/spidev0.0/dev/spidev0.1.


步骤3:安装所需库

  1. 更新您的Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. 安装SPI和RFID库:
    sudo apt install -y python3-pip python3-spidev python3-rpi.gpio
    pip3 install mfrc522
    

步骤4:读取RFID数据的Python代码

这是一个使用RC522模块读取RFID标签/卡数据的Python脚本。

Python代码示例

import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

reader = SimpleMFRC522()

try:
    print("Place your RFID tag or card near the reader...")
    id, text = reader.read()
    print(f"RFID Tag ID: {id}")
    print(f"Stored Text: {text}")

except KeyboardInterrupt:
    print("Exiting...")
finally:
    GPIO.cleanup()

步骤5:将数据写入RFID标签

您也可以将自定义文本写入RFID标签。

python代码编写数据示例

import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

reader = SimpleMFRC522()

try:
    text = input("Enter text to write to the RFID tag: ")
    print("Place your RFID tag near the reader...")
    reader.write(text)
    print("Data written successfully!")

except KeyboardInterrupt:
    print("Exiting...")
finally:
    GPIO.cleanup()

步骤6:RC522 RFID模块的应用

  1. 访问控制 - 使用RFID卡解锁门或授予限制区域的访问权限。
  2. 出勤系统 - 在学校,办公室或活动中的日志条目和退出。
  3. 库存管理 - 使用RFID标签跟踪项目。
  4. 物联网和自动化 - 触发具有RFID身份验证的智能家居设备或工业系统。

故障排除

  1. 未检测到的RFID标签

    • 确保标签在内 2-3厘米 读者。
    • 检查接线和连接。
  2. 权限拒绝错误

    • 运行脚本 sudo:
      sudo python3 rfid_read.py
      
  3. 找不到SPI设备

    • 确保启用SPI(ls /dev/spidev* 应该列出设备)。
    • 尝试重新启用SPI通过 sudo raspi-config.

结论

RC522 RFID模块 是将基于RFID的识别和自动化集成到Raspberry Pi项目中的强大工具。通过遵循本指南,您可以轻松读取和编写RFID标签数据,从而在访问控制,安全性和IoT项目中启用应用程序。尝试不同的用例以解锁其全部潜力! 🚀

发表评论

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.