# esp_camera **Repository Path**: panzi/esp_camera ## Basic Information - **Project Name**: esp_camera - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-26 - **Last Updated**: 2026-07-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ESP32-S3 AI Camera 基于 Yahboom(亚博智能)ESP32-S3 开发板的 AI 摄像头项目,包含 6 个独立的 ESP-IDF 固件示例,支持多种 AI 推理功能。 ## 功能模块 | 模块 | 功能 | AI 模型 | |------|------|---------| | **AI_Cat_Face_Detectiona** | 猫脸/狗脸检测 | CatFaceDetectMN03 | | **AI_Color_Detection** | 颜色检测与识别 | ColorDetector (HSV) | | **AI_Human_Face_Detection** | 人脸检测 | HumanFaceDetectMSR01 + MNP01 | | **AI_Human_Face_Recognition** | 人脸识别与注册 | FaceRecognition112V1S8 | | **AI_Motion_Detection** | 二维码/条形码扫描 | esp-code-scanner | | **Camera_Display** | 纯摄像头视频流 | 无 AI 处理 | ## 硬件要求 - **开发板**: Yahboom ESP32-S3 AI Camera - **MCU**: ESP32-S3 (240MHz, Quad SPI PSRAM 80MHz) - **摄像头**: GC2145 (支持 OV2640/OV3660/OV5640) - **Flash**: 4MB ### 接口说明 | 接口 | 引脚 | 用途 | |------|------|------| | UART0 | TX=GPIO43, RX=GPIO44 | 主串口输出 (115200 baud) | | UART1 | TX=GPIO36, RX=GPIO35 | 辅助串口输出 | | I2C Slave | SDA=GPIO38, SCL=GPIO37, Addr=0x33 | 与外部 MCU 通信 | | BOOT0 | GPIO0 | 功能按键 | ## 环境准备 1. 安装 [ESP-IDF v5.0+](https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/get-started/) 2. 初始化 ESP-IDF 环境: ```bash . $IDF_PATH/export.sh ``` 3. 连接 ESP32-S3 开发板 ## 编译与烧录 ```bash # 进入任意示例目录 cd AI_Cat_Face_Detectiona # 设置目标芯片 idf.py set-target esp32s3 # 编译 idf.py build # 烧录并监控 idf.py -p /dev/cu.usbmodem* flash monitor ``` ### 直接烧录预编译固件 ```bash esptool.py --chip esp32s3 --port /dev/cu.usbmodem* --baud 460800 \ write_flash 0x10000 AI_Color_Detection/可直接烧录固件/AI_Color_Detectiona.bin ``` ## WiFi 配置 默认 WiFi 配置: - **AP 模式**: SSID=`Yahboom_ESP32_WIFI` (开放网络), IP=`192.168.4.1` - **STA 模式**: SSID=`Yahboom2`, 密码=`yahboom890729` 修改方式: 1. 编辑 `sdkconfig.defaults` 中的 `CONFIG_ESP_WIFI_SSID` 和 `CONFIG_ESP_WIFI_PASSWORD` 2. 或在 `main/src/app_mywifi.c` 中修改 `wifi_SSID`/`wifi_PASSWD` ## 访问摄像头 烧录后连接 WiFi `Yahboom_ESP32_WIFI`,浏览器访问: - 视频流: `http://192.168.4.1:81/stream` - 控制页面: `http://192.168.4.1/` ## I2C 寄存器映射 | 寄存器 | 功能 | |--------|------| | 0x01 | 水平镜像控制 | | 0x02 | 垂直翻转控制 | | 0x03 | 模式选择 | | 0x04 | 模块复位 | | 0x08 | 虚拟按键 | | 0x20-0x27 | 检测框坐标 (左上角 X/Y, 右下角 X/Y) | | 0x28-0x2B | 中心点坐标 | | 0x2C-0x2D | 人脸 ID | | 0x2E-0x2F | 检测面积 | ## 项目结构 ``` AI_Camera/ ├── AI_Cat_Face_Detectiona/ # 猫脸检测 ├── AI_Color_Detection/ # 颜色检测 ├── AI_Human_Face_Detection/ # 人脸检测 ├── AI_Human_Face_Recognition/ # 人脸识别 ├── AI_Motion_Detection/ # 二维码扫描 ├── Camera_Display/ # 纯摄像头流 └── components/ # 共享组件 ├── esp-dl/ # 深度学习库 ├── yahboom_esp32-camera/ # 摄像头驱动 ├── yahboom__mdns/ # mDNS 服务 ├── esp_http_server/ # HTTP 服务器 ├── fb_gfx/ # 帧缓冲图形 ├── esp-code-scanner/ # 二维码扫描库 └── modules/ # 通用模块 (WiFi, HTTP, UART, I2C) ``` ## 注意事项 - 6 个示例为独立项目,每次只能烧录一个 - 所有帧缓冲区分配在 PSRAM 中,需要启用 PSRAM 支持 - AI 推理任务使用 FreeRTOS 双核调度,检测结果同时输出到 UART0、UART1 和 I2C