LoginSignup
4

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-07-19

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翻訳アプリに喋ってもらいました。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4