Soracom Summer Challenge2020に参加しました!(結果報告)
こんにちは。僕は工業系の大学で大学院生をしている人で、IoTやAIなどを専門?に生活をしています。
今回はSoracom様のSoracom Summer Challengeに参加しました。その結果を書いていきたいと思います。
参加の経緯や作成するものは以下の記事を見てもらうと助かります。今回はその続き、実際にどのように作成したのかやどんな感じになったのかを書いていく、Soracomインターンの完結編になります。
↓参加するぞっていう記事
前記事からのアイデアの発展(応用先)
上記した記事を挙げた際に意見をもらいました。
それは農作業中の高齢者の作業中の熱中症なども検知することができるかもしれないということでした。温室(ハウス)での作業はかなり温度が高くとても危険な作業です。またハウス内での作業なので倒れても確認するのに時間がかかるなどの問題もありそうです。
そこで高齢者がこのGPSマルチユニットを装着することで倒れていないかなどを確認することで安否を確認しやすくなるかもしれません。
システムの全体図
作成したシステムの全体図を改めて示したいと思います。作っていった結果このような形になりました。
まずGPSマルチユニットから温湿度、加速度、位置情報を取得し、HarvestdataとLagoonに送信します。Lagoonではグラフや位置情報を出したマップなどを表示します。そのダッシュボード(Lagoon)を共有することで使用者や保護者がデータを可視化することができます。またHarvestdataはバックアップ用でアップデートしています。簡単にデータを見ることができるので通信ができているのかなどはこちらで確認します。
また温度が高い場合は熱中症のリスクが高いということや、加速度割込みでデータ転送を設定しておきそれが頻繁に動作した場合、LINEの通知を行うように設定をしました。そうすることで温度を通知することで熱中症の危険喚起や転倒したのかの情報を知ることができると考えたからです。(加速度の変化でデータ送信するので激しい動作をすると同様に通知が発信されます。)
作成したもの(概要)
まず大まかに作成したものを紹介します。
・GPSマルチユニットケース
・Soracom Harvestdataを用いたデータの可視化
・Soracom Lagoonを用いたマラソン応援システム
です。一つずつ説明していきたいと思います。
GPSマルチユニットケース
まずはGPSマルチユニットのケースを作成しようと考えました。フックやクリップなどの引っ掛ける形状にすることで自然に身に着け、邪魔にならないと考えつつモデリングを行いました。
モデリングはTinkercadというサイトを用いてモデリングを行いました。本来はFusion360などで作成すると思うのですが簡単にTinkercadはより簡単にモデリングを行うことができるのでそちらを使っています。(Fusion360の方が複雑な形状の場合は使いやすいです。あくまで簡単な形状をパパっと作りたい時に使うものだという認識です。)
↓Tinkercadのホームページ
作成したモデルは下のようなものになります。今回はGPSマルチユニット本体を覆う形でケースを作りそこにクリップを付けることにしようと思いました。また上面はアクリルなどの透明の板を用いることで本体のデザインも見えるように加工しようと考えました。
実際に3Dプリンターを用いて印刷した結果は下のようになります。今回透明の板は塩ビ板を用いました。アクリルより加工がしやすく作るときに簡単に作ることができるからです。
これを身に着けることで、走るときの環境や移動状況をモニタリングすることができるようになるわけです。
Soracom Harvestdataを用いたデータの可視化
次にHarvestdataを用いたデータの可視化を行いました。実際にはGPSマルチユニットを使ったテストのデータ送信です。
GPSユニットは10分毎にすべてのデータを送信するようにしました。また加速度割込みをかなり閾値高めで設定して行うことで転んだ場合にデータを送信してくれます。(誤動作する場合もあるし、反応しない場合もある。要調整)
GPSマルチユニットはコンソールから送信するデータや間隔などを設定することができます。
↓GPSマルチユニットの設定。どのデータを送信するのか選択できる。
↓送信間隔もコンソールから指定することができる。
↓転倒検知用に加速度割込みをオンにして高い値で送信するように。ただもう少し低めでもよかったかも、しっかりと数値の適正位置を設定する必要がある。
上記のように設定して運用していくことにしてみました。次に送信したデータを簡単にみていきたいと思います。データを試験的に簡単にみるにはHarvestdataを使うといいです。アプリケーションは別のものを使うことになりやすいですけど、テスト的にデータを見る場合は使いやすい感じでした。
↓GPSユニットの設定方法(公式ドキュメント)
使ってみた結果はこのような感じです。(緑線は位置情報で見せられないです。)
このように簡単にデータを可視化してくれます。またGPSの情報をマップにピン指しして見せてくれる機能もあります。ただGPSで見えるのは自分の家なので今回は見せられません。ぜひ試してみてください!
これで簡単にデータを送れているのかなどを見ることができます。ただ温度が一定以上だったらとかがまだできていません。そこでLagoonを用いていきたいと思います。
↓Harvestdataの機能紹介(公式ドキュメント)
Soracom Lagoonを用いたマラソン応援システム
やっと本編みたいな感じですがマラソン支援のための情報を見るダッシュボードを作成することと、温度を一定以上または、転倒検知すると通知が行くようにするシステムをLagoonを用いて実装しました。
LagoonはHarvestdataのデータの可視化できるツールです。グラフを出したり、数値のみ出したりと様々な方法でデータを見ることができます。また数値が一定以上だった場合などでLINEやSlackなどに通知する機能もあったりします。
↓Lagoonの公式ドキュメント
Lagoonで作成したダッシュボードを共有URLで共有する機能やIframeで出力する機能があるのですが、位置情報もありすべての情報を見せるわけにはいかないので、実際に作成したものを画像で張っていきます。
ちなみにiframeで感動している著者
こんな感じのデータの可視化をとても簡単にすることができます。また温度のグラフでは10分毎で送られてきた温度で30度(2枚目画像の2つ目の温度グラフでは35度)以上になるとLINE通知を来るように設定してあります。
また転倒チェックというグラフでは10分間で送信されたデータが何個なのか数えて複数個送られてきていた場合に通知をするように設定しました。
このような感じで設定方法も簡単に設定することができます!
また通知手段はこのようにたくさんあります。今回はLINEに通知するようにしました。
↓Lagoonを用いてアラート設定する方法(公式ドキュメント)
これで走っているときの位置情報や、温度、湿度などなどの情報を見ることができ、また温度が高い場合はLINEに通知が行くようになりました。また加速度で転倒検知した場合も通知が行くようにすることができました。
次は動作チェックしてみましょう
動作チェック
実際にLINEに通知が来るのかチェックしてみます。まずは温度をチェックしてみます。温度は部屋に置いておいて30度を超えたら通知が来るはずなので見守ってみました。
こんな感じで通知が来ました!通知のメッセージはもう少し改善する必要がありそうです...
また転倒チェックは転ぶのは嫌なので、GPSマルチユニットを振ってみて通信を行い、通知が来るのか確認しました。すると...
こんな感じで通知が来ました!資格で囲っている部分はLagoonのURLでこれに入ると上に張ったグラフなどが見れます。これで走っている人が倒れたりしたときに大丈夫か連絡することで安否を確認できます!また倒れた場所の情報もLagoonを見ることで確認することができ、救急車などが倒れた人を探すことをすることなくすぐに倒れた人の場所に行くことができます。
またLINEのグループに通知しているのですがその場所にさまざまな人を招待することでその人がどのようなコースで走っているのか、行動しているのかやどんな環境で走っているのかなども共有することができます。(もちろん位置情報の共有はプライバシーが云々ありますので注意が必要。)
終わりに
Soracomのサマーチャレンジはこんな感じのシステムを作りました!まだまだ改善の余地はあると思います。双方向通信などで情報をやり取りすることができればよりよいシステムになると思います。
またSoracomのシステムを使ってみて感じたのはとても使いやすいということです。一応研究がIoT系な研究をしているのでわかるのですが、データの可視化(グラフなどに)することや、一定値を検知したら通知するなどをプログラムで書くと結構めんどくさいです。そのめんどくさい部分をすべてGUIで少しボタンをポチポチするだけで実行できるというのはとてもいいです。非エンジニアでも快適にIoTシステムを作成することができると思います。それが一番やっていて感動したところです。
また今回はノンコードでものを作成してみました。プログラムを一切うってないです。HTMLなどでの可視化を考えていたのでそういったものを作成する必要があるかと思っていたのですが、それもしていません。すべてSoracomのコンソールでの設定をするだけでものを作ることができます。これだけできるのはSoracomのプラットホームの機能の豊富さがあってこそできることです。上にも書いた通り非エンジニアの方でもこれだと作成することができます。
インターンとても楽しかったです!ほかの人も記事を書いているのでその方たちの記事をぜひ読んでください!そちらではもっと素晴らしいものを作っていると思います。またSoracomこんなこともできるの!?って発見もあると思います。
もっとシステムをいろいろ使ってみたかったなあ...研究で使ってみようかな。
関連記事
インターン中に書いた記事たち(自分のもののみです。自己主張激しいって自分で思いますが...よかったら読んでみてください)
この記事が気に入ったらサポートをしてみませんか?