
🌐 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
- 时间复用:固件通过以下方式处理:
- 在摄像头操作前取消初始化 SD 卡
- 在摄像头操作完成后重新初始化 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
重要说明
- GPIO14 共享:在摄像头和 SD 卡之间共享 - 时间复用固件处理
- 无同时摄像头+SD 操作 - 防止 AVI 录制
- 需要 PSRAM - 摄像头操作需要 - 不能禁用
- 仅输入 GPIO:34,35,36,39 不能用作输出
- UART0 用于串行通信(GPIO1=TX,GPIO3=RX)