XiaoZhi AI エコノミー版 - ESP32開発ボード実装ソリューション
「エコノミー版」とは、初期の ESP32 開発ボード(ESP32-S3 や ESP32-C3 ではないもの)で XiaoZhi AI を構築する構成を指します。よくあるのは、フラッシュ 4 MB で外付け PSRAM のないボードで、NodeMCU-32S や ESP32-DevKitC などです。上流ファームウェアの bread-compact-esp32 系バリアントに対応します。低コストで、最初に試すのに向いていますが、ESP32-S3 版より機能は少なめです。後述の「1. 機能の違い」を参照してください。
1. 機能の違い
上流は ESP32 を S3 とは異なる方法で扱います。使い始める前に把握してください。
| 項目 | ESP32(エコノミー版) | ESP32-S3 |
|---|---|---|
| オーディオ入力エンジン | LiteAudioEngine、生のモノラル PCM | AfeAudioEngine、エコーキャンセル(AEC)と VAD 付き |
| ローカルウェイクワード | 既定で無効。PSRAM がある場合のみ Wakenet model without AFE を選択可 | PSRAM がある場合は既定で AFE ウェイクワードが有効 |
| 会話の開始 | ボタンで会話。外付けのウェイクアップモジュールでも開始可 | ウェイクワードまたはボタン |
根拠:上流の main/audio/README.md と main/Kconfig.projbuild。このため、PSRAM のない ESP32 ボードは、既定ではボタンで会話を開始するか、GPIO19 に接続した外付けウェイクアップモジュールを使います。
2. ファームウェアバリアント
ビルド済みファームウェアのバリアント名は、上流の main/boards/ 以下のディレクトリに対応します。
| バリアント名 | ディスプレイ |
|---|---|
bread-compact-esp32 | OLED SSD1306 128x64 |
bread-compact-esp32-128x32 | OLED SSD1306 128x32 |
bread-compact-esp32-lcd | ST7789 LCD(7 ピン 240x240 構成) |
完全な一覧は対応ボード一覧、ダウンロードと書き込みはファームウェアのダウンロードとインストールを参照してください。
3. ハードウェアと配線
開発ボード以外の部品は、ハードウェア構築ガイドと同じです。INMP441 マイク、MAX98357A アンプ、スピーカー、ブレッドボード、ジャンパーワイヤーを使い、ディスプレイは任意です。以下のピンは bread-compact-esp32/config.h から取得しています。
マイク(INMP441)
| ESP32 | INMP441 |
|---|---|
| GPIO25 | WS |
| GPIO26 | SCK |
| GPIO32 | SD |
| 3V3 | VDD |
| GND | GND。L/R も接続する |
アンプ(MAX98357A)
| ESP32 | MAX98357A |
|---|---|
| GPIO33 | DIN |
| GPIO14 | BCLK |
| GPIO27 | LRC |
| 3V3 | VIN |
| GND | GND |
SD と GAIN ピンの扱いは ESP32-S3 構成と同じです。ハードウェア構築ガイドのアンプ配線を参照してください。
OLED(SSD1306、任意)
| ESP32 | OLED |
|---|---|
| GPIO4 | SDA |
| GPIO15 | SCL |
| 3V3 | VCC |
| GND | GND |
ボタンとその他のピン
| ピン | 役割(esp32_bread_board.cc より) |
|---|---|
| GPIO0 | BOOT ボタン:クリックで会話を切り替え。起動中のクリックで Wi-Fi 設定モードに入る |
| GPIO5 | タッチ/ボタン:押している間だけ話し、離すと終了(StartListening / StopListening に対応) |
| GPIO19 | 外付けウェイクアップモジュールからの入力:クリックは「你好小智」と話すのと同じ |
| GPIO2 | オンボード LED |
| GPIO18 | MCP ライト制御のテスト用ピン(LAMP_GPIO) |
LCD バリアント(bread-compact-esp32-lcd)
ディスプレイは SPI 接続に変わり、ピンは MOSI GPIO4、CLK GPIO15、DC GPIO21、RST GPIO18 です。7 ピンのディスプレイには CS ピンがなく、バックライトは GPIO22 に接続します。その他の型番では CS を GPIO22、バックライトを GPIO23 に接続します。オーディオとボタンの配線は上の表と同じです。
4. ビルドと書き込み
ビルド済みファームウェアを使う:ファームウェアのダウンロードとインストールのページで対応するバリアントをダウンロードし、記載の方法でアドレス 0x0 に書き込みます。書き込み時は、配線済みのブレッドボードに挿したままにせず、ボードを単独でパソコンに接続してください。ダウンロードへの干渉を避けられます。
自分でビルドする:まず ESP-IDF 開発環境のセットアップで環境を整え、上流のボード README に記載のコマンドを実行します。
idf.py set-target esp32
idf.py menuconfig
# Xiaozhi Assistant -> Board Type -> 面包板 ESP32 DevKit
idf.py buildこのメニュー項目は上流では中国語表記です。「面包板 ESP32 DevKit」は「ブレッドボード ESP32 DevKit」の意味です。
5. よくある質問
- 書き込みや消去に失敗する:ボードをブレッドボードから外し、単独でパソコンに接続してやり直してください。その他の書き込みの問題はよくある質問を参照してください。
- ネットワークと設定:流れは ESP32-S3 版と同じです。初回起動とネットワーク設定を参照してください。
- ウェイクワードがない:PSRAM のない ESP32 の既定の動作です。ボタンで会話するか、外付けのウェイクアップモジュールを接続してください。
関連ドキュメント
- ハードウェア構築ガイド:ESP32-S3 のブレッドボード構成
- 対応ボード一覧:すべてのファームウェアバリアント
- カスタム Assets ガイド:カスタムフォント、絵文字、ウェイクワード
出典:78/xiaozhi-esp32 v2.5.2 の main/boards/bread-compact-esp32/、main/boards/bread-compact-esp32-lcd/。