Raspberry Piを自家製のGoogle Homeに変える

ソース

Google Homeは、Google Assistantを内蔵した美しいデバイスです。Googleの最先端のデジタルパーソナルアシスタントです。 —自宅のどこにでも置くことができ、驚くべきことをしてくれます。リマインダー、買い物リスト、メモを保存し、最も重要なことに、会話のコンテキストに基づいて質問やクエリに回答します。

この記事では、Raspberry Piを自家製のGoogle Homeデバイスに変える方法を学びます。つまり、

  • Googleアシスタントを搭載。
  • 音声がアクティブになりました。ボタンを押す必要はなく、「OK Google」または「Hey Google」と発声して質問するだけです。
  • ユーザーとGoogleアシスタントの間の会話が進行中の場合は常に点灯するLEDインジケータがあります。
  • 起動時に初期化できるため、再起動後にログインして端末からスクリプトを実行する必要はありません。

それでは始めましょう。

何が必要ですか?

  • Raspberry Piモデル2または3。
  • Raspbianを搭載したMicroSDカード(最小8GBを推奨)。
  • ラズベリーパイに給餌するための電源。 (最小5V、2A出力のUSBモバイル充電器はすべて機能します。)
  • USBマイク(Raspberry Piには内蔵マイクがないため、MI-305を使用しました)。
  • スピーカー。
  • LED。
  • LEDを接続するための2本のワイヤ。

これらがすべて揃ったら、Raspbianデスクトップにログインし、次の手順に1つずつ進みます。

ステップ-1:USBマイクのセットアップ。

  • Raspberry Piにはマイクが内蔵されていません。オーディオを録音する場合は、USBマイクを接続する必要があります。
  • USBマイクをRaspberry PiのUSBスロットのいずれかに差し込みます。
  • ターミナルに移動し、次のコマンドを入力します。
  • このコマンドは、利用可能なすべてのオーディオ録音デバイスをリストします。以下の出力が得られます。

ご覧のとおり、USBデバイスはカード1に接続され、デバイスIDは0です。RaspberryPiは、カード0を内部サウンドカード(bcm2835)として認識し、他の外部サウンドカードを外部サウンドカードとして認識します。

  • それでは、オーディオ設定を変更しましょう。以下のコマンドを入力して、asound.confファイルを編集します。
  • ファイルに以下の行を追加します。次に、Ctrl + Xを押し、その後Yを押してファイルを保存します。

これにより、外部マイク(pcm.micを参照)をオーディオキャプチャデバイス(pcm!.defaultを参照)として設定し、内蔵サウンドカード(カード0)をスピーカーデバイスとして設定します。

  • 次のコマンドを発行してホームディレクトリ(/ home / pi)に.asoundrcという名前の新しいファイルを作成し、上記の設定(/etc/asound.confファイルに追加したもの)をこのファイルに貼り付けます。

ステップ-2:スピーカー出力を設定します。

  • スピーカーをRaspberry Piの3.5mmヘッドフォンジャックに接続します。
  • 以下のコマンドを実行して、raspberry pi設定画面を開きます。
  • [詳細オプション]> [オーディオ]に移動し、目的の出力デバイスを選択します。

ステップ-3:マイクとスピーカーをテストします。

  • スピーカーをテストするには、ターミナルで以下のコマンドを実行します。これにより、テストサウンドが再生されます。完了したら、Ctrl + Cを押します。テスト音が聞こえない場合は、スピーカーの接続を確認してください。
  • マイクをテストするには、次のコマンドを実行します。これにより、短いオーディオクリップが記録されます。エラーが発生した場合は、手順1をもう一度確認してください。
  • 次のコマンドを発行して、録音したオーディオを再生し、すべてが正しく機能することを確認します。

はい。ハードウェアが設定されました。

ステップ-4:必要なパッケージをダウンロードし、Python環境を構成します。

  • まず、オペレーティングシステムを更新します。
  • ターミナルで次のコマンドを1つずつ実行します。

これにより、ラズベリーパイにPython 3環境が作成され(Google AssistantライブラリがPython 3.xでのみ実行されるため)、必要な依存関係がインストールされます。

  • Python環境をアクティブにします。
  • 次に、Google Assistant SDKパッケージをインストールします。これには、Raspberry PiでGoogle Assistantを実行するために必要なすべてのコードが含まれています。 Googleアシスタントライブラリとデモをダウンロードする必要があります。

