##はじめに
Google home miniを使って、外部のアプリ等で通知した内容を喋らせることができないか試してみた。
Google home miniから、特定の文言で外部アプリに連携することは、IFTTTを使ってできる。
だが、Google Homeを喋らせるためには、google-home-notifierを使用する必要がある。
google-home-notifier:Googleホームに通知を送信するNode.jsライブラリ
WindowsのPCでgoogle-home-notifierを実行し、Google Homeを喋らせる方法について試してみた。
OS:Windows 10
##準備
-
Node.jsのインストール
Node.js - 10.15
※推奨版と最新版があるが、今回は、推奨版を使用 -
Windows Build Toolsのインストール
コマンドプロンプト(※管理者で実行する)で以下のコマンドを実行する。
npm install --global --production windows-build-tools
-
node-gypのインストール
コマンドプロンプト(※管理者で実行する)で以下のコマンドを実行する。
node-gyp に記載されている方法に従って実施する。
npm install -g node-gyp
Pythonが複数バージョンインストールされている環境において、npm経由でnode-gypを実行する場合、Python2.7を使用する必要があるため、以下のコマンドを実行する。(※Python3.x系では、node-gypが実行できない。)
npm config set python /path/to/executable/python2.7
-
Bonjour SDKのインストール
Bonjour SDK for Windows
インストーラーをダウンロードするために、Apple IDでのサインインが必要。
環境変数にBONJOUR_SDK_HOMEが設定されていることを確認する。
設定されていない場合は、「C:\Program Files\Bonjour SDK」で設定する。 -
Bonjour Print Serviceのインストール
Bonjour Print Service(Windows) -
google_home_notifierのインストール
コマンドプロンプト(※管理者で実行する)で適当な作業フォルダにcdコマンドで移動後に以下のコマンドを実行する。
git clone https://github.com/noelportugal/google-home-notifier cd google-home-notifier npm install
##プログラム
まずは、google-home-notifierないのexample.jsを用いて、google homeを喋らせることができるか試す。
IPアドレスと言語(以下の画像で黄色に色付けしている箇所)を修正し、Node.jsで実行する。
IPアドレス:GoogleHomeアプリで確認した値を設定する
言語:jaを設定
表示されたエンドポイントに対して、リクエストを送信したところエンドポイント側で以下のエラーが表示され、Google Homeは喋ってくれない
google-home-notifierで"Error: get key failed from google"とエラーが出る問題の対処法を参考に対処を実施
Node.js内にインストールされたgoogle-home-notifierに含まれるpackage.jsonを編集する。
編集内容
node_modules\npm\node_modules\google-home-notifier\package.jsonの以下の画像の黄色で色付けしている箇所を0.0.5に変更する。
上記対応をして再度試したところ、Google Homeを喋らせることができた。
example.jsをもとに、エンドポイントを立ち上げ、IFTTTのアクションでWebhooksで立ち上げているエンドポイントにリクエストを送信すると、外部のアプリから、Google Homeを喋らせることができた。