Skip to content

Repository files navigation

whoTakenMyTool

基于ESP32-S3的RFID工具跟踪系统,带有Web界面和触摸屏显示。

硬件

  • 主控: 4D Systems Gen4 ESP32-S3 (8MB PSRAM, 16MB Flash)
  • 显示屏: 480x320 TFT (ST7796S, 横屏模式)
  • 触控: CST816S 电容触摸屏
  • RFID: MFRC522 SPI RFID读卡器 (x4工具位 + 1门禁)
  • 舵机: 门锁控制
  • 限位开关: 检测盒子关闭状态

引脚配置

SPI总线 (RFID共享)

引脚 功能
GPIO 12 SCK
GPIO 13 MISO
GPIO 11 MOSI

RFID扫描器 (CS引脚)

引脚 功能
GPIO 10 Scanner 1 CS
GPIO 9 Scanner 2 CS
GPIO 8 Scanner 3 CS
GPIO 7 Scanner 4 CS
GPIO 14 共享RST

门禁读卡器

引脚 功能
GPIO 6 CS
GPIO 5 RST

显示屏 (SPI)

引脚 功能
GPIO 12 SCK
GPIO 11 MOSI
GPIO 15 CS
GPIO 2 DC
GPIO 1 RST
GPIO 45 背光

触控屏 (I2C)

引脚 功能
GPIO 18 SDA
GPIO 17 SCL
GPIO 16 INT
GPIO 38 RST

其他

引脚 功能
GPIO 4 舵机
GPIO 3 限位开关

限位开关

用于检测盒子是否关闭,控制门锁逻辑和工具借还流程。

参数
引脚 GPIO 3
类型 常开 (NO)
按下电平 LOW
上拉 内部上拉 (INPUT_PULLUP)
接线 一端接 GPIO 3,另一端接 GND

逻辑: 盒子关闭时限位开关被按下,引脚读到 LOW;盒子打开时引脚被内部上拉到 HIGH。

行为:

  • 舵机上锁前检查限位开关,盒子未关闭则拒绝上锁
  • 解锁超时后等待限位开关触发(盒子关闭),才执行 RFID 对比和锁门流程

构建与上传

使用PlatformIO CLI:

# 构建
pio run

# 上传到设备
pio run -t upload

# 打开串口监视器
pio device monitor

# 构建+上传+监视器
pio run -t upload && pio device monitor

技术栈

  • 平台: Espressif32, Arduino框架
  • 语言: C++
  • 显示库: LovyanGFX + LVGL 9.x
  • Web服务器: ESPAsyncWebServer
  • 前端: Vue.js 3 + Vite

项目结构

├── src/                    # 源代码
│   ├── main.cpp           # 主程序入口
│   ├── display/           # 显示相关
│   │   ├── display_tft.cpp    # TFT显示逻辑
│   │   ├── lvgl_setup.cpp     # LVGL初始化
│   │   ├── lgfx_config.h      # LovyanGFX配置
│   │   └── cst816s.cpp        # 触控驱动
│   ├── rfid/              # RFID相关
│   ├── web/               # Web服务器
│   └── config_manager.cpp # 配置管理
├── include/               # 头文件
│   ├── config.h           # 引脚和配置定义
│   └── lv_conf.h          # LVGL配置
├── frontend/              # Vue.js前端
├── data/                  # LittleFS文件系统
└── platformio.ini         # PlatformIO配置

功能特性

  • 4个RFID工具位,支持借出/归还跟踪
  • 门禁RFID读卡器,支持PIN码输入
  • 480x320触摸屏显示工具状态
  • QR码显示,手机扫码访问Web界面
  • WiFi配置,支持STA/AP模式
  • Web管理界面,支持远程配置
  • Metro UI设计风格

注意事项

  • 显示屏使用BGR颜色顺序,LVGL需要字节交换
  • 触控坐标需要从竖屏(320x480)转换为横屏(480x320)
  • RFID扫描器共享SPI总线,使用CS引脚选择

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages