投稿日

野外活動を健やかに!温度と湿度で危険な暑さを判定して SORACOM Lagoon 3 で通知しよう

米 海洋大気庁は、今季 (2024 – 2025) の冬は過去最高に暖かい年になるだろうとのレポートを発表したそうです。思い返せば昨 2024 年は夏の猛暑も凄まじく、全国のアメダスで観測された猛暑日の延べ地点数は 10,000 を越え、2023 年を大幅に上回ったとのこと。また半年も経てば、猛烈な暑さが健康に与える影響が心配になる季節がやってくるでしょう。

暑さ対策のための参考として、温度と湿度から計算した指標 (体感温度のようなもの) が役に立ちます。指標が危険な暑さを示すことを通知できれば、暑さへの安全策を講じられます。

このブログでは SORACOM Lagoon 3 (以下、Lagoon 3) を使って指標を計算し、その指標に基づいた通知を設定する方法を、4 つの手順に分けてご紹介します。Lagoon 3 は、契約月を含む始めの 2 ヶ月間は無償で利用できますし、Free プランもありますので、ぜひこれを機会に Lagoon 3 をお試しいただき、実際のビジネスでの活用イメージを膨らませてみてください!

[画像] チュートリアルの 4 つの手順

Lagoon 3 で通知を設定するためには、 Alert rule について知る必要があります。 Alart rule について詳しくは、こちらのブログも合わせてご参照ください。

注意事項
● この記事で扱う指標は、熱中症予防の正式な基準とは異なります。参考のみの目的で示しています。
● この記事は、GPS マルチユニットのデータを SORACOM Harvest Data に保存している前提で進行します。もしお持ちでなくても、SORACOM Lagoon 3 に内蔵の Demo デバイスで代用できます (Demo デバイスは架空の温度・湿度データを提供します)
GPS マルチユニットはソラコムが販売する多機能な IoT センサーで、温度・湿度に加えて、位置情報や加速度などを測定できます。
SORACOM Harvest Data は、SORACOM IoT SIM が送信したデータを蓄積するストレージサービスです。

(1) [Query] 時間の範囲を指定してデータ系列を取り出す

まず、Alert 条件に使用する 2 つのデータ系列、温度と湿度を取り出します。1 つの [Query] (値を取り出す仕組み) を使うと、1 つのデータ系列を取り出せます。

最初から Alert rule 設定画面には [Query] が 1 つ設定されているので、画面の [+ Add query] ボタンを押してもう 1 つ追加します。そして、それぞれの [Query] で、対象の GPS マルチユニットが過去 1 時間で測定した温度湿度のデータ系列を取り出します。

[画像] 上の [Query] が温度の、下の [Query] が湿度のデータ系列を取り出している

Alert rule の [Query] や [Expression] には名前を付けられます。四角の左上の青字をクリックすると、名前を入力する欄が表示されます。このブログに載せるスクリーンショットでも、各 [Query] と [Expression] に名前を付けていますので参考にしてください。

過去 1 時間の温度を取得する [Query] に、「温度」と名前をつけています

(2) [Reduce] 取り出したデータ系列を 1 つの数値にまとめる

次に、取り出したデータ系列を 1 つの値にまとめます。GPS マルチユニットは 10 分ごとにデータを送信しており、データを取り出した過去 1 時間の間に、温度データは 6 つ含まれます。これを 1 つの数値にまとめる (集約する) のです。湿度についても同様に 1 つの数値に集約します。

[+ Add expression] を押して [Expression] (値を処理する仕組み) を 2 つ追加し、計算方法に [Reduce] を選びます。さらに [Function] で [Mean] を選び、温度と湿度それぞれの過去 1 時間の平均値を算出しましょう

[画像] 左は取り出した温度のデータ系列を、右は取り出した湿度のデータ系列を平均値にまとめている

(3) [Math] 複数の値を使って計算する

