google homeに喋らせる

便利サービス WEB blog
 公開:2018-02-13 更新:2018-02-13

google home活用方法として、サイトを探していたら面白そうな事ができることを知りました。
Raspberry Piを利用しないとGoogle Homeをコントロールできないと思っていましたが、Windows10でも可能であるとのことです。

参考サイト: kghr IT備忘録
このサイトに習って自分の環境にインストールした履歴です。私の環境、Windows10(64)となります。

(1)node.jsのインストール

Node.jsとは、V8 JavaScript としてgoogleが開発した、ブラウザー以外のサーバーで JavaScript を実行する仕組みです。
node.jsのサイト( https://nodejs.org/ja/ )からWindows用のインストーラをダウンロードしインストールします。

node894_ダウンロード画面
推奨版をダウンロードします。

node894本体
上記ファイルを実行します。

node894
デフォルトでインストールします

【コマンド実行】※インストールバージョンの確認です
c:\Users\ユーザー名>node --version

(2)windows-build-toolsのインストール

下記のシステムがインストールされます。

  • Python 2.7.14
  • Microsoft Visual C++ Build Tools
  • Microsoft Visual C++ 2015 Redistributable (x64)

node894_管理者で実行する
必ず管理者権利で起動して下さい。

node894_カレントに移動する
※必ずカレントで実行すること

【コマンド実行】
c:\Users\ユーザー名>npm install -g windows-build-tools

windows-build-tools
実行結果(自動的に再起動した場合は、もう一度実行します。失敗している可能性があります)

(3)node-gypのインストール

Node.js 拡張ビルドツールをインストールします。
※ネイティブ言語(C++等)で書かれたNode.js用のモジュールをビルドするためのツールです。node-gypはビルドにPythonを使用している為、インストール前にC++とPythonの開発環境が必要となります。

【コマンド実行】
c:\Users\ユーザー名>npm install -g node-gyp

node-gyp
実行結果

(4)Bonjourのインストール

Bonjourは、業界標準のIPプロトコルを使用し、IPアドレスを入力したり DNSサーバを設定しなくても、デバイスが相互に自動的に検出するためのシステムらしい。(Appleが開発元)

https://developer.apple.com/bonjour/
上記よりダウンロードする。

  • 【Bonjour SDK for Windows】
  • 【Bonjour Print Services for Windows】※Print Servicesも同様にインストールします。

(5)環境変数登録

Windowsの検索窓から”環境変数”と検索すると該当するアプリケーションが検索されます。

環境変数登録 BONJOUR_SDK_HOME
【BONJOUR_SDK_HOME】に【C:\Program Files\Bonjour SDK\】を設定します。

 

(6)google-home-notifierのインストール

Googleのライブラリです。

【コマンド実行】
c:\Users¥ユーザー名>npm install google-home-notifier

install google-home-notifier
実行結果(package.jsonはsaveしてインストールしていないので無視します。ここでエラーになる場合は、インスール失敗です)
 

(7)実際に実行する前に準備します。

C:\Users\suga\google-home-notifier\example.js】の変更をします
example_jsファイル変更
※変更箇所

  • GoogleHomeのIPアドレスを入力
  • 言語を入力

test_jsファイル
上記ファイルを新規で作成します。
C:\Users\suga\google-home-notifier\test.js

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);});

test_jsファイル属性
エンコードの種類を上記の通りにします。

(8)実際に実行します。

【コマンド実行】
c:\Users\ユーザー名\google-home-notifier>node test.js

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);});

アイディア次第で色々できそうですね。
ではでは。

前の記事