Google Home開発 google-home-notifierで日本語を話させる
Google Home miniに乗り換え、順調にGoogle Homeライフを満喫しています。
っと言っても、Google Musicやラジコでラジオを聴いているだけですが・・・
そこで、今日からGoogle Homeのアプリを開発して、もっともっと遊んで行こうと思います。
直近でやりたいころ
①テレビのリモコン操作
赤外線リモコンの全ての操作に対応させたい。Youtubeの再生などChrome Castとの連携も充実させて、メディアプレイヤーとの連携もしたいですね。
②テレビの視聴管理
子供がYoutube動画を見過ぎるため、1日の制限時間を設定したいです。赤外線リモコンを廃止して、ねえGoogle、テレビを付けてと言った時に、時間を超えている場合は無効にしたり、見ている時に時間を超えた場合は、自動でOFFになったりできるイメージです。
この程度なら、多くのサービスと連携しなくても実現できそう?
①、②を簡単に実現させるために、専用の学習リモコンも考えていたのですが、他の方のレビューを見ると何かと使い勝手が悪そうなので、保留にしました。
そして、使おうと思っているハードは、raspberry pi 3です。
raspberry pi 3にリモコン送受信機能を構築して、家中の家電を操作するのも面白いかもしれませんね。ただ、とりあえずはテレビが操作できれば良いので、標準で利用できるraspberry pi 3のHDMI-CEC機能を使うことに決めましrた。また、raspberry pi 3を開発用のサーバーにしてしまえば、今後何かと便利そうですからね。ただ、raspberry pi 3を構築しなければなりませんが・・・
とまあ、いろいろな環境を構築する前に、勉強がてらGoogle Homeを操作してみることにしました。
利用したのは「google-home-notifier」です。
google-home-notifierを使えば、簡単に引数を与えるだけで、送ったテキストを読み上げてくれます。
現在使える環境がCent OS7しかないので、その環境を利用してテストしました。
npm install google-home-notifier
いろいろとインストール時(Python3)にエラーがでましたが、何とかインストールが完了しました。
(外部公開用のngrokなどは、使わないのでコメントアウトした方が良いです)
node_modules\google-home-notifier\example.js で
googlehome.device( deviceName, 'ja' ); googlehome.ip( '999.999.999.999' );
などを追加・修正し、実行するとWEBサーバーが起動するので
curl -X POST -d "text=こんにちは!今日はいい天気です。" http://localhost:9999/xxxxx
を動かしてみます。
すると、Google Homeのスピーカーから「こんにちは!今日はいい天気です。」っと話してくれました。
とても簡単にGoogle Homeがしゃべってくれるので便利ですね。
ただ、何回かテストしているうちに気づいたのですが、google-home-notifierの致命的な問題点が見るかりました!
それは、音楽やラジオを再生している時に、google-home-notifierを実行すると、音楽やラジオが続きから再生されずに、止まってしまうのです。
理想はgoogle-home-notifierで音声を流した後、続きから音楽が再生されることなんですが、何か設定方法があるのだろうか?
利用できるオプション設定が無いのか?確認してみることにしました。
とりあえず今週ぐらいにはraspberry pi 3を構築しよう・・・