ステップ-5:Google Assistantクラウドプロジェクトを有効にします。

  • Google Cloud Consoleを開き、新しいプロジェクトを作成します。 (好きな名前を付けることができます。)ログインに使用したアカウントは、Google Assistantにクエリを送信し、パーソナライズされた応答を取得するために使用されます。
  • APIマネージャーに移動して、Google Assistant APIを有効にします。
  • -アカウントのアクティビティコントロールでウェブとアプリのアクティビティ、デバイス情報、音声とオーディオのアクティビティを有効にしていることを確認してください。
  • -[認証情報]に移動して、OAuthコンテンツ画面を設定します。
  • [認証情報]タブに移動して、新しいOAuthクライアントIDを作成します。
  • 「その他」としてアプリケーションタイプを選択し、キーの名前を指定します。
  • OAuthキー情報を保存するJSONファイルをダウンロードし、安全に保管してください。

ステップ-6:Raspberry Piを認証します。

  • 以下のコマンドを実行して認証ツールをインストールします。
  • 次のコマンドを実行してツールを実行します。手順5でダウンロードしたJSONファイルの正しいパスを指定してください。
  • 以下のように表示されます。 URLをコピーしてブラウザーに貼り付けます(これは開発者が行うことができます

代わりに、InvalidGrantErrorと表示される場合、無効なコードが入力されています。再試行する。

ステップ-7:LEDインジケーターのセットアップ。

  • GPIOピン25とグランドの間にLEDを接続します。
  • ここでの考え方は簡単です。 GPIOピン25を出力ピンとして設定します。 Google Assistant SDKは、Google Assistantによる変換が開始されると、コールバックEventType.ON_CONVERSATION_TURN_STARTEDを提供します。その時点で、GPIO 25を設定してLEDを点灯させます。会話が終了するたびに、EventType.ON_CONVERSATION_TURN_FINISHEDコールバックが受信されます。その時点で、GPIO 25をリセットしてLEDをオフにします。

ステップ-8:ブート完了時に初期化:

  • Raspberry Piが起動プロセスを完了するたびに、起動時にGoogle Assistantを認証および初期化するpythonスクリプトを実行します。
  • 最初にRPi.GPIOパッケージを追加して、次のコマンドを使用してGPIOサポートを追加します。
  • ユーザーディレクトリに移動します。新しいpythonファイルmain.pyを作成します。
  • 次のスクリプトを記述して、ファイルを保存します。
  • 次に、Google Assistantを初期化して実行するシェルスクリプトを1つ作成します。
  • 以下の行をファイルに貼り付けて、ファイルを保存します。
  • 実行許可を付与します。

google-assistant-init.shを実行して、いつでもGoogle Assistantを開始できます。

起動中にGoogleアシスタントを起動する方法を見てみましょう。

  • 起動時にGoogleアシスタントを有効にするには、2つの方法があります。それぞれを見てみましょう。

1.起動時にPixel Desktopで自動起動する:

  • これにより、Pixelデスクトップが起動するとすぐにGoogleアシスタントが起動します。 Raspberry Pi構成で「デスクトップ」ブートが選択されていることを確認してください。
  • 以下のコマンドを入力します。
  • @xscreensaver -no-splashの後に次を追加します
  • 「Ctrl + X」、次に「Y」を押して保存して終了します。

2.ブート時のCLIを使用した自動起動:

  • CLIブートを設定している場合、これによりGoogle Assistantが起動します。 Raspberry Pi構成で「CLI」ブートが選択されていることを確認してください。
  • 以下のコマンドを入力します。
  • ファイルの最後に以下の行を追加します。
  • 「Ctrl + X」、次に「Y」を押して保存して終了します。
それで全部です!!!これで、「Homemade Google Home」の準備ができました。デバイスを再起動し、Googleアシスタントに最初の質問をします。

結論:

Google Homeを使用すると、毎日さまざまなことができます。ライトをオフにする、ドアを開けるなどのカスタムタスクを実行する場合は、GoogleアシスタントにGoogleアクションを統合することで実行できます。 Googleアシスタントの起動に問題がある場合は、下にコメントを残してください。私はそれらを解決しようとします。

〜記事が気に入ったら、下のをクリックして、より多くの人がそれを見ることができるようにします!また、MediumまたはMy Blogで私をフォローできますので、今後の記事に関する最新情報を入手できます!!〜