BLEによるSlack通知
コンテンツ
今回やること
BLEによって「家についた!」や「でかけた!」をSlackに通知します。
用意するもの
- obniz Board
- モバイルバッテリーなど
- Slackのアカウント
- BLEのadvertisementを出すスマートフォンアプリ
組み立て方
obniz Boardにバッテリーを繋げます。部品は何も取り付けなくて大丈夫です。
プログラム
まず、Slackにメッセージを送るためのWebhook URLを取得します。こちらのページから取得できます。
投稿するチャンネルを選んで、 Incoming Webhook インテグレーションの追加 をクリックしてください。
クリックするとWebhook URLが表示されるので、これをプログラムに書き加えます。
完成したプログラム 45行目〜の WEBHOOK_URL_HERE
のところを、表示されたURLに書き換えてください。 さらに、 CHANNEL_NAME_HERE
のところを、投稿したいチャンネル名に書き換えてください。このとき 「#」 を忘れないようにしましょう。
let url = 'WEBHOOK_URL_HERE'; let data = { "channel": 'CHANNEL_NAME_HERE', "username": 'obniz-bot', "text": msg };
次に、スマートフォンにBLEのadvertisementを出すアプリを入れます。 LightBlue Explorer などのアプリが対応しています。
<LightBlue Explorer>
スマートフォンアプリからBLEのadvertisementを出しプログラムを実行すると、帰宅時と外出時にSlackに通知が届きます。
BLEのadvertisementは、完成したプログラム 5行目〜の以下の部分で監視して、家にいるかいないかを判定しています。 UUID_HERE
の部分を、スマートフォンアプリから発したBLEのUUIDに変更してください。
obniz.ble.scan.onfinish = ((results) => { let find = "Leaving"; for (key in results){ let beacon = results[key].iBeacon(); if (beacon){ if (beacon.uuid === "UUID_HERE"){ find = "In home now"; } } }...
obniz BoardのBLEについて、詳しくは BLE – obniz Docs をご覧ください。
完成したプログラム