跳过导航,直接进入主要内容跳过导航,直接进入主要内容跳过导航,直接进入主要内容

GitHub release GitHub stars Build Status ESP-IDF License

🌐 English Documentation

硬件说明

本文档提供 MiBee Cam 固件的详细硬件规格、引脚映射和技术信息。

MiBee Cam 主板

MiBee Cam 是一款专为摄像头应用设计的开发板,带有 ESP32 芯片和摄像头接口。

主板规格

参数 规格
主控制器 ESP32(原始版,不是 ESP32-S3)
CPU 双核 Tensilca Xtensa LX6 @ 240 MHz
闪存 4MB(4 MB 闪存)
PSRAM 4MB(4 MB PSRAM,八线 SPI)
WiFi 2.4 GHz(802.11 b/g/n)
蓝牙 v4.2 BR/EDR
GPIO 33 个 GPIO 引脚
ADC 12 位,18 通道
DAC 2 通道
摄像头接口 8 位并行 + 控制信号
USB USB-C 用于供电和编程

摄像头接口

该板包含 OV2640 摄像头接口,引脚配置如下:

引脚 GPIO 功能 描述
XCLK 0 主时钟 摄像头主时钟,20 MHz
SIOD 26 I2C 数据 摄像头 I2C 数据线(SDA)
SIOC 27 I2C 时钟 摄像头 I2C 时钟线(SCL)
D0 5 并行数据 摄像头并行数据位 0
D1 18 并行数据 摄像头并行数据位 1
D2 19 并行数据 摄像头并行数据位 2
D3 21 并行数据 摄像头并行数据位 3
D4 36 并行数据 摄像头并行数据位 4(仅输入)
D5 39 并行数据 摄像头并行数据位 5(仅输入)
D6 34 并行数据 摄像头并行数据位 6(仅输入)
D7 35 并行数据 摄像头并行数据位 7(仅输入)
VSYNC 25 垂直同步 垂直同步信号
HREF 23 水平参考 水平参考信号
PCLK 22 像素时钟 摄像头像素时钟输出
PWDN 32 断电 摄像头电源控制(高电平有效)
RESET -1 复位 摄像头复位(未连接)

SD 卡接口

该板通过 SPI 接口支持 SD 卡存储:

引脚 GPIO 功能 描述
SD_CS 13 片选 SD 卡 SPI 片选
SD_CLK 14 SPI 时钟 SD 卡 SPI 时钟线(与摄像头共享)
SD_MOSI 15 SPI MOSI SD 卡 SPI 输出
SD_MISO 2 SPI MISO SD 卡 SPI 输入

GPIO 约束和共享

关键 GPIO14 约束

GPIO14 (SD_CLK) 在摄像头和 SD 卡接口之间共享,需要仔细的时间管理:

  • 摄像头使用:当摄像头激活(捕获/初始化)时,GPIO14 用作 SD_CLK
  • SD 卡使用:当访问 SD 卡时,GPIO14 用作摄像头 XCLK
  • 时间复用:固件通过以下方式处理:
    1. 在摄像头操作前取消初始化 SD 卡
    2. 在摄像头操作完成后重新初始化 SD 卡
  • 影响:这意味着摄像头和 SD 卡不能同时使用
  • 后果:不能进行 AVI 视频录制(需要同时使用摄像头和 SD 卡)

仅输入 GPIO 引脚

以下 GPIO 引脚仅用于输入,不能用作输出:

GPIO 引脚号 典型用途
34 GPIO34 摄像头 D4(并行数据)
35 GPIO35 摄像头 D6(并行数据)
36 GPIO36 摄像头 D4(并行数据)
39 GPIO39 摄像头 D5(并行数据)

LED 指示灯

该板包含两个 LED 指示灯:

LED GPIO 类型 功能
状态 LED 33 输出(低电平有效) 系统状态指示器
闪光灯 LED 4 PWM 摄像头闪光控制

状态 LED 状态

状态 模式 描述
启动中 常亮 系统启动
WiFi 连接中 闪烁 连接到 WiFi
运行中 常亮 系统正常运行
错误 快速闪烁 错误条件
AP 模式 慢速闪烁 AP 模式激活

电源要求

参数 规格
输入电压 5V DC
工作电压 3.3V
最大电流 500mA(摄像头操作期间峰值)
推荐电源 5V/1A USB 适配器

