ESP32-NanoCam 串口协议手册
波特率: 115200 | 数据位: 8 | 校验: 无 | 停止位: 1 | 流控: 无
兼容主流摄像头模块 AT 指令集,新增 NanoCam 扩展指令。
一、通用规则
- 指令大小写不敏感(
STA_SSID=sta_ssid) - 指令后需跟任意英文标点(
,.:;等)作为结束符 - 部分指令修改后会自动重启
- 每条指令以
\r\n结尾(串口助手通常自动添加)
二、WiFi 配置
STA 模式(连接路由器)
| 指令 | 说明 | 示例 | 返回值 |
|---|---|---|---|
sta_ssid:名称 | 设置 WiFi 名称 | sta_ssid:MyWiFi | OK |
sta_pd:密码 | 设置 WiFi 密码 (修改后重启) | sta_pd:12345678 | OK (重启) |
WiFi 名称和密码最长 30 字符,不支持中文。
AP 模式(自发热点)
| 指令 | 说明 | 示例 | 返回值 |
|---|---|---|---|
ap_ssid:名称 | 设置热点名称 | ap_ssid:NanoCam-AP | OK |
ap_pd:密码 | 设置热点密码 (修改后重启) | ap_pd:12345678 | OK (重启) |
WiFi 模式
| 指令 | 说明 | 参数 | 返回值 |
|---|---|---|---|
wifi_mode:X | 切换模式 | 0=AP 1=STA 2=AP+STA | OK (变更时重启) |
三、AI 模式切换
| 指令 | 模式 | 说明 | 重启 |
|---|---|---|---|
ai_mode:0 | 正常 | MJPEG 图传,无 AI | ✅ |
ai_mode:1 | 猫脸检测 | 实时猫脸画框 + 置信度 | ✅ |
ai_mode:2 | 人脸检测 | 实时人脸画框 + 坐标 | ✅ |
ai_mode:3 | 颜色识别 | 框选录入→实时检测 | ✅ |
ai_mode:4 | 人脸识别 | 注册→辨认→删除 | ✅ |
ai_mode:5 | 二维码 | 实时解码→串口输出 | ✅ |
ai_mode:6 | LLM 智能体 | XiaoZhi AI 语音对话 + AI 视觉 | ✅ |
ai_mode:7 | ESP-Claw | 语音控制 + 拍照视觉分析 + OpenAI Vision | ✅ |
ai_mode有效值: 0-7。超出范围默认变为 0。修改后自动重启,重启后新模式生效。
四、信息查询
| 指令 | 说明 | 返回值示例 |
|---|---|---|
sta_ip | 查询 STA IP | sta_ip:192.168.1.100 |
ap_ip | 查询 AP IP | ap_ip:192.168.4.1 |
wifi_ver | 查询固件版本 | NanoCam Board Ver:0.2.0 |
五、系统控制
| 指令 | 说明 | 返回值 |
|---|---|---|
wifi_reset | 恢复出厂设置 (重启) | Reset_OK |
nano_reboot | 软复位 | Rebooting... |
nano_info | 完整设备信息 (JSON) | 见下方 |
nano_info 返回示例
JSON
{
"device": "NanoCam",
"ver": "0.2.0",
"chip": "ESP32-S3",
"flash": "16MB",
"psram": "8MB",
"ai_mode": 1,
"wifi_mode": 2,
"sta_ip": "192.168.1.100",
"free_heap": 245760
}六、人脸识别专用命令
仅在 ai_mode:4(人脸识别模式)下有效。
| 指令 | 说明 | 标签行为 | 返回示例 |
|---|---|---|---|
face_eril | 注册当前画面中检测到的人脸 | 蓝色 "Enroll: ID N",闪现 0.5s | >>> face enroll triggered |
face_rz | 进入持续人脸识别模式 | 绿色 "ID: N" / 红色 "who?",持续显示不消失 | >>> face recognize triggered |
face_del | 删除最后注册的人脸 ID | 红色 "N IDs left",闪现 0.5s | >>> face delete triggered |
face_detect | 退出识别模式,返回纯人脸检测 | 清除所有标签 | >>> face detect mode |
人脸识别操作流程
Plaintext
ai_mode:4 # 进入人脸识别模式 (设备自动重启)
face_eril # 注册人脸 (确保只有一张脸在画面中)
face_rz # 开始持续识别 — 标签持续显示不消失
face_detect # 退出识别模式 — 标签清除
face_del # 删除最后注册的人脸人脸识别注意事项
- 注册时需确保画面中只有一张人脸,距离 30-50cm
- 识别模式(
face_rz)下标签持续显示,不会 0.5 秒消失——这是 0.3.0 的新行为 - 要退出识别模式需发送
face_detect,否则标签一直显示 - 人脸特征存储在 Flash
fr分区,掉电不丢失,最多 47 个 ID - 识别采用跳帧策略(每 10 帧跑一次 MFN 推理)
七、扩展指令(NanoCam 专属)
| 指令 | 说明 | 状态 |
|---|---|---|
nano_server:url | 设置 LLM 服务器地址 (NVS 保存) | ✅ |
nano_api_key:key | 设置 LLM API 密钥 (NVS 保存) | ✅ |
nano_mqtt:broker,port,topic | 配置 MQTT 服务器 | 🔨 |
nano_led:R,G,B | 设置 RGB LED (WS2812, GPIO18 DIN) | 📋 |
nano_snap | 拍照存储 (SPIFFS) | ✅ |
nano_stream:on/off | 启停图传 | 📋 |
nano_server / nano_api_key
| 指令 | 说明 | 示例 | 返回值 |
|---|---|---|---|
nano_server:URL | 设置 LLM 服务器地址 | nano_server:https://api.openai.com | OK server=https://api.openai.com |
nano_api_key:KEY | 设置 API 密钥 | nano_api_key:sk-xxxx | OK |
支持任意 OpenAI 兼容 API(vLLM / Ollama / 本地模型均可)。 ESP-Claw 模式 (ai_mode:7) 支持使用
nano_server,XiaoZhi AI (ai_mode:6) 走独立服务器配置。
八、注意事项
sta_pd/ap_pd修改后自动重启,重启后新密码生效ai_mode修改后自动重启(仅当模式改变时)- 人脸识别模式(mode 4)下,Type-C 串口配置功能可能失效(内存不足)
- WiFi 名称/密码不能超过 30 字符,不能有中文
- 指令后需要跟标点符号作为结束符
下一步
- 快速开始 — 从烧录固件到 AI 模式切换的完整上手流程

