騒音センサーによるアラートシステム

はじめに

このページではウェビオの騒音センサーを用いて基準の値を超えた場合にGmailにメールを送信する方法をご紹介します。

仕組み

システム図

ウェビオのセンサーから直接Gmailを送信することができないので、Integromatというサービスを活用します。ウェビオの騒音センサーは5分に1回特定のURLにセンサーの値を送ることができます。その特定のURLを作ってくれるのがWebhooksというサービスで、WebhooksとGmailを自動でつないでくれるのがIntegromatです。

※ IntegromatはチェコのIntegromat社のサービスです。ウェビオのサービスではありません。Integromatのサービス内容については、弊社では保証いたしかねます。本記事は、システム連携の参考としてご紹介しております。

料金について

Integromatでは無料のアカウントで月に1000回までタスクを実行することができますが、ウェビオのボタンセンサーは5分に1回信号を出すため月に1000回のタスクでは足りなくなってしまいます。したがって、騒音センサーとIntegromatを使う場合、1ヶ月に10000回タスクを実行できるBASICプランにアップグレードすることをお勧めします。料金など詳しくはこちら

実装

Integromatのアカウント作成

まず初めにIntegromatからアカウントを作成します。Googleのアカウントでそのままログインすることも可能です。

Integromatのトップページ

1からアカウントを作成するとき、パスワードには英語小文字、英語大文字、数字、記号が含まれていなければなりません。

アプリケーションの選択

アカウントを作成し、ログインするとチュートリアルを行うか確認されますがskipから飛ばして構いません。すると、次のようなダッシュボードが出てきます。

ダッシュボード

ダッシュボード右上のCreate a new scenarioをクリックすると、次のような利用したいアプリケーションの検索画面が出てきます。

検索画面

ここにWebhooksGmailと順にチェックを押しながら入力し、

アプリの選択

このように2つのアプリケーションが選択できていれば完了です。右上のContinueをクリックし、scenarioを作っていきましょう。

scenarioの作成

Webhooksの設定

senarioの作成

scenario作成の画面に来たら、中央の大きな ? マークをクリックしWebhooksを選択します。次にトリガーとアクションを選択できるのでトリガーの中からCustom webhookを選択します。

次に、新しくでてきたボックスの右側にあるAddボタンを押します。

すると、Webhooksの名前を入力できるようになるのでお好みの名前をお付けください。

Webhoooksの名前

IP restrictionsは入力しなくても構いません。そして、Saveをクリックすると、先ほど付けたWebhooksの名前とURLがでてきます。このURLを使うことでウェビオのセンサーの値を送ることができます。

URLのコピー

ここで1度左下のRun onceボタンを押しておかないとウェビオでテストするときにエラーが発生する可能性があるので、Run onceボタンを押してください。LOGに”The request was accepted. Waiting for data.“と出た時点でstopしていただいて大丈夫です。 Run onceのボタン

ウェビオ騒音センサーの設定

次に、ウェビオのセンサーのデータ連携設定を行います。ウェビオコンソールから左側のメニューのデータ連携をクリックし、下にあるルールを追加をクリックします。

HTTPメソッドの選択

次に、チームを選択し、送りたいセンサーの種類にチェックを付けます。ここでは騒音センサーの平均デシベルが知りたいので、average decibelにチェックを入れ、次へをクリックします。

データ連携設定画面が表示されたら、先ほどWebhooksで生成したURLを送信先URLに張り付け、BODY欄に以下のものをコピーして貼り付けてください。

{
  "id":"{{id}}",
  "value":"{{value}}",
  "unit":"{{unit}}"
}

これらを入力することでウェビオのどのセンサーがどのくらいの値を取得したか把握することができます。

  • id : ウェビオのセンサーのID
  • value : センサーが取得した値(ここでは平均デシベル)
  • unit : センサーの値の単位

jsonの入力

次へをクリックし、テストボタンをクリックし、以下のように 200 Accepted となれば成功です。

テスト画面

Gmailの設定

次にGmailの設定を行っていきます。

anothe moduleの選択

中央のAdd another moduleをクリックし、Gmailを選択し、Actionの中からSend an emailを選びます。

メールの設定

Toの欄には送り先のメールアドレスを入力します。複数のメールアドレスに送りたい場合はAdd a recipientから追加します。

Subject欄には件名を入力し、Contentには送りたい内容を入力します。

Webhooksとの連携がうまくできているとidvalueunitを選択できる欄が出てきます。この部分にウェビオのセンサーが送ってきたデータが入力されることになります。以上でGmailの設定は終了です。OKボタンをクリックし、最後に条件の設定を行います。

条件の設定

今現在、ウェビオの騒音センサーは5分に1回Webhookに対してデータを送り続けています。常に5分に1回もメールが送られてきても困るので、特定の音量を超えた時にのみメールを送るように設定します。

条件の設定

WebhooksとGmailの間にある工具のマークをクリックするとSet up a filterの欄が出てきます。Labelには好きに条件の名前を付けていただき、Conditionにはセンサーの値である1. valueを選択し、真ん中にある上下の矢印からセンサーの値が基準より大きい時なのか、小さい時なのか、または等しい時なのか等の設定ができます。

ここでは、センサーが基準よりも大きい時にメールを送信してほしいため、Greater thanを選択します。 最後に基準となる数値を入力し、OKをクリックしたら完了です。

結果

実際にGmailにメールが来ているか確認してみます。

Gメールの結果

無事にメールが届いていました。

最後に

今回は、ウェビオの騒音センサーを使ってアラートシステムを作ってみました。他にもあらゆるウェビオのセンサーとIntegromatやIFTTTなどのサービスを活用することで様々な業務を自動化したり、効率化できる可能性があります。ぜひあなたのIoTプロジェクトにご活用ください。

関連ページ

お問い合わせ

ご不明な点がございましたら、お気軽にお問い合わせ下さい。
ピクスー株式会社

  • mail:info@webiot.io
  • tel:090-9863-0987(担当:塩澤)