Slide 1

Slide 1 text

LINEとGoogleHomeをつなげて 子どもと会話する 2022.06.15 ビジュアルプログラミングIoTLT vol.11

Slide 2

Slide 2 text

自己紹介 NearMugi(ニアムギ) 普段はねこIoTLTで活動しています。 ねこ2匹飼っています。

Slide 3

Slide 3 text

イントロ 「LINEとGoogleHomeをつなげて 子どもと会話する」とは?

Slide 4

Slide 4 text

イントロ スマホで文字を入力しなくても また文字が読めなくても 家族同士コミュニケーションを取れる システムです (ちょっと誇大表現です)

Slide 5

Slide 5 text

イントロ 例えば、こんな場面。 仕事が遅くなって子どもが帰ってくる時間に 間に合わなそう 既に家にいるのか分からない・・・ 子どもは携帯持っているけど何も連絡ない・・・ 何か連絡したい or 連絡してほしい

Slide 6

Slide 6 text

イントロ そんなとき、 GoogleHomeがひと言 「もうすぐ帰るよ」と喋ってくれたら 子どもも安心しますよね?

Slide 7

Slide 7 text

イントロ また子どもが GoogleHomeに向かって 「ただいま」と言うとLINEに通知が来たら 安心しますよね?

Slide 8

Slide 8 text

イントロ 他にもこんな場面。 在宅勤務でオンラインミーティング中 子どもが帰ってきた 「おかえり、おやつあるよ」と伝えたい GoogleHomeが喋ってくれたら・・・

Slide 9

Slide 9 text

イントロ というわけで、作ってみました

Slide 10

Slide 10 text

イントロ ちなみに作ったのは1年ほど前なので 技術的に古いかもしれません。 ご了承ください…

Slide 11

Slide 11 text

システムの概略 GoogleHome → LINE ①~④ GoogleHomeからIFTTT経由でGCFの関 数を呼び出してFireStoreへデータを保存 ①GoogleHome ②IFTTT ③GoogleCloudFunctions(GCF) ④FireStore ⑤Node-RED ⑥LINE ⑤~⑥ FireStoreにデータがあるか定期的に チェック、あればLINEへ通知

Slide 12

Slide 12 text

システムの概略 ⑦GoogleHome ②GCF ③FireStore ④Node-RED ①LINE LINE → GoogleHome ⑤Shiftr ⑥M5Stack ①~③ LINEからGCF経由でFireStoreへデー タを保存 ④~⑦ FireStoreを定期的にチェックしてデー タがあればMQTTでM5Stackへデータを送 信、そこからGoogleHomeへ音声データを渡 す

Slide 13

Slide 13 text

システムの概略 実際は赤枠の部分は共通にしています LINEから・GoogleHomeからのデー タをFireStoreで一括管理 Node-REDで振り分け

Slide 14

Slide 14 text

システムの詳細 GoogleHome →IFTTT→GoogleCloudFunctions IF : GoogleHome THEN : Webhook ※GCFのトリガーURLを指定

Slide 15

Slide 15 text

システムの詳細 [引用]Firebase Documentation(https://firebase.google.com/docs/functions/get-started?hl=ja) GoogleCloudFunctions→FireStore GCFからFireStoreにデータを追加する方法は公式サイトに詳しく載っています。

Slide 16

Slide 16 text

システムの詳細 GoogleCloudFunctions→FireStore 無事FireStoreにデータが追加されました。

Slide 17

Slide 17 text

システムの詳細 FireStore→Node-RED→LINE Node-RED側でFireStoreにデータが入っているかチェックします

Slide 18

Slide 18 text

システムの詳細 FireStore→Node-RED→LINE 送信はPython使っちゃっています。 20行程度なので・・・まあ (ノードがあるらしいです) GoogleHomeからのデータがあればLINEへ送信します。

Slide 19

Slide 19 text

システムの詳細 つぎにLINEからGoogleHomeの流れです

Slide 20

Slide 20 text

システムの詳細 LINE→FireStore MessageAPIを使って、特定のグループに書き込みがあるとGCFが呼び 出されるようにします

Slide 21

Slide 21 text

システムの詳細 Node-RED→M5Stack→GoogleHome Node-RED側でFireStoreにデータが入っているかチェックします

Slide 22

Slide 22 text

システムの詳細 Node-RED→M5Stack→GoogleHome LINEからのデータがあった場合、MQTTを使ってM5Stackに送信します あとはM5Stack側でいい感じに音声データを作ってGoogleHomeに渡します https://github.com/horihiro/esp8266-google-home-notifier ほりひろさんのライブラリを利用しています。ありがとうございます!

Slide 23

Slide 23 text

デモ LINE→GoogleHome

Slide 24

Slide 24 text

デモ GoogleHome→LINE

Slide 25

Slide 25 text

まとめ ・実は何度もリビルドしています。かなり愛着のあるシステムです。 ・家族も認識して使っています。これが嬉しいところ。 ・そのうちFireStoreにあるメッセージを表示するのもやってみたい。 以上となります。 ご清聴ありがとうございました。