Facebookで、ESP32からAlexaと日本語でやり取りできた、という記事を見かけたので試してみました。
■資材■
- ESP32 Dev Kitなど
- マイク
SPH0645LM4H搭載 I2S MEMSマイクモジュール - I2Sアンプなど
MAX98357A搭載 I2S 3W D級アンプボード - スピーカー(4-8Ωで1w以上のものならなんでも)
- なくてもいいですが、マイコン内蔵LED NeoPixelsまたはWS2812を2個
なお、ESP-IDFが必要です。
■作業■
https://github.com/MrBuddyCasino/ESP32_Alexaに書いてある通りですが:
- Githubに書いてあるとおり配線
- その他、GNDと3.3vも配線。しっかり確認。
- プログラムをGithubからcloneします。適当なディレクトリに移動し
git clone https://github.com/MrBuddyCasino/ESP32_Alexa.git - cd ESP32_Alexa
- github上に不足しているコンポーネントを取得します
git submodule init && git submodule update - ESP32のMACアドレスを取得。例えばこの辺のサンプルを使います。
https://ht-deko.com/arduino/esp-wroom-32.html - Alexa Authenticationを取得。Githubに書いてある通りです。
- make menuconfig -> Alexa ConigでSSID, Password, API Endpoint(US), Language(en-US), Anthentication Token(上記7で取得したtokenをそのままコピペします)を設定。Serial flasher conigなども設定。
- ESP32をUSBと接続
- make flash
wifiにつながって正常に起動するとスピーカーから「けけけけけ」みたいな声が聞こえます。「alexa, good morming」と呼びかけてみましょう。何かごちゃごちゃ言われます。
すっげー!
以上確認できたら日本語化します。この辺の記事を見ると、サーバ側だけでなくローカルにもLocale設定があるようで、
とりあえずGithub上で"en-US"でテキスト検索してみると、main/Kconfig.projbuildで設定している様子。なので、ja-JPが選択できるようにKconfigを変更してから、menuconigでlocaleを変更します。
とりあえずGithub上で"en-US"でテキスト検索してみると、main/Kconfig.projbuildで設定している様子。なので、ja-JPが選択できるようにKconfigを変更してから、menuconigでlocaleを変更します。
- 設定ファイルをいじります。main/Kconfig.projbuildを開きます。
- 以下の2箇所にja-JP / ALEXA_LOCALE_JA_JPを追加します。
- choice prompt "Language"
- config ALEXA_LOCALE
- 以下の2箇所にALEXA_ENDPOINT_FE / "https://avs-alexa-fe.amazon.com"を追加します。
- prompt "API Endpoint"
- config ALEXA_ENDPOINT
- make menuconfig -> Alexa ConigでLanguage(ja-JP)を選びます。
- https://alexa.amazon.comで住所などを設定
- make flash
「けけけけけけ」が聞こえたら、「アレクサ、おはよう」と呼びかけてみてください。1月8日は、ホーキング博士についての紹介があります。
…って書くと簡単なんですが、alexa.amazon.comに住所設定してもうまくいかないし、ja-JPを選択するととたんに返事しなくなったり…大変でした。alexa.amazon.co.jpに設定しないとダメとか両方に設定があると動作がおかしくなる、等の情報もあって右往左往しまくりでした…。
あと、しばらく放置していると突然「けけけけけけ」と哭きます。大変不気味です。ログをみたらExceptionを吐いていました。Exception->再起動->起動して「けけけ」ってことですね。あんまり気持ちのいい声ではないのでビックリしました。
■追記■
END_POINTはUSのままでも動作しますが、facebookに紹介されていたので加筆しました。情報を提供してくださってありがとうございます。お陰さまで連休中の作業が無駄になりませんでした。あと、しばらく放置していると突然「けけけけけけ」と哭きます。大変不気味です。ログをみたらExceptionを吐いていました。Exception->再起動->起動して「けけけ」ってことですね。あんまり気持ちのいい声ではないのでビックリしました。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。