LoginSignup
4
0

More than 3 years have passed since last update.

【SORACOM×コロナ対策】アルコール消毒状況から店の混雑度合いを可視化してみた

Last updated at Posted at 2020-09-25

はじめに

こんにちは!AITOYA株式会社の胡本(えべすもと)です。

さて、前回作成した「アルコール消毒状況がひと目で分かるIoTデバイス」シリーズ第2弾です!

今回は取得した情報をより管理しやすくするために、SORACOM のサービスを使ったクラウド管理をしてみようと思います!

最終的なシステム構成は、以下のようになっています。
システム構成
それでは、始めていきます!

目次

前回のダイジェスト

前回の記事では、「アルコール消毒状況がひと目で分かる」デバイスを作る手順について書きました。

具体的な外装の設計や配線内容、システム構成について記載してあります。
【コロナ対策IoT】アルコール消毒状況がひと目で分かるデバイス作ってみた!

SORACOM SIMの設定

SORACOM のSIMカードを使用する際は、以下のリンクのステップに沿って、
「アカウント登録」「SIMカードの購入」「SIMの設定」を行う必要 があります。
SORACOM Air for セルラーの利用方法 - IoT プラットフォーム 株式会社ソラコム

今回は SORACOM IoT SIM を購入しました。
1枚からSIMカードを購入できるのでとても便利ですね。

その後、SIMカードが届いたら、以下のリンクに沿って「ユーザーコンソール」に購入したSIMカードの登録を行います。
ユーザーコンソールの使い方 | Getting Started | SORACOM Users

ここで自分のSIMカードの名前も変更できるので、自由にカスタマイズしてみるのもよいかもしれません。

最終的に、以下の写真のようにユーザーコンソール上でSIMの状態が「準備完了」となっていれば成功です。
SORACOM-Ready
ここまでで、SORACOM SIMカードの設定は終了です。

SORACOM Harvest を使って情報の可視化をやってみた!

さていよいよ、SORACOM Harvest を使った情報の可視化を行っていきます!

……と、その前に SORACOM Harvest についての説明ですが、
そもそも SORACOM Harvest とは、「IoTデバイスからのデータを収集、可視化およびファイルを保存するサービス」です。
詳しい説明は以下のリンクに記載してあります。
SORACOM Harvest

このサービスを使用することによって、サーバーやストレージの準備をすることなく手軽に情報の可視化や管理ができるようになります。

前回の記事でアルコールスプレーの噴出情報を取得できるようになったので、今回はこのサービスを使ってデータの管理を行いたいと思います。

まずは WioLTE を使用して SORACOM Harvest と接続ができるかどうかを確認しました。

SORACOM側の設定

まずはSORACOM側の設定からです。ユーザーコンソール左上のメニューから「SIMグループ」をクリックし、
SORACOM_group

「追加」のボタンをクリックして新しいSIMグループを作成します。
今回は「hand-wash」という名前のグループを作成しました。
SORACOM-new

次に、「SORACOM Harvest Data 設定」という所をクリックし、
SORACOM_Harvest_Data

図のように、設定をONに変更します。
SORACOM_Harvest_Data_ON
その後、図のように使用したい SIM にチェックを入れ、「所属グループを変更」をクリックすると SIM の所属グループが変更できるので、
SORACOM_Harvest_group

先程作成したグループを選択し、保存します。
SORACOM_Harvest_group2
これで SORACOM 側の設定は完了しました!

WioLTE側の設定

WioLTE 側で書くソースコードは、SeeedJP の公式ライブラリに SORACOM Harvest と通信を行うソースコードが記載してあります。

今回もこちらのソースコードを使用させて頂きました 笑
WioLTEforArduino/soracom-harvest.ino at master · SeeedJP/WioLTEforArduino · GitHub

このコードを使用する際、32行目の

soracom-harvest.ino
if (!Wio.Activate("soracom.io", "sora", "sora")) {
    SerialUSB.println("### ERROR! ###");
    return;
}

の部分が
Activate("APN","ユーザー名","パスワード")
となっているので、自分のSIMカードに合わせて変更しました。

また、今回はこのコードで使用する温湿度センサーを取り付けていないので、SORACOM Harvest にデータは送信されません。
もしデータを送信したい場合はloop内の処理を変更してみるとよいです。

ソースコードをコンパイルして実行すると、SORACOMのユーザーコンソール上で以下のような表示になります。
SORACOM-Harvest_Connect
SIMカードが「使用中」となったので、SORACOM Air での通信確認が出来ました!

SORACOM Harvest へのデータ送信と結果

SORACOM Air での通信確認が完了したので、本題であるプッシュ回数の可視化を行いました!

実際の送信データは「menu」から「SIM管理」を選択後、
下の画像のように使用しているSIMカードを選択して、「操作」から「データを確認」をクリックして確認します。
SORACOM_Harvest_data_watch
今回は、先程記載した SeeedJP のソースコードを参考に、アルコール噴射回数を5分毎に SORACOM Harvest に送信するプログラムを作成し、実行しました。

その結果がこちらです!
Harvest_WioLTE_data
実際にデータを可視化できていることが分かります。

また、データの詳細を見てみると、
WioLTE から送ったアルコール噴射回数を記録できていることが分かります。
data-detail
これで、アルコール噴射回数を記録し可視化することができました!

