Slide 1

Slide 1 text

ラズパイとGASで
 加湿器の消し忘れをLINEからリマインド&操作
 株式会社メディカルフォース 山本美奈子
 2023/1/24@LINE Developer Community 新年LT大会 #LINEDC


Slide 2

Slide 2 text

自己紹介


Slide 3

Slide 3 text

● 山本美奈子(minako-ph)/96年生まれ
 ● 株式会社メディカルフォース リードエンジニア
 ○ フロントエンド全般と LINEの開発全般を担当
 ○ 約200院に展開する自費診療現場向け Vertival SaaS
 ● Web Front-ent/Mobile Application/ものづくり
 ● エンジニア向けコミュニティスペース
 HarborS コミュニティサポーター
 ● ピアノ/フルート/ダンス
 ● Twitter @minako__ph
 自己紹介 🐈


Slide 4

Slide 4 text

LINE API Expertに認定して頂きました 󰢛


Slide 5

Slide 5 text

普段はLINEでこんな機能を開発しています 😄
 ・LINE x WEB予約
 ・LINE x CRM
 ・患者マイページ
 ・デジタル診察券


Slide 6

Slide 6 text

本題 🚀


Slide 7

Slide 7 text

こんな経験ありませんか
 家に帰ったら....
 暖房は消したけど...
 加湿器つけっぱで
 お部屋モクモクじゃん! 


Slide 8

Slide 8 text

1. 加湿器の消し忘れをリマインドするbotを作りました
 2. LINE上から加湿器を消せる機能を実装しました
 そんな問題に対応すべく


Slide 9

Slide 9 text

話す内容と順番 📌
 1. 加湿器の消し忘れ判定
 2. LINEへのリマインド送信
 3. LINEから加湿器の電源OFF操作


Slide 10

Slide 10 text

仕様 <加湿器の消し忘れ判定>
 1. Wifiに自身のスマホが接続されているか確認 
 → 繋がっていなければ 外出判定
 arpコマンドで確認
 Switchbot API
 問い合わせ
 消費電力の確認
 2. エアコンと加湿器の消費電力状態の確認 
 → エアコンは消えているのに 
   加湿器だけ付いていたら 消し忘れ判定


Slide 11

Slide 11 text

仕様 <LINEへのリマインドの送信>
 
 Switchbot API
 問い合わせ
 IDの取得
 1. 加湿器のデバイス IDを取得
 リクエスト
 リマインド送信
 2. LINEへリマインドを送信
 → 加湿器を消すボタンに デバイスIDを付与


Slide 12

Slide 12 text

仕様 <LINEから加湿器の電源OFF操作>
 
 リクエスト
 1. FlexMessage内ボタンのpostbackで
 GASへデバイスIDと共にリクエスト
 2. GASで受け取った受け取ったデバイス IDへ
 ”TurnOff” コマンドを送信
 Switchbot API
 コマンド送信
 TurnOff


Slide 13

Slide 13 text

完成形と出来なかったこと
 【完成形】
 使用した技術やスタック 
 ● LINE Messaging API SDK(Python)
 ● Messaging API
 ● Flex Message + postback
 ● Google App Script
 ○ Typescript + clasp
 ○ https://github.com/minako-ph/clasp-ts-template
 ○ ローカルでtsで開発&ローカルから実 行・デプロイができる自作テンプレート を使ってます
 ● Raspberry Pi
 ● SwitchbotAPI
 【出来なかったこと】
 
 ● Wifi接続状況の監視
 ○ arpコマンドの出力結果を監視して任意のタ イミング(自身の端末が wifiから接続解除さ れたら)でスクリプトを発火させる処理を書 けなかった
 https://github.com/minako-ph/Stop-mokumoku-Line-Switchbot

Slide 14

Slide 14 text

ありがとうございました 🐱 
 よければTwitterのフォローもお願いします。゚(゚´ω`゚)゚。
 採用もしてるのでDM下さい(´-`).。oO