启动按钮

引脚 功能 描述
GPIO0 启动按钮 ⚠️ MiBee 板上物理按钮功能已禁用(GPIO0 = 摄像头 XCLK,按下检测不可靠)。出厂重置请改用 POST /api/reset。GPIO0 启动模式选择(引导加载程序进入)在硬件层仍有效。

OV2640 摄像头模块

固件支持 OV2640 摄像头传感器,这是一个 200 万像素的摄像头模块。

OV2640 规格

参数 规格
分辨率 200 万像素(1600×1200)
色彩深度 RGB/YUV
输出格式 JPEG、原始 RGB、YUV420
镜头类型 固定焦距
传感器尺寸 1/4 英寸
帧率 较低分辨率下最高 30 FPS

支持的分辨率

分辨率 代码 尺寸 推荐帧率
VGA 0 640×480 15-30
SVGA 1 800×600 10-25
XGA 2 1024×768 8-20
UXGA 3 1600×1200 3-10

内存要求

摄像头需要 PSRAM 进行帧缓冲:

分辨率 帧大小 缓冲数量 总内存
VGA (640×480) ~300KB 2 ~600KB
SVGA (800×600) ~450KB 2 ~900KB
XGA (1024×768) ~700KB 2 ~1.4MB
UXGA (1600×1200) ~1.2MB 2 ~2.4MB

总 PSRAM 可用:4MB
摄像头使用 PSRAM:UXGA 分辨率最多 2.4MB
其他使用可用:最少 1.6MB

闪存布局

4MB 闪存组织如下:

分区 类型 偏移量 大小 描述
nvs data/nvs 0x9000 24KB NVS 键值存储
phy_init data/phy 0xf000 4KB PHY 初始化数据
factory app/factory 0x10000 ~2.5MB 主应用程序固件
spiffs data/spiffs 0x260000 ~1.2MB Web 界面和照片元数据

固件大小考虑

组件 大小 说明
应用程序 ~1.97MB 主固件(PSRAM 摄像头支持)
引导加载程序 ~92KB ESP-IDF 标准引导加载程序
分区表 ~0.4KB 闪存布局定义
NVS 存储 24KB 配置存储
SPIFFS ~1.2MB Web 界面,缓存照片元数据
总使用 ~3.3MB 13MB 可用
空闲空间 ~0.7MB 可用于扩展

电源管理

电源消耗模式

模式 电流 描述
深度睡眠 ~10µA WiFi 关闭,最小功耗
浅度睡眠 ~150µA WiFi 睡眠模式
空闲 ~20mA 系统空闲,WiFi 连接
摄像头激活 ~250mA 摄像头操作
流传输 ~300mA MJPEG 流传输

电压监控

固件包括电压监控功能:

  • 工作电压范围:3.0V - 3.6V
  • 欠压检测已启用
  • 欠压复位保护

温度考虑因素

参数 规格
工作温度 -40°C 到 +85°C
存储温度 -40°C 到 +125°C
热节流 在 85°C CPU 温度时开始
温度监控 通过 /metrics 端点可用

引脚映射总结

摄像头引脚(固定)

XCLK  → GPIO0
SIOD  → GPIO26
SIOC  → GPIO27
D0-D3 → GPIO5,18,19,21
D4-D7 → GPIO36,39,34,35
VSYNC → GPIO25
HREF  → GPIO23
PCLK  → GPIO22
PWDN  → GPIO32
RESET → NC(未连接)

SD 卡引脚(SPI 接口)

CS   → GPIO13
CLK  → GPIO14(与摄像头 XCLK 共享)
MOSI → GPIO15
MISO → GPIO2

控制和状态引脚

状态 LED → GPIO33(低电平有效)
闪光灯 LED → GPIO4(PWM)
启动按钮 → GPIO0

重要说明

  1. GPIO14 共享:在摄像头和 SD 卡之间共享 - 时间复用固件处理
  2. 无同时摄像头+SD 操作 - 防止 AVI 录制
  3. 需要 PSRAM - 摄像头操作需要 - 不能禁用
  4. 仅输入 GPIO:34,35,36,39 不能用作输出
  5. UART0 用于串行通信(GPIO1=TX,GPIO3=RX)
可访问性增强功能已加载,支持焦点管理、键盘导航和屏幕阅读器