温度が高かったらSlackへ通知
コンテンツ
今回やること
温度センサーを使用して、室温が35℃以上のときSlackへ通知するシステムを作ります。
用意するもの
- obniz Board
- 温度センサー(この記事内ではMCP9701を使用)
- Slackアカウント
組み立て方
温度センサー(MCP9701)のライブラリを参考に、以下の表や図のように配線します。
obniz | 温度センサー (MCP9701) |
---|---|
0 | GND |
1 | OUTPUT |
2 | Vcc |
プログラム
1時間ごとにプログラムを実行し、35℃以上だった場合Webhookを叩いてslackに通知する仕組みになっています。
Slackの設定
まず、こちらからSlackにメッセージを送信するためのWebhook URLを取得します。メッセージを送信したいチャンネルを選択し、その後表示されるWebhook URLを控えてください。
「完成したプログラム」 code.js の11行目 let url = 'WEBHOOK_URL_HERE';
の WEBHOOK_URL_HERE
を控えたURLに変更してください。
sendToSlack 関数の以下の部分でjQueryでajaxを用いてWebhook URLを叩いています。ajaxについて詳しくは、jQuery.ajax() | jQuery API Documentation をご覧ください。
$.ajax({ type: "POST", dataType: "json", url: url, processData: false, data: "payload=" + dataJson }).then( function(data) {}, function(XMLHttpRequest, textStatus, errorThrown) { console.log("post to bot"); } );
サーバレスイベントの設定
サーバレスイベントを設定することで、定期的に自動でプログラムを実行することができます。
まず、developer’s consoleにて自分のリポジトリにプログラムを保存します。その後、サーバレスイベントのページへ移動し新規作成をクリックすると、以下のような画面になります。
イベント名 | (任意) |
---|---|
実行するWebApp | 先ほど保存したプログラム |
きっかけ | 繰り返しを選択 今回は1時間ごとに実行するようにします。 |
上記の入力が完了したら、作成ボタンをクリックし終了です。
これで1時間ごとにプログラムが実行され、35℃以上の場合にslackに通知が届きます。