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 | QR コード | リアルタイムデコード→シリアル出力 | ✅ |
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 # 删除最后注册的人脸顔認識の注意事項
- 登録時は画面に顔が 1 つだけであることを確認し、距離は 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 モード切替までの完全な導入手順