いよいよ、暑さに関する指標を計算します。[+ Add expression] をクリックして [Expression] を追加し、計算方法に [Math] を選んで次の計算式を入力します。式中の変数名は、前の手順で設定した [Expression] の名前です。

0.735 * $平均温度 + 0.0374 * $平均湿度 + 0.00292 * $平均温度 * $平均湿度 - 3.84
[画像] [Expression] の 1 つ [Math] を使うと、Alert rule で計算できます

この例に限らず、[Math] では様々な計算が可能です。快適度指数空気質指数、HVAC システムの効率など、測定値を直に扱うのではなく、測定値を組み合わせて算出する指数に基づいた通知が必要なとき [Math] が役に立ちます。

(4) [Threshold] まとめた 1 つの値を基準値と比べる

最後のステップでは、計算した指標と、通知の有無を判定する基準値とを比べます。もう一度 [+ Add expression] を押して [Expression] を追加し、計算方法を [Threshold] を選びます。

[Input] を [指標] とし、比較条件に [Is above] を、入力欄には「28」をそれぞれ設定します (28 の意味は記事末尾で)。そして [Make this the alert condition] を押して、この [Expression] の出力を Alert 条件として設定します。

[画像] 算出した「指標」と基準値となる「28」を比べ、28 以上なら Alert を出すように設定した

「比べる」の設定 (つまり [Threshold] の設定) ができたら、[Preview] ボタンを押してみましょう。このボタンを押すと、現時点のデータに基づいて Alert の出る出ないが判定され、Alert condition に設定した [Expression] の右下に [Normal] または [Firing] が表示されます。

[画像] [Normal] は「現時点の温湿度環境なら Alert は不要」を、[Firing] は「現時点の温湿度環境なら Alert を出す」を表します

ここまでで、Alert rule 設定の [1 Set a query and alert condition] が完了しました。続けて [2 Alert evaluation behavior]、[3 Add details for your alert]、[4 Notifications] を設定すれば、Alert rule の設定は完了です!

詳しい方法については、Users ドキュメントの ステップ 2: Alert rule の詳細を設定する 以降をご参照ください。

最後に Contact point と Notification policy の設定も忘れずに!

Lagoon 3 の通知では、Alert rule に加えて、Contact point と Notification policy を設定します。これら 3 つの要素のおおまかな概観を知りたい方は、ブログ記事 IoT のデータ活用を広げる「通知」を SORACOM Lagoon で設定するポイント をご覧ください。

この記事では Alert rule の設定方法を解説しました。残りの 2 つ、Contact point と Notification policy の詳しい設定法を知りたい方は Users ドキュメントをご参照ください。

改めて、これを機会に Lagoon 3 をお試しいただき、実際のビジネスでの活用イメージを膨らませてみてくださいね。

補足: 計算した指標の意味

計算した指標は暑さ指数 (WBGT: Wet Bulb Globe Temperature) を参考に、GPS マルチユニットから取得可能な温度・湿度だけで計算できるように筆者が改変したものです。

暑さ指数は熱中症の予防を目的として提案された指標です。環境省 熱中症予防サイトには、次のような簡易的な計算方法が掲載されています。ここで、T: 気温 [℃]、H: 相対湿度 [%]、S: 全天日射量 [kW/m²]、W: 平均風速 [m/s] です。

WBGT = 0.735*T + 0.0374*H + 0.00292*T*H + 7.619*S - 4.557*S*S - 0.0572*W - 4.064

使用した計算式は、上の式に S = 0.03 [kW/m²]、W = 0 [m/s] を固定値として埋め込んだものです。これは日射量に 2024 年 8 月の観測値の平均値を、風は無風を仮定して計算したものに相当します。GPS マルチユニットでは全天日射量と風速を測定できないため、このような仮定を追加しました。

Alert を出す基準は「指標 > 28」と設定しました。これは日の最高の暑さ指数が 28 を超えると熱中症のリスクが著しく高まるという、環境省の熱中症予防サイトの基準を参考にしています。

― ソラコム 小林 (tau)