amazon

Now Loading...

Node-REDでGoogle Homeにテキストをしゃべらせる

Google Home Notify Flow
Node-REDでGoogle Homeをしゃべらせてみます。
検索するとNode.jsの例がたくさんあります。ならばNode-REDでも同じはずです。ライブラリを見るとノードがあるようなので試してみます。


Google Homeに話しかけるだけではつまらないので、何かしゃべらせてみます。検索するとすぐにNode.jsのライブラリgoogle-home-notifierを使った例が見つかるでしょう。
noelportugal/google-home-notifier | GitHub
Send notifications to Google Home
という事はNode-REDでもすぐにできるのでは?

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"と入れてみましょう。
ライブラリの検索

"ノードを追加"をクリックするとノードが追加できます。追加してみましょう。
しばらくするとノードをパレットへ追加した事を知らせるメッセージが表示されます。
インストール作業は終わりですので閉じるを押します。

画面左のノード一覧をスクロールして出力ノードを見てみます。
google home notify
"googlehome notify"ノードが追加されているでしょう。

Google Homeにしゃべらせてみる

Google Home Noitifyノードの初期設定

googlehome notifyをドラッグしてflow編集画面へドロップします。
ドロップしたノードをダブルクリックして設定を行います。まずはGoogle HomeのIPアドレスを教えます。

googlehome notifyの設定

IPアドレスを編集します。

Google HomeのIPアドレス

IPアドレスを入力します。この時、LanguageはEnglishしか選択できません。Google Homeを見つけて関連付けされないと選べないようです。
IPアドレスを入力したら設定を一度追わらせます。完了ボタンを押して閉じてください。

Google Home Notifyだけでデプロイします。するとノードの下に"ready"と出るでしょう。
google home notify ready

Google Homeが見つかったようです。もう一度ノードをダブルクリックします。
そしてIPアドレスの検索ボタンを押してみます。
Google Home Notify IP設定
すると今度はGoogle HomeのIPアドレスが表示されます。Chromecastも表示されていました。Google Homeを選択します。
今度はLanguageを選択できます。Japaneseを選択して更新します。
これでノードの初期設定ができました。

flowを作る

Google Home Notifyノードは文字列を受け取りしゃべります。
入力パレットから"inject"ノードをドロップします。
injectノードの追加

injectノードの初期値はDate型のタイムスタンプを出力する設定になっているようです。injectノードをダブルクリックして設定を開きます。

injectノードの設定
ペイロードの型を文字列にし、しゃべらせたい文字列を入力します。

injectノードとGoogle Home Notifyノードを接続します。
Flow
これで完成です。
デプロイします。

flowを流す

実際に動かしてみます。
injectノードの一番左側をクリックするとペイロードがflowへ流されます。
Flowのトリガ
クリックしてしばらくするとGoogle Homeがしゃべるでしょう。

調子に乗ってリクエストを送るとGoogle Homeが応答しなくなります。

まとめ

Node-REDでライブラリからGoogle Home Notifyノードを追加してGoogle Homeからしゃべらせる事ができました。
とても簡単でした。

Node-REDはjavascriptのライブラリを簡単に使うことができます。javascriptのままでは関数の名前や引数が何だったかすぐに忘れたりして面倒なところがあります。Node-REDではflowのpayloadに引数が詰め込まれるため理解がしやすくなりますね。実際にどんなデータが流れているかはデバッグノードですぐに見ることができ便利です。

インターネットの情報を取得するノードもありますから、その情報を切り取ってGoogle Homeでしゃべらせる事も可能です。Yahoo!ニュースのトピックスを取ってきてしゃべらせるなんて事もあっというまに出来ました。

IoTごっこが簡単にできるのでネットにつながるセンサーを増やしたくなります。

コメント

話題のコスモス ナノ

Now Loading...

最近のコメント

Threaded Recent Comments will be here.

amazon

Now Loading...

このブログの人気の投稿

フローリングのワックス剥がしを簡単にするにはどうするのが良いのだろうか

AndroidでDLNA再生するのに良いアプリは?