google home活用方法として、サイトを探していたら面白そうな事ができることを知った。
Raspberry Piを利用しないとGoogle Homeをコントロールできないと思っていたが、Windows10でも可能であるとのこと。
参考サイト: (kghr IT備忘録)
このサイトに習って自分の環境にインストールした履歴だ。私の環境、Windows10(64)となる。
Node.jsとは、V8 JavaScript としてgoogleが開発した、ブラウザー以外のサーバーで JavaScript を実行する仕組み。
node.jsのサイト( https://nodejs.org/ja/ )からWindows用のインストーラをダウンロードしインストールする。
推奨版をダウンロードする。
上記ファイルを実行する。
デフォルトでインストールする
【コマンド実行】※インストールバージョンの確認
c:\Users\ユーザー名>node --version
下記のシステムがインストールされる。
必ず管理者権利で起動する。
※必ずカレントで実行すること
【コマンド実行】
c:\Users\ユーザー名>npm install -g windows-build-tools
実行結果(自動的に再起動した場合は、もう一度実行する。失敗している可能性があるため)
Node.js 拡張ビルドツールをインストールする。
※ネイティブ言語(C++等)で書かれたNode.js用のモジュールをビルドするためのツール。node-gypはビルドにPythonを使用している為、インストール前にC++とPythonの開発環境が必要となる。
【コマンド実行】
c:\Users\ユーザー名>npm install -g node-gyp
実行結果
Bonjourは、業界標準のIPプロトコルを使用し、IPアドレスを入力したり DNSサーバを設定しなくても、デバイスが相互に自動的に検出するためのシステムらしい。(Appleが開発元)
https://developer.apple.com/bonjour/
上記よりダウンロードする。
Windowsの検索窓から”環境変数”と検索すると該当するアプリケーションが検索される。
【BONJOUR_SDK_HOME】に【C:\Program Files\Bonjour SDK\
】を設定する。
Googleのライブラリだ。
【コマンド実行】
c:\Users¥ユーザー名>npm install google-home-notifier
実行結果(package.jsonはsaveしてインストールしていないので無視する。ここでエラーになる場合は、インスール失敗である)
【C:\Users\suga\google-home-notifier\example.js
】の変更をする
※変更箇所
上記ファイルを新規で作成する。
【C:\Users\suga\google-home-notifier\test.js
】
【test.js】
var googlehome = require('google-home-notifier');
var language = 'ja';
googlehome.device('Google Home', language);
var TEXT = "こんにちわ";
googlehome.notify(TEXT, function(res) {console.log(res);});
エンコードの種類を上記の通りにする。
【コマンド実行】
c:\Users\ユーザー名\google-home-notifier>node test.js
実行結果(GoogleHomeが機能しましたでしょうか?)
【トラブルシューティング】
・インフォメーション情報
C:\Users\suga\node-gyp configure
pythonを実行しバージョンを確認する
エラーは無いですか?・Pythonバージョン確認
C:\Users\suga\.windows-build-tools\python27\python.EXE
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.・インストール時ERRは無いかどうか?
・GoogleHomeのIPは正しいか?
・GoogleHomeのLAN接続されているか?またミュートになっていないか?
【jikan.js】などタスクスケジュルに登録することで定期的にGoogleHomeに喋らせることが可能になります
【jikan.js】
var jikan= new Date();
var hour = jikan.getHours();
var ts = hour+"時です";
googlehome.notify(ts, function(res) {console.log(res);});
アイディア次第で色々できそうだ。
ではでは~