SORACOM Lagoon を使ってアラート機能を追加してみた!

データの記録と可視化に成功したので、次は SORACOM Lagoon を使ってデータの整理やアラート機能を実装してみます!

SORACOM Lagoon とは、 SORACOM Harvest に集められたデータを用いてグラフ等を作成し、共有するためのサービスです。
詳しい説明は以下のリンクに記載してあります。
SORACOM Lagoon

今回は、この機能を使って、一定回数以上アルコールが噴射されると Webhook 経由でSNSに通知が行くようなシステムを作っていきます。

はじめに SORACOM Lagoon の設定を行っていきます。
SORACOM Lagoon にはダッシュボードの数やユーザー数に応じて「Free」「Maker」「Pro」のプランがありますが、今回は「Free」のプランを使用していきます。

まず、SORACOM Lagoon はユーザーコンソール内の「menu」から「データ収集・蓄積・可視化」の中の「SORACOM Lagoon」を選択します。
SORACOM-lagoon1

その後、「ユーザーを追加」の欄を選択後、SORACOM Lagoon console にアクセスするためのアカウントを作成します。
SORACOM-lagoon2

その後「追加」をクリックし、その後「SORACOM Lagoon console にアクセス」をクリックすると SORACOM Lagoon を使用することができます。

次はグラフを作成していきます。下の図のように「+」の作成ボタンから「ダッシュボード」をクリックし、
SORACOM-lagoon_console1

「追加」の欄にある様々なパネルの中から「グラフ」を選択し、写真のようにグラフの「パネルタイトル」から「編集する」をクリックします。
SORACOM-lagoon_console2
これでグラフの編集ができるようになります。
あとは右上の日付の欄を SORACOM Harvest 上で測定した日付にすると、SORACOM Harvest 上で測定したデータをまとめることができます。

余談ですが、SORACOM Lagoon は軸の種類を細かく変えることができるのがとても素晴らしいです。
リアルタイムでデータを取得することが出来たとしても、軸表記や凡例表示の設定で可視化までの時間がかかることがあるので、これはとても有り難いですね 笑
SORACOM-lagoon_console3

パラメータを調整した結果できたグラフがこちらです。
SORACOM-lagoon_console4

これでデータのグラフ化を行うことができました!

次にグラフにしきい値をつけてその値を超えると Webhook 経由でSNSに通知が来る設定を行います。
下の写真のように、左側メニューバーの「アラート」から「通知チャンネル」をクリックし、新しいチャンネルを作成します。
SORACOM-lagoon_console5

その後、下の写真のように、名前、Webhook の選択と URL を貼り付けて保存します。
IFTTT を使用した Webhook の作成方法は前回の記事に記載してあります。
前回/IFTTT を使用した Webhook の作成方法

今回は、SNSの送信先を slack に変更して Webhook の設定を行いました。
また名前は「hand_wash」にしました。
SORACOM-lagoon_console6

Webhook 自体の設定が完了したら、先程作成したダッシュボードに戻り、「アラート」の「アラート設定」から以下の写真のように各項目を設定します。
SORACOM-lagoon_console7
また、「アラート設定」の下にある「通知」を確認すると、Webhook の送り先を設定できます。ここで先程作った「hand_wash」になっていない場合は再度送り先を設定します。

設定が完了すると、図のようにしきい値が表示され、しきい値を超えると Webhook が起動するようになります!
SORACOM-lagoon_console8

これで SORACOM Lagoon を使ってデータの整理やアラート機能の設定ができました!

前回の記事ではただアルコール噴射回数をSNSに通知するだけでしたが、SORACOM Lagoon を使用することによって「一定回数噴射したら通知する」というより実用的な方法に変更することができました。

実際に飲食店で検証実験をやってみた!

データの管理と可視化、アラート通知の設定が完了したので、実際に飲食店にご協力いただき使用してみました!

実際に飲食店に設置した様子がこちら
setti1

お店側のご配慮で、場所が分かる貼り紙までしていただきました。本当にありがとうございます。
setti2
設置するにあたり、SORACOM Harvest への送信間隔を1時間に設定して測定を行いました。その結果、1時間ごとのアルコール噴射回数を可視化することができ、一定回数以上噴射すると無事 slack に通知を送ることに成功しました。

今回来店した方のほとんどが、このデバイスを使用してくれていたとの事なので、ここから店の混雑状況を把握したり、自動で告知ができるようになりました!

終わりに

ここまでお読みいただきありがとうございました!

この2回の記事を通して、実際にアルコール噴射回数から店の混雑状況の把握や空席度合いの告知ができるようになりました。
これで安心してご飯が食べられますね 笑

また SORACOM のシステムを使えば本当に簡単にクラウド管理ができたので、ただただびっくりしました。
他にも思いつけば SORACOM のサービスを使って他のIoTデバイスも作ってみようと思います 笑

当社は、cm級位置情報測位デバイスの「iChidori(いちどり)」シリーズを始めとした、位置情報ソリューションをお客様に提供しています。
製品の説明は こちら に記載あります。ご興味のある方は是非ご覧ください!

よい、いちどりを。
本記事は、AITOYA株式会社HPに掲載している内容と同一のものです。→AITOYA株式会社HP

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0