Edited at

Raspberry Pi1(たぶんZeroも可)でGoogle Assistantを試す

More than 1 year has passed since last update.

Raspberry Pi3じゃなくてもGoogle Assistantができるみたいなので、Raspberry Pi1で試してみました。

たぶんZeroでもできると思います。

(Zero W買えませんでした)

Python全くわかりませんが、手順に沿ったらできました。

「OK Google」は対応してないのかな?


参考サイト


ハードウェア


  • Raspberry pi1

  • スピーカー … 100均で買った

  • マイク … LogicoolのWebcam C200が手元にあった


セットアップ


Install Python 3

$ sudo apt-get update

$ sudo apt-get install python3 python3-venv


作業用ディレクトリの作成

$ cd ~

$ mkdir MyGoogleHome
$ cd MyGoogleHome


Create a new virtual environment (recommended):

$ python3 -m venv env

$ env/bin/python -m pip install --upgrade pip setuptools
$ source env/bin/activate


OAuthクライアントIDの作成とJSONファイルの入手

https://developers.google.com/assistant/sdk/prototype/getting-started-other-platforms/config-dev-project-and-account

を参考に、client_secret_<client-id>.jsonを入手。


Authorization

$ pip install --upgrade google-auth-oauthlib[tool]

$ google-oauthlib-tool --client-secrets [jsonファイル] --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless

コマンド実行後、「このURLにアクセスしてね」的なメッセージが出力され、コードの入力待ち状態になります。

ブラウザでURLにアクセスし、指示に従ってコードを入手。入手したコードをターミナルに貼り付ける。


サンプルプログラムの入手

$ sudo apt-get install portaudio19-dev libffi-dev libssl-dev

$ pip install --upgrade google-assistant-sdk[samples]

おそらく、google-assistant-sdkそのものもダウンロードしてくると思われます。

結構時間かかります。。。


サンプル実行

$ googlesamples-assistant-pushtotalk

$ googlesamples-assistant-pushtotalk 

INFO:root:Connecting to embeddedassistant.googleapis.com
Press Enter to send a new request... ←エンターを入力して英語で質問開始。
INFO:root:Recording audio request.
INFO:root:End of audio request detected
INFO:root:Transcript of user request: "who is the first American President". ←自動で質問が終わったことを検知して、質問した内容が出力
INFO:root:Playing assistant response. ←音声出力
INFO:root:Finished playing assistant response.
Press Enter to send a new request... ←エンター待ちになって、繰り返す

すごーい


終わりに

英語が喋れなので、AndroidのGoogle翻訳アプリに喋ってもらいました。