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、生のモノラル PCMAfeAudioEngine、エコーキャンセル(AEC)と VAD 付き
ローカルウェイクワード既定で無効。PSRAM がある場合のみ Wakenet model without AFE を選択可PSRAM がある場合は既定で AFE ウェイクワードが有効
会話の開始ボタンで会話。外付けのウェイクアップモジュールでも開始可ウェイクワードまたはボタン

根拠:上流の main/audio/README.md と main/Kconfig.projbuild。このため、PSRAM のない ESP32 ボードは、既定ではボタンで会話を開始するか、GPIO19 に接続した外付けウェイクアップモジュールを使います。

2. ファームウェアバリアント

ビルド済みファームウェアのバリアント名は、上流の main/boards/ 以下のディレクトリに対応します。

バリアント名ディスプレイ
bread-compact-esp32OLED SSD1306 128x64
bread-compact-esp32-128x32OLED SSD1306 128x32
bread-compact-esp32-lcdST7789 LCD(7 ピン 240x240 構成)

完全な一覧は対応ボード一覧、ダウンロードと書き込みはファームウェアのダウンロードとインストールを参照してください。

3. ハードウェアと配線

開発ボード以外の部品は、ハードウェア構築ガイドと同じです。INMP441 マイク、MAX98357A アンプ、スピーカー、ブレッドボード、ジャンパーワイヤーを使い、ディスプレイは任意です。以下のピンは bread-compact-esp32/config.h から取得しています。

マイク(INMP441)

ESP32INMP441
GPIO25WS
GPIO26SCK
GPIO32SD
3V3VDD
GNDGND。L/R も接続する

アンプ(MAX98357A)

ESP32MAX98357A
GPIO33DIN
GPIO14BCLK
GPIO27LRC
3V3VIN
GNDGND

SD と GAIN ピンの扱いは ESP32-S3 構成と同じです。ハードウェア構築ガイドのアンプ配線を参照してください。

OLED(SSD1306、任意)

ESP32OLED
GPIO4SDA
GPIO15SCL
3V3VCC
GNDGND

ボタンとその他のピン

ピン役割(esp32_bread_board.cc より)
GPIO0BOOT ボタン:クリックで会話を切り替え。起動中のクリックで Wi-Fi 設定モードに入る
GPIO5タッチ/ボタン:押している間だけ話し、離すと終了(StartListening / StopListening に対応)
GPIO19外付けウェイクアップモジュールからの入力:クリックは「你好小智」と話すのと同じ
GPIO2オンボード LED
GPIO18MCP ライト制御のテスト用ピン(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 の既定の動作です。ボタンで会話するか、外付けのウェイクアップモジュールを接続してください。

関連ドキュメント

出典:78/xiaozhi-esp32 v2.5.2 の main/boards/bread-compact-esp32/、main/boards/bread-compact-esp32-lcd/。