2018年03月06日

GoogleHomeでLineを読み上げさせる

LineのグループトークをGoogleHomeで読み上げさせたくて調べてみた。

必要なもの、準備するもの、サービスなど
・LineDeveloppersへ登録してBOTを作る
・SSLのサーバー(自宅サーバーにSSL証明書なんてお金かけられないので外部の登録)
・自宅サーバー
・Google home notifier (Google Home を喋らせるためのモジュール)
・httpサーバースクリプト

構成
スクリーンショット 2018-03-17 11.04.05.png
1.Line発言

2.LineDeveloppersのMessagingAPIでBOTが受信

3.SSL(https)のサーバーで受信(ngrokやめてGoogleAppsScriptにした)

4.自宅サーバーPCで受信(わが家ではRaspberryPi)

5.GoogleHomeが受信して発声

最初にできあがったもの
3にngrokというhttpsのサーバーを使ってみた。
Line Developpersからの送信先がhttpsじゃなければ自宅サーバーに直接送信できて簡単なのにね。
問題は、ngrokの無料利用はURLがランダム文字列なので自宅httpサーバーを起動するたびにLineDeveloppersにURLを登録しなければならなかった。

再調査
httpsサーバーにGoogle apps scriptが使える。
スクリプトも書けるし、いいかんじ。
G-Drive使っている人は新規作成ですぐ作れるよ。
ここの記事参考
これでLineDevelopersからGoogleAppsScriptへ投げたデータを自宅へ転送!
とってもシンプル。
自宅サーバーのURL固定用に無料DDNSも申し込むと便利です。

参考:GoogleAppsScriptの転送コード
function doPost(e) {
// 受信
var text = e.postData.contents;

// 転送
var url = "http://xxx.xxx.xxx.xxx:xxxx"; // 自宅のアドレス(DDNS使うのがお勧め)
var headers = {
"Content-Type" : "application/json; charset=UTF-8"
};
var options = {
"method" : "post",
"headers" : headers,
"payload" : text
};
return UrlFetchApp.fetch(url, options);
}


各モジュールについてのインストールや設定は↓の検索でどうぞ。
「Line Developers Google Home Notifier 読み上げ」でググった先の皆様に感謝です。
posted by Vintage at 21:26| Comment(0) | TrackBack(0) | Google Home
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/182600108

この記事へのトラックバック