LINEメッセージをGoogle Homeに喋らせる方法【Raspberry Pi3使用】

LINEメッセージをGoogle Homeに喋らせる方法【Raspberry Pi3使用】
カテゴリ
生活
タグ
Google Home
google-home-notifier
LINE
Raspberry Pi

表題の通り、例えば外にいる人がLINEで「これから帰ります」と打つと、家のGoogle Homeが読み上げてくれて、LINEに気づかなくても分かるようになるという生活ハックです。

逆の、Google HomeからLINEへの書き込みはIFTTTなどを使うと簡単にできるので以下を参照ください。

https://qiita.com/jyoshida/items/f74afe3e421795cdd63c

2019/7/5追記:ngrokのURLが一定時間で無効となってしまうやり方でした。認証トークンを指定する方法へ追記しています。

基本的な方針

以下の記事で紹介されている事がベースなのですが、ここで使っている「google-home-notifier」というライブラリが最近更新されておらずいくつか修正しなければなりませんでした。それらを都度やるのも面倒なので私のほうでこのリポジトリをforkし、「LINEからのメッセージを受信」「Raspberry Pi 3で動かす」向けに編集して、なるべく作業量が少なくなるようにしています。

参考URL:

https://qiita.com/daaaaaasuke/items/5e95983166667094f42f

動作要件

  • Raspberry Pi 3
    • 常に電源が入りっぱなしの常時稼働ができること
    • Gitが入っていること(なければ入れてください)
  • Google Home

ngrokの準備

LINEという外部のサービスから自宅のGoogle Homeへ通信するためには外部へ公開するURLを用意しなければなりません。そのサービスがngrokです。アカウント登録して認証トークンを取得します。

まず、以下のURLにアクセスするとログイン画面がでますので、アカウント登録をしてください。メールアドレスでの登録か、GithubやGoogleアカウントがあればその情報で楽に登録ができます。

https://dashboard.ngrok.com/get-started

続いて、ログインした状態で上記URLにアクセスすると以下の画面が出るので、そこから認証トークンをコピーしておいてください。

Google Home の準備

理想を言えば、自動でGoogleHomeのIPを見つけ出せればよいのですがそこまで対応できていないため、まずご自身でGoogle HomeのIPを事前に調べておいてください。後ほど指定します。

また、ルータの再起動などによってIPアドレスが変わると設定変更などをしなければならなくなってしまうので、ご自宅のルータの設定によって、GoogleHomeに”固定IP”を割り当てておくことをお勧めします。


例)ルータのIPアドレス情報

Raspberry Pi 3の準備

google-home-notifier の準備

まず「google-home-notifier」をダウンロードします。ここで指定しているのは本家版ではなく、私がフォークして修正したものです。以下のコマンドをRaspberry Piのターミナル上で実行してください。

1git clone https://github.com/nisioka/google-home-notifier.git

そして、そのディレクトリに以下の設定ファイルがあるので、先に調べた以下の情報に書き換えてください。

  • “ngrok_auth_token”: ngrokの認証トークン
  • “googlehome_ip”: Google HomeのIPアドレス

google-home-notifier/config/default.json

node.jsのアップデート

ここからは少々ハマった部分です。。 Raspberry Piに元から入っているnode.jsが古く更新をしたいのですが、普通に”apt-get”コマンドなどでの更新だとこの後の手順が上手くいかなかったり特定のバージョンに対する依存関係があるようなので、少し面倒な手順をいくつか踏んでいます。

