第475回 SORACOM公式ブログ

ソラコム公式ブログ

SORACOM Lagoon 3 の [Math] 機能で、複数データを組み合わせた通知の手順

  • この記事をはてなブックマークに追加
  • 本文印刷

 本記事はソラコムが提供する「SORACOM公式ブログ」に掲載された「SORACOM Lagoon 3 の [Math] 機能で、複数データを組み合わせた通知の手順」を再編集したものです。

IoT に限らず、普段の生活において「複数の情報を基に判断する」ことは一般的です。例えば温度だけでなく湿度も使って、体感温度がひどく暑い日に警告を出すような仕組みがあります。他にも人感センサーと照度センサーによる照明の自動制御などもあります。

SORACOM Lagoon 3 (以下、Lagoon 3) は、そうした「複数の情報に基づき通知を出す」を実現できます。このブログでは Lagoon 3 の通知の基本的な使い方をご存知の方向けに、もう一歩進んだ「複数のデータを通知条件に使う」方法をご紹介します。

SORACOM Lagoon の通知機能とは

Lagoon 3 は、IoT データの「ダッシュボード作成」と「通知」を行う SORACOM のサービスです。この記事で注目するのは「通知」の機能で、これは IoT デバイスが収集したデータに基づき、条件を満たしたときに通知してくれる機能です。

Lagoon 3 で通知を設定するには、まず Alert rule を作成します。Alert rule の設定では、[Query] 時間の範囲を指定してデータを取り出す、[Reduce] 取り出したデータを 1 つの数値にまとめる、[Threshold] まとめた数値と基準値とを比べる、の 3 つの段階を踏みます。これが Alert rule の基本的な考え方です。

各段階の下に書いたのは、その段階の処理や出力のイメージです

Lagoon 3 の通知の基本的な考え方を詳しく知りたい方は、ブログ記事 SORACOM Lagoon 3 の Alert rule の考え方をマスターして、最適な通知を作成 も参考にしてみてください。

[Math] で、複数の値を使って計算する

Lagoon 3 では複数のデータを組み合わせた通知を設定できます。鍵となるのは [Math] です。[Math] は、データを取り出す [Query]、まとめる [Reduce]、比べる [Threshold] と組み合わせて使う Alert rule の部品です。

たとえば温度と湿度を組み合わせた指標 (体感温度) を計算し、その値に応じた通知を行うには、次のように設定します。

  1. まず過去 1 時間の平均温度を取得するために、[Query] で過去 1 時間の温度のデータ系列を取得し、[Reduce] でそれらを平均化します (下図の左上の 2 つ)
  2. 次に過去 1 時間の平均湿度を取得するために [Query] と [Reduce] をもう 1 つずつ追加し、[Query] で過去 1 時間の湿度のデータ系列を取得し、[Reduce] でそれらを平均化します (下図の左下の 2 つ)
  3. [Math] を使い、温度の平均値と湿度の平均値を使って四則演算を行い、必要な指標を算出する (下図の黄部)
  4. 最後に [Threshold] を使い、[Math] で算出した指標と基準値を比べ、通知の出す出さないを判定する (下図の右部)
温度と湿度を組み合わせた Alert rule の作り方のイメージ

見ての通り、Lagoon 3 の通知設定の基本「取り出す」「まとめる」「比べる」に 1 つ「計算する」の段階を追加しただけです。これだけの工夫で、さらにきめ細やかな通知条件を設定できるのです。

下の画像は、実際の Lagoon 3 の Alert rule の設定画面で、[Math] に計算式を書いた様子です。式中の変数名には、他の Expression に設定した名前を利用できます。日本語で書くと分かりやすいので、この例では日本語の名前をつけています。

[Math] を使うと、Alert rule で計算できます

[Math] を使った通知設定の実践的なチュートリアルを試したい方は、2 つのセンサーの温度差が 7 °C を超えた場合に Slack で通知する を試してみてください。[Math] の使い方のイメージがよりクッキリするはずです。

演算処理を含む高度な通知も SORACOM Lagoon 3 で!

[Math] は数値同士の演算だけでなく、真理値の演算 (論理和 ||、論理積 &&、否定 !) にも対応しています。[Threshold] の出力は真理値 (TRUE なら Alert を出す、FALSE なら Alert を出さない) であるため、これらを [Math] で演算することも可能です。たとえば「温度が 10 ℃ 以下」または「湿度が 99% 以上」なら Alert を出す、といった設定ができるのです。

[Math] は真理値の演算にも対応してます

高度な通知条件が必要な方は、ぜひ Lagoon 3 の Alert rule の [Math] を試してみてください。Lagoon 3 は利用開始から最大 2 ヶ月間は無料で利用できますし、Free プランもありますよ!

― ソラコム 小林 (tau)

投稿 SORACOM Lagoon 3 の [Math] 機能で、複数データを組み合わせた通知の手順SORACOM公式ブログ に最初に表示されました。

過去記事アーカイブ

2024年
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
2023年
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
2022年
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
2021年
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月