Slide 1

Slide 1 text

[サブタイトル] [タイトル] ワンフットシーバス 田中正吾 ビジュアルプログラミングIoTLT vol5 Androidを通知Webhook化できるMacroDroidと Node-REDで通知ライフをアップデートしてみる ワンフットシーバス 田中正吾

Slide 2

Slide 2 text

私の話はスライドを後ほど共有します。 話す内容に注力いただいて大丈夫です!

Slide 3

Slide 3 text

田中正吾(たなかせいご) 屋号:ワンフットシーバス 2004年よりフリーランス。以後、FLASH制作を 中心にインタラクティブコンテンツを主に行い現 在に至る。 最近ではWEBフロントエンドをベースにしなが らも、情報とインターフェースが合わさるアプ ローチという視点でIoTやMixed Realityといった 技術も取り入れながら活動しています。

Slide 4

Slide 4 text

今日はAndroidデバイスを軸にした スマホと生活に関する話をします といいつつもスマホ全般の話なので iOS(iPhone) でも参考になるかもしれない

Slide 5

Slide 5 text

スマホの通知をMacroDroidというツールで Webhookで飛ばしてNode-REDがイイ感じにする 通知 Webhook MacroDroid Node-RED

Slide 6

Slide 6 text

たとえば、Node-REDがDiscordに通知してる例

Slide 7

Slide 7 text

さらにNode-REDにobnizに通して・・・ 最新の obniz ノードは直接コードが書けて使いやすい!

Slide 8

Slide 8 text

今回は obniz にTwitterいいね数と 最新のいいねユーザーを表示してます @1ft_seabass のツイートにいいねをいただけると!

Slide 9

Slide 9 text

MacroDroidはデバイス自動化ツール root開放が伴うツールやTaskerなどが有名だが、こちらもかなり使いやすい

Slide 10

Slide 10 text

こんなUIでつくれる ややビジュアルプログラミングできる

Slide 11

Slide 11 text

データを送る設定 トリガーでアプリ通知をひっかけて、HTTP GETで送るアクションを行う

Slide 12

Slide 12 text

トリガー(きっかけ)に アプリの通知というのがある

Slide 13

Slide 13 text

アプリを複数選択できる

Slide 14

Slide 14 text

アクション(何かする)

Slide 15

Slide 15 text

アクションにHTTP GET送信があるので設定する

Slide 16

Slide 16 text

できあがった設定はこちら

Slide 17

Slide 17 text

URL設定の様子 [v=nodered-gateway-main] はグローバル変数(後述)にNode-REDで判断するtypeや アプリ名 [not_app_name] 通知タイトル [not_title] などのMacroDroidが掴んだ値を送付 [v=nodered-gateway-main]? type=mobile_notification&name=[not_app_name] &detail=[notification]&title=[not_title]

Slide 18

Slide 18 text

グローバル変数でNode-REDへ送るURLを 設定しておくと試行錯誤が楽そうなのでやってる Node-REDサーバーを変えたりサーバレスの仕組みに繋いだりスケールしやすそう。 スマホでのURLの手修正は手がとても疲れるのでやりたくない。

Slide 19

Slide 19 text

ということでNode-REDに送る 通知 Webhook MacroDroid Node-RED

Slide 20

Slide 20 text

Node-REDの仕組み typeで分けてDiscordに連絡している仕組み

Slide 21

Slide 21 text

type分岐の様子 mobile_notification が通知、他に battery とかある

Slide 22

Slide 22 text

通知は重複して飛んでくる場合があるので duplicate ノードでイイ感じに防いでます 以前 PushBullet API でも同様の症状が出ていたので、これは通知上の癖なのかも(なんとなくわかる)

Slide 23

Slide 23 text

duplicate ノードはこちら https://flows.nodered.org/node/node-red-contrib-deduplicate

Slide 24

Slide 24 text

そんなこんなで、あとは Discord に Webhook で送ってあげている Discord は Webhook 発行しやすいが、もちろん Slack や LINE でもいける

Slide 25

Slide 25 text

時間があれば今までの背景を話したい

Slide 26

Slide 26 text

たくさんのPCやスマホの通知 Gmail・Slack・Messanger・Microsoft Teams・Twitter・Facebook

Slide 27

Slide 27 text

通知をほどよくキャッチしたい

Slide 28

Slide 28 text

各WEBサービスやSNSのAPIで 一時期はうまくやってた 直接実装は大変になってきたので、IFTTTを導入したり

Slide 29

Slide 29 text

それでもWEBサービスが増えるたびに API探したり対応を待っているもの大変 最近、様々なAPIがクローズドになってしまいこの方法は限定的にしか使えなくなってきた

Slide 30

Slide 30 text

ならばいっそスマホの通知で情報把握してみる PushBulletで通知ミラーリング

Slide 31

Slide 31 text

こんな設定をして

Slide 32

Slide 32 text

スマホの通知をPCのChromeで確認できる これでもまだ不自由ではあるが情報把握はしやすくなった

Slide 33

Slide 33 text

しかし悩ましい・・・!

Slide 34

Slide 34 text

つどつどスマホの通知を消していかないと もう読んだ通知が復PCで復活して困る つまり情報把握は達成できたが、運用面でストレスがかかっていて発展途上 (結果、2年ほど続けて次を模索)

Slide 35

Slide 35 text

欲しい通知が取れるスマホ通知と WebhookさばきができるMicroDroidに着地 ツールがなくなっても Automate や Tasker など類似ツールで頑張れる気はする! 通知 Webhook MacroDroid Node-RED

Slide 36

Slide 36 text

使用感などふりかえり

Slide 37

Slide 37 text

仕事やプライベートの必要な情報が スマホを見ずにPCで把握できるのはとても良い Discord を起動しておけばバッチリ。 ただしそのチャットグループを通知OFFにしないとスマホ通知をキャッチし続けて無限ループにw

Slide 38

Slide 38 text

自分で各サービスの API をつなぐ実装するよりも スマホの通知をいかに送るかに注力できて手軽! 各API設定をメモしたり安全に扱うのはそれなりに大変。手軽さで見える世界がある。

Slide 39

Slide 39 text

さまざまな通知が自分に便利なものと気づける PayPayの支払い通知、アラームが鳴ったときの通知、メール通知は内容も持ってるので特定抽出が楽そう、 PushBulletでスマホへの通知が生成できるので遠隔コマンド実行やIoTのセンサー値の集約など夢が広がる

Slide 40

Slide 40 text

Androidを通知Webhook化できるMacroDroidと Node-REDで通知ライフをアップデートしてみた! 通知 Webhook MacroDroid Node-RED