※複数スピーカ対応はこちら
Google Home、Node.js初心者の私がなんとかGoogle Homeに話させることができたので、下記にまとめます。
必要となるもの
まずは、何を使って開発を行うか?
Node.js
必要なもの:その他いっぱい。(下記に記します。)
ラズベリーパイを使用して開発している記事をよく見かけるが、何もかもが初心者で、これまたラズベリーパイまで出てきたら、頓挫する可能性が上がるので、どうにかラズベリーパイを使わない方法を探す。
環境は、Windows 10、Visual Studioは一通り一式(2008、2010、2012、2015、2017)が入っている。
インストール
- Node.js
- Python / windows-build-tools
- node-gyp
- Bonjour SDK / Bonjour Print Service
- google-home-notifier
Node.jsは、ここからダウンロード
Windows Installer (.msi)の32-bit版をインストールします。
インストール後に、管理者権限でコマンドプロンプトを開き、
”node –version”と入力し、何かが帰ってくればOK。
一緒にインストールされるnpm(node package manager)も念の為確認する。
“npm –version”と入力し、こちらも何かが帰ってくればOK。
Python / windows-build-toolsは、上で開いたコマンドプロンプトに以下のコマンドを入力すると、10分位で、インストールができる。
npm install –global –production windows-build-tools
インストールが終わると、このようなメッセージがお披露目する
この後は、以下のコマンドでnode-gypをインストールする。
うまくいかないときは、「-g」コマンドを取ると良い という記事も散見。
npm install -g node-gyp
Bonjour SDKはAppleのサイトからダウンロード。
Apple Developerアカウントが必要なので、ひと手間。
アップルのサイトから「Bonjour SDK for Windows」を選択し、ダウンロード&インストール。
Bonjour Print Serviceもアップルのサイトからダウンロード&インストール
ようやく、次は、google-home-notifierをインストール。(ここが一番のしんどいところ)
まずは、Work Folderを決める。(例えば、C:¥GoogleHome)
コマンドプロンプトでWork Folderに移動(cd C:¥GoogleHome)
コマンドプロンプトで、下記コマンドを実行
npm install google-home-notifier
そうすると、
赤文字のエラーが。。。(上のスクリーンショットはエラーのごく一部です。)
どうもVC++ の必要なものが入っていないのだと言うこと。
Visual Studio 2015のインストールコンポネントを追加。
Visual C++のCommon Tools for Visual C++ 2015をインストール
Visual C++のインストールが終わったら、再度挑戦
npm install google-home-notifier
今度こそ成功し、早速Google Homeで話させるべく、
Work Folder下にできた「node_modules\google-home-notifier」にコマンドプロンプトを移動。
そして、node example.jsと入力すると、Node.jsが起動。
コマンドプロンプトが、なにか待機状態のようになります。
この時点では、Google Homeへのパスが通っていないので、何をしてもエラーが返ってきます。
example.jsの上部にdeviceNameを入力する箇所があるので、そこで名前を入力するか、IPで指定する行を追加。(デフォルトでは、この行はない。)
var deviceName = ‘Google Home’;
//googlehome.device(deviceName);
googlehome.ip(‘192.168.1.55’, ‘ja’);
ここで再度、node example.jsでNode.jsを起動し、別のコマンドプロンプトでデータをポスト
curl -X POST -d “text=Hello Google Home” http://localhost:8080/google-home-notifier
。。。また、ここでつまづく。
google-tts-apiのバージョンがちょくちょく変わるとのことで、バージョンに合ったkey.jsを使わなければ行けない
「node_modules\google-tts-api\lib」に問題のkey.jsが存在するので、バックアップをとり、ここのサイトから最新版のKey.jsを取得
最新のgoogle-tts-apiのバージョンは、ここでも調べられる。
満を持して、再度、node example.jsを起動、別のコマンドプロンプトで
curl -X POST -d “text=Hello Google Home” http://localhost:8080/google-home-notifier
「とぅるるん Hello Google Home」
まとめ
手順は、多数の記事を見かけるが、バージョンの違いに要注意
進化している分野故か、一年前の記事でも、そのままでは動かない。(バージョンアップのスパンが短い)
右も左もわからない私にとっては、疲れた・・・が、何かに使えないか、模索模索
※複数スピーカ対応はこちら