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 模型、音频、壁纸缓冲等资源,项目设计了严格的资源生命周期管理机制:
- AI 模型、相机帧缓冲、录入特征缓存等大块内存,随功能会话加载释放;
- 音频通道租约机制,录音、播放、AI 对话互斥独占 Codec;
- 摄像头启动内存预判,内存不足时自动释放其他占用资源重试;
- 壁纸双缓冲零拷贝设计,不额外消耗 PSRAM;
- 日志标记内存占用来源,方便定位内存溢出、碎片问题。
硬件平台
- 主控: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 对话浮窗、下拉天气时钟浮层、开机粒子动画。
快速上手
- SD 卡格式化为 FAT32,可预先放入 800×480 JPG 壁纸;
- 使用 EIM 安装 ESP-IDF v6.1.0,启动 IDF 终端;
- 编译固件,烧录应用与 LittleFS 素材分区;
- 设备开机,可连接 WiFi 或者直接连接设备自带热点;
- 浏览器访问设备 IP,打开网页管理后台;
- 在 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)
评论
登录后即可评论