LINEで受信したメッセージを Google home で読み上げる方法@google-home-notifier

外にいて、急に雨が降ってきたときなど、家にいる家族に「雨が降ってきたから洗濯物取り込んで!」とか、私が外に出ているときに、スマホを持っていない息子たちに「今から帰るよ!」とか「ママの言うことを聞きなさい!」と、言いたいことが、よくあります。本当によくあります。

LINEで打った文字を、GoogleHomeが話してくれたらいいのにな。と思い色々調べました。

まずは、
Google-Home-Notifier が使えることが前提ですので、Google-Home-Notifierの設定が済んでいない場合は、以下をご覧ください。

Google-Home-Notifier が使えるようになったら、
以下のサイトを参考にLINEで話してもらうための、例えば「example2.js」を作成します。
もし、node example.js が動いていたら、停止してください。
私は、2つ起動しようとして何度も躓きました。ポートを変えてもダメでした。
いろんなサイトを参考にしていると、自動起動になっている場合もあります。必ず停止しましょう。


以下のリンク先には、3つスクリプトが並んでいるのですが、2つ目のものが参考になります。この後作成するLINEBotが会話のグループに入っていれば、GoogleHomeが話してくれるようになります。

上記の2つ目のコードを貼り付けて、example2.jsを作ります。

ngrok(ローカルのサーバを外部に公開するサービス)が必要になりますので、無料で登録します。登録しないと、6時間くらいでURLが無効になってしまいます。

ngrokを起動します。

cd google-home-notifier/
./ngrok http 8092 --region=ap

私の場合、./ngrok http 8092 だけではうまくいかなかったのですが、
–region=ap を付けたらうまく起動できました。ポートは任意で変更ください。

起動すると以下のような表示が出ます。

Session Status online 
Account xxxxx (Plan: Free)
Version 2.2.8
Region Asia Pacific (ap)
Web Interface http://127.0.0.1:4040
Forwarding http://xxxxxx.ap.ngrok.io -> localhost:8092
Forwarding https://xxxxxx.ap.ngrok.io -> localhost:8092

上記のうち、太字の xxxxxx.ap.ngrok.io の部分を、メモします。
次に、LINEデベロッパーズでbotを作成します。


以下は、簡単なLINEbotの作り方です。

新規プロバイダー作成

名前を決めて、「確認する」あとは、案内に従ってbotを作ります。
その後、基本設定画面で以下のように設定します。

ボタンを押して、アクセストークンを発行します。
これを、example2.js に貼り付けます。
webhookに先ほどメモした、xxxxxx.ap.ngrok.io を貼り付けます。
botのグループトーク参加は、「参加する」にしておいてください。

これで、LINEとGoogle-Home-Notifierをつなげる準備は出来ましたので、
example2.jsを起動します。

node example2.js

先ほど作成した、LINEBotを、GoogleHomeに話してほしいグループに参加させます。私がハマったのは、以下の点です。

◆トークに参加させても話してくれない
 トークとグループは違うので、必ずグループに参加させてください。

◆1つのグループに参加できるbotは1つまで
 毎朝、企業のbotから便利な情報が来て、それをGoogleHomeに話してもらおうとしたのですが、それは仕様上できないそうです。とても残念。

◆通常のGoogle-Home-Notifierと同居ができなかったので、別サーバを用意
 これも少し残念でした。技術的には出来そうですが、私には無理でしたので、仮想サーバを別に立てて、そこで動かすことにしました。




LINEとの連携により、GoogleHomeがとても便利になりました。
IFTTTと連携し、GoogleHome側からLINEにメッセージを送る方法は以下の記事を参考に設定しました。簡単です。



コメント

%d人のブロガーが「いいね」をつけました。