Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
VisualProgramming_GoogleHome_LINE
Search
NearMugi
June 15, 2022
Programming
1
450
VisualProgramming_GoogleHome_LINE
NearMugi
June 15, 2022
Tweet
Share
More Decks by NearMugi
See All by NearMugi
nekoIoTLT_NearMugiLLM
nearmugi
0
250
nekoIoTLT_CatAndColorSensor
nearmugi
0
820
EnebularMeetup_GoogleCalendar
nearmugi
0
210
nekoIoTLT_ToyAndVoiceAnalysis
nearmugi
0
340
nekoIoTLT_Demachi
nearmugi
0
350
nekoIoTLT_SearchBlackObject
nearmugi
1
550
nekoIoTLT_nekoDeeplearning
nearmugi
0
280
nekoIoTLT_nekoGohan
nearmugi
0
420
nekoIoTLT_Tsumetogi
nearmugi
1
630
Other Decks in Programming
See All in Programming
AWS初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテクチャ学習方法〜
yamanashi_ren01
0
190
CSC307 Lecture 05
javiergs
PRO
0
210
さきがけから振り返るアーキテクチャ刷新 / Reflecting on the Architectural Renewal from the Vanguard
nrslib
2
770
Android開発者のための Kotlin Multiplatform入門
ntaro
0
190
DMMプラットフォームにおけるTiDBの導入から運用まで
pospome
7
3k
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
160
CSC307 Lecture 09
javiergs
PRO
1
500
Folding Cheat Sheet #7
philipschwarz
PRO
0
150
社内 LT 会を発足し、アウトプット文化を醸成させるために考えたこと・やったこと / Starting internal LT meetings and fostering an output culture
mackey0225
3
120
APIのない大学ログインWebサービスをWKWebViewとJavaScriptでアプリ化した話
akidon0000
1
330
SDCon2024: Enabling DevOps and Team Topologies thru architecture: architecting for fast flow
cer
PRO
0
780
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
81k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
26
2.1k
4 Signs Your Business is Dying
shpigford
178
21k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
34
1.9k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
78
15k
The Language of Interfaces
destraynor
151
23k
How to train your dragon (web standard)
notwaldorf
79
5.5k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
Learning to Love Humans: Emotional Interface Design
aarron
269
39k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
35
6.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
25
6.7k
Transcript
LINEとGoogleHomeをつなげて 子どもと会話する 2022.06.15 ビジュアルプログラミングIoTLT vol.11
自己紹介 NearMugi(ニアムギ) 普段はねこIoTLTで活動しています。 ねこ2匹飼っています。
イントロ 「LINEとGoogleHomeをつなげて 子どもと会話する」とは?
イントロ スマホで文字を入力しなくても また文字が読めなくても 家族同士コミュニケーションを取れる システムです (ちょっと誇大表現です)
イントロ 例えば、こんな場面。 仕事が遅くなって子どもが帰ってくる時間に 間に合わなそう 既に家にいるのか分からない・・・ 子どもは携帯持っているけど何も連絡ない・・・ 何か連絡したい or 連絡してほしい
イントロ そんなとき、 GoogleHomeがひと言 「もうすぐ帰るよ」と喋ってくれたら 子どもも安心しますよね?
イントロ また子どもが GoogleHomeに向かって 「ただいま」と言うとLINEに通知が来たら 安心しますよね?
イントロ 他にもこんな場面。 在宅勤務でオンラインミーティング中 子どもが帰ってきた 「おかえり、おやつあるよ」と伝えたい GoogleHomeが喋ってくれたら・・・
イントロ というわけで、作ってみました
イントロ ちなみに作ったのは1年ほど前なので 技術的に古いかもしれません。 ご了承ください…
システムの概略 GoogleHome → LINE ①~④ GoogleHomeからIFTTT経由でGCFの関 数を呼び出してFireStoreへデータを保存 ①GoogleHome ②IFTTT ③GoogleCloudFunctions(GCF)
④FireStore ⑤Node-RED ⑥LINE ⑤~⑥ FireStoreにデータがあるか定期的に チェック、あればLINEへ通知
システムの概略 ⑦GoogleHome ②GCF ③FireStore ④Node-RED ①LINE LINE → GoogleHome ⑤Shiftr
⑥M5Stack ①~③ LINEからGCF経由でFireStoreへデー タを保存 ④~⑦ FireStoreを定期的にチェックしてデー タがあればMQTTでM5Stackへデータを送 信、そこからGoogleHomeへ音声データを渡 す
システムの概略 実際は赤枠の部分は共通にしています LINEから・GoogleHomeからのデー タをFireStoreで一括管理 Node-REDで振り分け
システムの詳細 GoogleHome →IFTTT→GoogleCloudFunctions IF : GoogleHome THEN : Webhook ※GCFのトリガーURLを指定
システムの詳細 [引用]Firebase Documentation(https://firebase.google.com/docs/functions/get-started?hl=ja) GoogleCloudFunctions→FireStore GCFからFireStoreにデータを追加する方法は公式サイトに詳しく載っています。
システムの詳細 GoogleCloudFunctions→FireStore 無事FireStoreにデータが追加されました。
システムの詳細 FireStore→Node-RED→LINE Node-RED側でFireStoreにデータが入っているかチェックします
システムの詳細 FireStore→Node-RED→LINE 送信はPython使っちゃっています。 20行程度なので・・・まあ (ノードがあるらしいです) GoogleHomeからのデータがあればLINEへ送信します。
システムの詳細 つぎにLINEからGoogleHomeの流れです
システムの詳細 LINE→FireStore MessageAPIを使って、特定のグループに書き込みがあるとGCFが呼び 出されるようにします
システムの詳細 Node-RED→M5Stack→GoogleHome Node-RED側でFireStoreにデータが入っているかチェックします
システムの詳細 Node-RED→M5Stack→GoogleHome LINEからのデータがあった場合、MQTTを使ってM5Stackに送信します あとはM5Stack側でいい感じに音声データを作ってGoogleHomeに渡します https://github.com/horihiro/esp8266-google-home-notifier ほりひろさんのライブラリを利用しています。ありがとうございます!
デモ LINE→GoogleHome
デモ GoogleHome→LINE
まとめ ・実は何度もリビルドしています。かなり愛着のあるシステムです。 ・家族も認識して使っています。これが嬉しいところ。 ・そのうちFireStoreにあるメッセージを表示するのもやってみたい。 以上となります。 ご清聴ありがとうございました。