Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ラズパイとGASで加湿器の消し忘れをLINEでリマインド&操作

minako-ph
January 24, 2023

 ラズパイとGASで加湿器の消し忘れをLINEでリマインド&操作

minako-ph

January 24, 2023
Tweet

More Decks by minako-ph

Other Decks in Technology

Transcript

  1. ラズパイとGASで

    加湿器の消し忘れをLINEからリマインド&操作

    株式会社メディカルフォース 山本美奈子

    2023/1/[email protected] Developer Community
    新年LT大会 #LINEDC


    View Slide

  2. 自己紹介


    View Slide

  3. ● 山本美奈子(minako-ph)/96年生まれ

    ● 株式会社メディカルフォース リードエンジニア

    ○ フロントエンド全般と LINEの開発全般を担当

    ○ 約200院に展開する自費診療現場向け Vertival SaaS

    ● Web Front-ent/Mobile Application/ものづくり

    ● エンジニア向けコミュニティスペース

    HarborS コミュニティサポーター

    ● ピアノ/フルート/ダンス

    ● Twitter @minako__ph

    自己紹介 🐈


    View Slide

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


    View Slide

  5. 普段はLINEでこんな機能を開発しています 😄

    ・LINE x WEB予約

    ・LINE x CRM

    ・患者マイページ

    ・デジタル診察券


    View Slide

  6. 本題 🚀


    View Slide

  7. こんな経験ありませんか

    家に帰ったら....

    暖房は消したけど...

    加湿器つけっぱで

    お部屋モクモクじゃん! 


    View Slide

  8. 1. 加湿器の消し忘れをリマインドするbotを作りました

    2. LINE上から加湿器を消せる機能を実装しました

    そんな問題に対応すべく


    View Slide

  9. 話す内容と順番 📌

    1. 加湿器の消し忘れ判定

    2. LINEへのリマインド送信

    3. LINEから加湿器の電源OFF操作


    View Slide

  10. 仕様 <加湿器の消し忘れ判定>

    1. Wifiに自身のスマホが接続されているか確認 

    → 繋がっていなければ 外出判定

    arpコマンドで確認

    Switchbot API

    問い合わせ

    消費電力の確認

    2. エアコンと加湿器の消費電力状態の確認 

    → エアコンは消えているのに 

      加湿器だけ付いていたら 消し忘れ判定


    View Slide

  11. 仕様 <LINEへのリマインドの送信>


    Switchbot API

    問い合わせ

    IDの取得

    1. 加湿器のデバイス IDを取得

    リクエスト

    リマインド送信

    2. LINEへリマインドを送信

    → 加湿器を消すボタンに デバイスIDを付与


    View Slide

  12. 仕様 <LINEから加湿器の電源OFF操作>


    リクエスト

    1. FlexMessage内ボタンのpostbackで

    GASへデバイスIDと共にリクエスト

    2. GASで受け取った受け取ったデバイス IDへ

    ”TurnOff” コマンドを送信

    Switchbot API

    コマンド送信

    TurnOff


    View Slide

  13. 完成形と出来なかったこと

    【完成形】

    使用した技術やスタック 

    ● 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

    View Slide

  14. ありがとうございました 🐱 

    よければTwitterのフォローもお願いします。゚(゚´ω`゚)゚。

    採用もしてるのでDM下さい(´-`).。oO


    View Slide