ESP32-S31_端侧 AI 视觉终端

ESP32-S31 端侧 AI 视觉终端

基于 ESP32-S31-Korvo-1 开发的端侧视觉智能终端,搭载 OV3660 摄像头、4.3 寸 800×480 触控屏,依托 esp-dl 实现离线人脸、手势 AI 推理,同时接入小智 AI 实现云端对话,支持拍照录像、人脸打卡、网页后台管理、动态壁纸等全套功能,整体工程遵循 AI Agent 自动化开发闭环规范。

核心功能

  • 人脸识别打卡系统:支持人脸录入、三采三验质量校验;识别成功自动保存打卡照片、生成 CSV 打卡流水,依托 SNTP 获取可信时间;支持打卡记录查看、删除、数据对账,人脸库保存在 SD 卡,最多存储 10 组人脸。
  • 图像采集:OV3660 摄像头双模式切换,240×240 低分辨率用于 AI 检测取景,720P 高清模式支持 JPEG 拍照、MJPEG 格式 AVI 录像。
  • 手势识别:离线手掌检测 + MobileNetV2 手势分类,画面实时叠加检测框与手势置信度信息,独立模型档位,不与人脸录入功能混用。
  • 媒体与录音:SD 卡文件管理,图片、视频、录音预览回放;本地 WAV 录音、MP3 音频播放,音频通道采用租约互斥调度,避免多路音频抢占冲突。
  • 小智 AI 对话:接入小智大模型,支持语音对话,可语音控制板载外设,配套独立 AI 浮窗交互界面。
  • 网络能力:AP+STA 双模 WiFi,可连接路由器同时开启无密码热点;SNTP 网络校时、和风天气仪表盘;内置 HTTP 网页管理后台,手机、电脑直接访问。
  • 网页管理端:实时接收打卡推送、查看全部打卡记录;在线预览照片、流式播放 AVI 视频、播放音频;支持壁纸、音乐文件上传删除,一键设置壁纸,附带完善接口,支持二次开发。
  • 动态壁纸:SD 卡壁纸池自动定时轮换,渐变过渡效果;支持界面手动、网页端一键切换壁纸,配置断电记忆,内置兜底壁纸避免黑屏。
  • 外设控制:WS2812 RGB 灯光调节、音量控制、状态指示灯。

端侧 AI 推理方案

所有 AI 模型部署在 LittleFS 分区,不编译进固件镜像,方便后续替换更新。

  • 人脸检测:espdet p4 模型,224×224 输入
  • 人脸关键点、对齐、特征提取:MSR、MNP、MFN 模型,输出 512 维人脸特征用于比对
  • 手势检测与分类:手掌检测模型 + MobileNetV2 手势分类模型
    AI 引擎采用按需加载策略,开启检测时分配 PSRAM 资源,关闭功能后立即释放内存,降低长期内存占用,缓解 PSRAM 碎片问题。

内存与实时性设计

设备 16MB Octal PSRAM 需要承载 LVGL 双缓冲、摄像头数据流、AI 模型、音频、壁纸缓冲等资源,项目设计了严格的资源生命周期管理机制:

  1. AI 模型、相机帧缓冲、录入特征缓存等大块内存,随功能会话加载释放;
  2. 音频通道租约机制,录音、播放、AI 对话互斥独占 Codec;
  3. 摄像头启动内存预判,内存不足时自动释放其他占用资源重试;
  4. 壁纸双缓冲零拷贝设计,不额外消耗 PSRAM;
  5. 日志标记内存占用来源,方便定位内存溢出、碎片问题。

硬件平台

  • 主控:ESP32-S31,双核 RISC-V 320MHz,512KB 片上 SRAM
  • 存储:16MB Flash + 16MB Octal PSRAM;SD 卡用于存放人脸库、照片视频、录音、壁纸
  • 屏幕:4.3 英寸 800×480 RGB565 显示屏,电容触摸
  • 摄像头:OV3660 DVP 接口,支持多分辨率切换
  • 音频:ES8389 音频 Codec,双 MEMS 麦克风、双 NS4150B 功放
  • 开发框架:ESP-IDF v6.1.0
  • 分区规划:单 7MB 应用分区 + 9.29MB LittleFS 分区,存放 AI 模型、字体、图标、兜底素材

UI 界面

基于 LVGL9 搭建多标签页交互:

  • CAM 页:AI 取景,人脸 / 手势检测切换、人脸录入、打卡触发
  • VIDEO 页:720P 预览、拍照、录像控制
  • FILES 页:媒体文件浏览、壁纸预览与设置
  • REC 页:本地录音控制
  • SYS 页:WiFi、RGB 灯光、系统信息、音量设置
    配套独立打卡记录页面、AI 对话浮窗、下拉天气时钟浮层、开机粒子动画。

快速上手

  1. SD 卡格式化为 FAT32,可预先放入 800×480 JPG 壁纸;
  2. 使用 EIM 安装 ESP-IDF v6.1.0,启动 IDF 终端;
  3. 编译固件,烧录应用与 LittleFS 素材分区;
  4. 设备开机,可连接 WiFi 或者直接连接设备自带热点;
  5. 浏览器访问设备 IP,打开网页管理后台;
  6. 在 CAM 页录入人脸,即可使用离线打卡、手势识别;VIDEO 页使用拍照录像功能。

工程架构与 AI Agent 开发规范

项目采用分层解耦架构,业务 middleware 层和 LVGL UI 层隔离,UI 回调禁止直接操作硬件外设。配套完整开发规范、检查清单、串口日志抓取脚本,形成标准化开发流程:阅读规范文档 → 编写代码 → 静态校验 → 编译烧录 → 抓取日志验证迭代。
设置编码红线约束,规避 RTOS 任务栈、PSRAM、音频高频链路等常见崩溃问题,方便 AI Agent 自主迭代开发。

项目进度

✅ 基础 UI、中文字体、页面导航
✅ APSTA 双模 WiFi、SNTP 校时、天气展示
✅ OV3660 相机驱动、720P 拍照、MJPEG 录像封装
✅ 离线人脸识别打卡全套流程、打卡记录管理
✅ 离线手势识别
✅ SD 卡媒体浏览、本地录音、MP3 播放
✅ 小智 AI 语音对话
✅ PSRAM 资源生命周期管理、内存自愈机制
✅ 动态壁纸整套功能、断电记忆、网页壁纸管理
✅ 网页管理后台、打卡推送、媒体在线预览

开源协议

Apache-2.0,维护者:xkk6663

评论 (0)

评论

登录后即可评论

暂无数据
暂无数据