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, 原型设计, 固件开发, 实时处理, 客户端加密, 嵌入式开发, 恶意输入, 智能保险箱, 漏洞分析, 物理安全, 物联网, 电子工程, 硬件安全, 硬件黑客, 访问控制, 路径探测, 配置审计, 门禁系统