Node-REDでGoogle Homeにテキストをしゃべらせる
Node-REDでGoogle Homeをしゃべらせてみます。
検索するとNode.jsの例がたくさんあります。ならばNode-REDでも同じはずです。ライブラリを見るとノードがあるようなので試してみます。
Google Homeに話しかけるだけではつまらないので、何かしゃべらせてみます。検索するとすぐにNode.jsのライブラリgoogle-home-notifierを使った例が見つかるでしょう。
Node-REDは簡単にライブラリのノードやflowを追加インストールする事ができます。ライブラリに何があるかは次のリンクで探すことができます。
早速入れてみましょう。
表示された画面の"ノードを追加"タブをクリックするとライブラリを検索する事ができます。"google-home"と入れてみましょう。
"ノードを追加"をクリックするとノードが追加できます。追加してみましょう。
しばらくするとノードをパレットへ追加した事を知らせるメッセージが表示されます。
インストール作業は終わりですので閉じるを押します。
画面左のノード一覧をスクロールして出力ノードを見てみます。
"googlehome notify"ノードが追加されているでしょう。
ドロップしたノードをダブルクリックして設定を行います。まずはGoogle HomeのIPアドレスを教えます。
IPアドレスを編集します。
IPアドレスを入力します。この時、LanguageはEnglishしか選択できません。Google Homeを見つけて関連付けされないと選べないようです。
IPアドレスを入力したら設定を一度追わらせます。完了ボタンを押して閉じてください。
Google Home Notifyだけでデプロイします。するとノードの下に"ready"と出るでしょう。
Google Homeが見つかったようです。もう一度ノードをダブルクリックします。
そしてIPアドレスの検索ボタンを押してみます。
すると今度はGoogle HomeのIPアドレスが表示されます。Chromecastも表示されていました。Google Homeを選択します。
今度はLanguageを選択できます。Japaneseを選択して更新します。
これでノードの初期設定ができました。
入力パレットから"inject"ノードをドロップします。
injectノードの初期値はDate型のタイムスタンプを出力する設定になっているようです。injectノードをダブルクリックして設定を開きます。
ペイロードの型を文字列にし、しゃべらせたい文字列を入力します。
injectノードとGoogle Home Notifyノードを接続します。
これで完成です。
デプロイします。
injectノードの一番左側をクリックするとペイロードがflowへ流されます。
クリックしてしばらくするとGoogle Homeがしゃべるでしょう。
調子に乗ってリクエストを送るとGoogle Homeが応答しなくなります。
とても簡単でした。
Node-REDはjavascriptのライブラリを簡単に使うことができます。javascriptのままでは関数の名前や引数が何だったかすぐに忘れたりして面倒なところがあります。Node-REDではflowのpayloadに引数が詰め込まれるため理解がしやすくなりますね。実際にどんなデータが流れているかはデバッグノードですぐに見ることができ便利です。
インターネットの情報を取得するノードもありますから、その情報を切り取ってGoogle Homeでしゃべらせる事も可能です。Yahoo!ニュースのトピックスを取ってきてしゃべらせるなんて事もあっというまに出来ました。
IoTごっこが簡単にできるのでネットにつながるセンサーを増やしたくなります。
検索するとNode.jsの例がたくさんあります。ならばNode-REDでも同じはずです。ライブラリを見るとノードがあるようなので試してみます。
Google Homeに話しかけるだけではつまらないので、何かしゃべらせてみます。検索するとすぐにNode.jsのライブラリgoogle-home-notifierを使った例が見つかるでしょう。
noelportugal/google-home-notifier | GitHubという事はNode-REDでもすぐにできるのでは?
Send notifications to Google Home
Node-REDは簡単にライブラリのノードやflowを追加インストールする事ができます。ライブラリに何があるかは次のリンクで探すことができます。
Node-RED Library | Node-RED検索文字に"google-home"と入れてみましょう。スペースではなくハイフンにしないと検索にひっかからないです。
node-red-contrib-google-home-notifyたぶんこれですね。Daniel Kapplerさん、ありがとう!
早速入れてみましょう。
google-home-notifyのインストール
Node-REDの編集画面を開いて右端のメニューからパレットの管理を選びます。表示された画面の"ノードを追加"タブをクリックするとライブラリを検索する事ができます。"google-home"と入れてみましょう。
"ノードを追加"をクリックするとノードが追加できます。追加してみましょう。
しばらくするとノードをパレットへ追加した事を知らせるメッセージが表示されます。
インストール作業は終わりですので閉じるを押します。
画面左のノード一覧をスクロールして出力ノードを見てみます。
"googlehome notify"ノードが追加されているでしょう。
Google Homeにしゃべらせてみる
Google Home Noitifyノードの初期設定
googlehome notifyをドラッグしてflow編集画面へドロップします。ドロップしたノードをダブルクリックして設定を行います。まずはGoogle HomeのIPアドレスを教えます。
IPアドレスを編集します。
IPアドレスを入力します。この時、LanguageはEnglishしか選択できません。Google Homeを見つけて関連付けされないと選べないようです。
IPアドレスを入力したら設定を一度追わらせます。完了ボタンを押して閉じてください。
Google Home Notifyだけでデプロイします。するとノードの下に"ready"と出るでしょう。
Google Homeが見つかったようです。もう一度ノードをダブルクリックします。
そしてIPアドレスの検索ボタンを押してみます。
すると今度はGoogle HomeのIPアドレスが表示されます。Chromecastも表示されていました。Google Homeを選択します。
今度はLanguageを選択できます。Japaneseを選択して更新します。
これでノードの初期設定ができました。
flowを作る
Google Home Notifyノードは文字列を受け取りしゃべります。入力パレットから"inject"ノードをドロップします。
injectノードの初期値はDate型のタイムスタンプを出力する設定になっているようです。injectノードをダブルクリックして設定を開きます。
ペイロードの型を文字列にし、しゃべらせたい文字列を入力します。
injectノードとGoogle Home Notifyノードを接続します。
これで完成です。
デプロイします。
flowを流す
実際に動かしてみます。injectノードの一番左側をクリックするとペイロードがflowへ流されます。
クリックしてしばらくするとGoogle Homeがしゃべるでしょう。
調子に乗ってリクエストを送るとGoogle Homeが応答しなくなります。
まとめ
Node-REDでライブラリからGoogle Home Notifyノードを追加してGoogle Homeからしゃべらせる事ができました。とても簡単でした。
Node-REDはjavascriptのライブラリを簡単に使うことができます。javascriptのままでは関数の名前や引数が何だったかすぐに忘れたりして面倒なところがあります。Node-REDではflowのpayloadに引数が詰め込まれるため理解がしやすくなりますね。実際にどんなデータが流れているかはデバッグノードですぐに見ることができ便利です。
インターネットの情報を取得するノードもありますから、その情報を切り取ってGoogle Homeでしゃべらせる事も可能です。Yahoo!ニュースのトピックスを取ってきてしゃべらせるなんて事もあっというまに出来ました。
IoTごっこが簡単にできるのでネットにつながるセンサーを増やしたくなります。
こんにちは。
返信削除Windows10にNode-REDをインストールして、GoogleHomeにテキスト文字列をしゃべらせようとしています。
本ページに書かれていることを実施したのですが、Google Home Nofifyの下側に「get key failed from google」とエラー?が表示され、音声が再生されません。
どのように修正すればよいのかご教授いただければ幸いです。
よろしくお願い致します。
こんにちは!
削除返信遅れましたが解決したでしょうか?
使っていないのでエラーを追っていませんが、軽く調べるとgoogle-ttsの仕様が変わったようですね。
https://github.com/noelportugal/google-home-notifier/pull/47
レポジトリの修正はまだのようなので自力で修正しなければならないようです。
ググると対処法が見つかるでしょう。
こちらのリンクの方が良かったですね。
削除https://github.com/nabbl/node-red-contrib-google-home-notify/issues/27
作者はもう修正する気が無いそうですが、修正方法が書いてあります。