温度が高かったら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に通知が届きます。

完成したプログラム