SORACOM IoT レシピ「IoT で熱中症リスクを多言語でお知らせ」をアレンジしてやってみた

SORACOM

夏が近づくと気になるのが熱中症です。そんな中、SORACOM IoT レシピに「IoT で熱中症リスクを多言語でお知らせ」という、まさにタイムリーなレシピが公開されているのを見つけました。

IoT で熱中症リスクを多言語でお知らせ - SORACOM (ソラコム) IoT DIY レシピ
IoTシステムの構築手順や必要機材をオンラインで公開。IoTの始め方や全体像を学びたい方や、IoTへ取り組みためのテーマを探している方に最適です。

夏へ少しづつ近づいており、熱中症のリスクが高まっていく中、このようなレシピはとても需要があると思います。難易度も★1で初心者向けとなっており、GPSマルチユニット SORACOM Editionがあればできるようです。ただ、RS-LTECO2用の処理や多言語対応など、普段私が使う範囲では不要な機能があったので、少しアレンジして作ってみました。

作成板SORACOM Fluxの全体像

SORACOM Flux上で変更した点は3点です。

  • センサーの種類を「GPSマルチユニット SORACOM Edition」だけに絞りました。
  • お知らせの言語は日本語のみに。
  • 通知方法をGoogle Chatからメールに変更。

具体的にどんなところを変更したのか、そしてレシピ通りに進めていて「おっと?」と少し手が止まってしまった点と合わせてご紹介します。

SIMグループの「バイナリパーサー」の設定

レシピには、「RS-LTECO2」向けのバイナリパーサー設定値が載っていました。

co2:0:uint:16 temp:2:int:16:/10 humid:4:uint:16:/10 interval:6:uint:8

これを「GPSマルチユニット SORACOM Edition」で使っているSIMグループに設定してみたんですが、SORACOM Fluxでエラーが出たり、うんともすんとも言わなくなっちゃいました。

レシピの手順書には「他の温湿度センサーを利用するには ( 例:GPS マルチユニット など )」という記述はあったものの、具体的にどうすれば良いのか最初はちょっと戸惑いました。

いろいろ試行錯誤した結果、最終的にSIMグループのバイナリパーサーには、以下を設定しました。

@gpsmultiunit

これを設定したら、SORACOM Fluxの処理が無事に進むようになりました。

湿温度センサー入力のアクションを1つに変更

元のレシピでは、「RS-LTECO2」向けと「GPSマルチユニット SORACOM Edition」向けで処理が分岐していました。
今回は「GPSマルチユニット SORACOM Edition」しか使わないので、レシピ内の「RS-LTECO2 センサーのデータの前処理」は行わず、「GPSマルチユニットのデータの前処理」だけを実行するようにしました。

具体的には、RS-LTECO2向けに用意されていた下記のような設定は、まるっと省略しています。

[CONDITION] 入力エリアの “アクションの実行条件”

payload.temp != null && payload.humid != null

[CONFIG] 入力エリアの “データを変換する”

{
"temp": ${payload.temp},
"humi": ${payload.humid},
"co2": ${payload.co2},
"interval": ${payload.interval}
}

こうすることで、SORACOM Flux上の処理フローから分岐がなくなって、見た目もスッキリ!設定もわかりやすくなりました。

通知をメールに変更

レシピでは通知先にGoogle Chatを使っていましたが、今回はメール通知に変更してみました。
「多言語アナウンス文の出力」アクションの後に「+アクションを追加」を選んで、「Email通知」を選択するだけです。

[CONDITION] アクションの実行条件: 特に指定なし

[CONFIG]:

  • 宛先(To): 通知を受け取りたい自分のメールアドレス
  • 件名(Subject): お好みでOK!例えば「熱中症アラート!」など
  • 本文(Body): レシピを参考にしつつ、日本語だけになるように調整してみました。
Flux アプリからの通知です!
${payload.output.title.ja}

${payload.output.message.ja}

${payload.output.footer.ja}

これで、GPSマルチユニット SORACOM Editionからの熱中症アラートをメールで受け取れるようになりました。

まとめ

今回は、「RS-LTECO2」を持っていなかったので、「GPSマルチユニット SORACOM Edition」だけでレシピを試してみよう!とチャレンジしました。途中、バイナリパーサーの設定で少し手こずりましたが、それもまた良い経験です。この記事が、同じようにGPSマルチユニットだけで試してみたい方の参考になれば嬉しいです。

実際に作ってみて改めて感じたのは、SORACOM Fluxを使うと、本当に手軽にIoTの仕組みを構築できるんだなということ。アイデア次第で色々なものが作れそうです。

コメント

タイトルとURLをコピーしました