WomanInStem-Projects/RFID_Secure_Safe_WIth_ESP32

GitHub: WomanInStem-Projects/RFID_Secure_Safe_WIth_ESP32

基于 ESP32 的 RFID 访问控制原型项目,集固件开发、硬件搭建与漏洞研究于一体,用于学习嵌入式安全与硬件渗透测试。

Stars: 0 | Forks: 0

# 基于 ESP32 的 RFID 安全保险箱 这是一个基于 ESP32 构建的 RFID 访问控制原型。该项目结合了嵌入式固件、硬件原型设计和安全测试,旨在实现一个“安全保险箱”风格的系统。 ## 当前状态 这是一个活跃的原型项目。核心固件流程已实现并正常运行,但仍有几项安全加固功能计划中。 ## 已实现功能 - ESP32 + MFRC522 RFID 读卡器集成 - SSD1306 OLED 状态消息显示 - 红/绿 LED 反馈(用于拒绝/通过状态) - 蜂鸣器音频信号 - 首次运行时通过 Serial 设置管理员密码 - 基于内存的 RFID UID 访问控制列表 (ACL) - 需管理员密码验证的未知卡片注册流程 ## 当前访问流程 1. 启动时,用户通过 Serial 设置一个 6 位以上字符的管理员密码 2. 设备等待 RFID 卡片 3. 如果卡片 UID 已在 ACL 中,则授权访问(绿 LED 闪烁) 4. 如果卡片 UID 不在 ACL 中,则拒绝访问(红 LED 闪烁) 5. 用户可以选择注册该卡片,但必须通过管理员密码验证 ## 使用硬件 - ESP32 DevKit V1 - MFRC522 RFID 模块 - SSD1306 128x64 OLED (I2C) - 1x 红色 LED - 1x 绿色 LED - 1x 无源蜂鸣器 ## 引脚映射(当前固件) - OLED SDA: `GPIO13` - OLED SCL: `GPIO14` - RFID SCK: `GPIO18` - RFID MISO: `GPIO19` - RFID MOSI: `GPIO23` - RFID SS/CS: `GPIO5` - RFID RST: `GPIO4` - 红色 LED: `GPIO26` - 绿色 LED: `GPIO21` - 蜂鸣器: `GPIO15` ## 软件栈 - PlatformIO + Arduino framework - 主固件: `Firware/src/main.cpp` - 关键库: - `MFRC522` - `Adafruit SSD1306` - `Adafruit GFX` ## 构建与运行 (PlatformIO) 在仓库根目录下执行: ``` cd Firware pio run pio run -t upload pio device monitor -b 9600 ``` ## Wokwi 仿真 - 项目链接: https://wokwi.com/projects/458415152295436289 ## 仓库结构 - `Firware/`: 固件项目,PlatformIO 配置,本地库源码,仿真文件 - `Hardware/`: 原理图和接线参考 - `Study/`: 探索性代码、笔记和支持性实验 - `Vulnerability_research/`: 安全分析和攻击面研究材料 ## 计划后续步骤 - 实现 keypad 或物理输入,而不是依赖 Serial - 实现蜂鸣器和电磁阀电机,用于音频提示和门锁开启 - 允许蜂鸣器、OLED 显示屏和 LED 并发运行(可能作为状态机实现) - 3D 设计并打印将实现此电路的保险箱外壳 - 制作 PCB,购买所有零件并焊接组装
标签:3D打印, Arduino, ESP32, I2C通信, IoT, MFRC522, OLED, PlatformIO, RFID, SPI通信, SSD1306, Streamlit, UML, 原型设计, 固件开发, 实时处理, 客户端加密, 嵌入式开发, 恶意输入, 智能保险箱, 漏洞分析, 物理安全, 物联网, 电子工程, 硬件安全, 硬件黑客, 访问控制, 路径探测, 配置审计, 门禁系统