1// 古いnode.jsを削除
2sudo apt-get autoremove nodejs
3
4// インストール場所の「/.nvm」ディレクトリを作成する。
5mkdir .nvm
6// nvmをダウンロード
7git clone https://github.com/creationix/nvm.git .nvm/
8// nvmを使えるようにする。
9source .nvm/nvm.sh
10
11// node.jsをnvmを用いてインストールする。
12// もう少し新しいバージョンもありますが、バージョン8系でないと上手くいかないようです。
13nvm install v8.16.0
14
15// インストール前にnpmの初期設定をします。以下コマンドを打つとこちらの入力を求められますが、デフォルトのままで良いので、Enterを繰り返し押します。
16npm init
17// 新たにインストールしたnode.jsでgoogle-home-notifierをインストールします。
18npm install google-home-notifier --no-audit
19
20// LINEメッセージ受信サーバを起動します。
21node google-home-notifier/server_for_line.js

上記コマンドを実行し、以下のようになれば成功です。「Endpoints:」の後にかかれているURLがLINEのメッセージを受領するWebHookというものになるのでこれを控えておきます。
Raspberry Pi側の作業はこれで終了で、この状態のまま放置することになります。(ディスプレイやキーボード、マウスなどは外してOKです。)

以下を参考にしました:

https://qiita.com/ktetsuo/items/8c9cd5714e231aa6ae09

LINE developersの設定

LINE developersにご自身のLINEアカウントでログインし、「Messaging API(ボット)をはじめる」で、新規Channelを作成してください。

以下のように設定してください。名前などは任意で良いです。

  • Webhook送信:利用する
  • Webhook URL:上記Raspberry Piの最後で表示されたEndpointsのURL
    必ず「接続確認」を行い、「成功しました」となることを確認してください。上手くいけば「Hello World」と喋るはずです。
  • Botのグループトーク参加:利用する
  • 自動応答メッセージ:利用しない
  • 友だち追加時あいさつ:利用しない

ちなみに、「自動応答メッセージ」と「友だち追加時あいさつ」で利用するを選ぶと、以下のように通知がくるので、不要と判断しています。

LINEの設定

最後に、GoogleHomeに喋らせる専用のLINEグループを作成しましょう。
上記で作成したチャネルを含んだグループを作成してください。このグループに書き込んだメッセージをGoogleHomeが喋ってくれます。

以上で設定完了です。

Google Home グーグルホーム スマートスピーカーposted with カエレバ楽天市場Amazon


関連記事

  1. RaspberryPi4で新型コロナウイルス解析に貢献する

    はじめに 2019年末より、新型コロナウイルス(COVID-19)のパンデミックで世界中が大打撃を受けています。この感染拡大を防ぐべく、エンジニアとして何かできることは無いかと思い、「分散コンピューティングにRaspbe […]

  2. Raspberry piでseleniumがやっと動かせた

    最新の情報を探せず、大変苦労したのでここに残します。この先も使えるやりかたとなるように記載します。 やりたいこと Raspberry pi(Raspbian)上でseleniumを動かしたい。 そのために、Chromeの […]

  3. LINEメッセージをGoogle Homeに喋らせる方法【Raspberry Pi3使用】

    表題の通り、例えば外にいる人がLINEで「これから帰ります」と打つと、家のGoogle Homeが読み上げてくれて、LINEに気づかなくても分かるようになるという生活ハックです。 逆の、Google HomeからLINE […]

  4. RaspberryPiのインストール中に初期画面に戻ってしまう現象

    Raspberry Pi3のインストールに初っ端からハマりました。インストールが全然進まず、エラーメッセージも無くすぐに初期画面に戻り、無限ループを繰り返すしかなくなります。原因が気付きにくかったのでここに残しておきます […]

  5. 【小ネタ】Google Home mini~ハッピーバースデーを歌わせる~

    Google Home miniの機能のうち、(あまり使わないであろう?)小ネタを紹介します。「ハッピーバースデーを歌って」というと以下の2パターンで歌ってくれます! その1 その2   、、、誰を祝って欲しい […]

  6. 【感想】Google Homeを1ヶ月使ってみて

    以下の記事で、Google Homeを導入して我が家をスマートホーム化してみたわけですが、率直な感想をまとめようと思います。もちろん、あくまで主観なので悪しからず。 格安でスマートホームに【Google Home min […]