IoTにおけるIとTの役割分担を考える

はじめまして。Kanazawa IoTの相羽(あいば)です。
普段仕事で Amazon Web Service などのクラウドサービスを使っていることもあって、Kanazawa IoT の中ではいわゆる「I側」のインターネットサイド、サーバサイドの事を担当しています。

さて皆様、春の大型連休はいかがお過ごしでしたでしょうか?
私は連休たっぷり時間をもらっていたはずなのですが、毎週更新を掲げてリスタートしたこの Kanazawa IoT のブログマガジン、いきなり締切を飛ばしてしまいました(汗

UTMFに行ってきた

私は連休の前半に「ULTRA-TRAIL Mt.FUJI(ウルトラトレイル・マウントフジ)」(通称UTMF)という山を走るレースに参加した友人をサポートするため、富士山麓に行ってきました。
これはトレイルランニングというスポーツの大会なのですが、富士山の周りに設定された100マイル(約168km)のコースを46時間以内に完走するという長距離レースです。
このレースでは途中に補給ができるエイドステーションが10ヶ所あり、そのうちの5ヶ所で仲間からサポートを受けることができます。ここで友人の補給や体調管理、応援をする事がサポーター私の役割でした。

IoTの分野において、私はI側(インターネット側)は得意分野、T側(デバイス側)は全くの素人という感じなのですが、そんな私がIoTの勉強をしたいと思ったのは、ある物の位置情報や状態をリアルタイムで監視するトラッキングシステムを作りたいと思った事がきっかけでした。

レースのサポーターをすると、ランナーが今どこにいるのか、どういう状態なのか、いつ頃到着するのか、という情報が欲しくなりますが、これがまさに私が作りたいトラッキングシステムの用途になります。

こういう時にGPSの位置情報を定期的に発信する「GPSトラッカー」と呼ばれるIoTデバイスを使いますが、今回は GlobalSatTR-313J というGPSトラッカーを購入し、SORACOM の SORACOM Air というIoT向けデータ通信サービスを使って、サポートするランナーの位置情報や移動する速度などを監視しながら、GPSトラッキングの精度や使い勝手などのテストをしてみました。

今日はこのテストの中で感じた、IoTを使ったシステムにおけるIとTの役割分担について書いてみたいと思います。

電源確保の難しさとIとTの役割分担

IoTデバイスにおいて、電源の確保は非常に悩ましい課題です。
常設の電源を確保できれば良いのですが、牧場や農地、山林など人がなかなか行けない場所でこそ活躍するのがIoTの技術でもあり、このような環境でデータ収集の頻度と長時間稼働という相反する要求のバランスを取らなければなりません。

GPSトラッキングにおいても、自動車のように発電できるモノであれば電源を取ることができますが、長距離ランナーのようなモノを監視するには、バッテリーで長時間稼働することが必要で、これに加えてデバイス本体の軽さも重要なポイントになります。

IoTを使ったシステムのよくある例として、センサーを使って何かを監視するというものがありますが、このシステムは以下のような機能で動いています。
1. 何らかのセンサーでデータを計測
2. ネットワークを通してデータを収集
3. 集まるデータを監視して異常があったらアラートを通知
4. 状況を分析しやすいように可視化
5. 遠隔操作でデバイスを操作して異常の原因に対処

GPSトラッキングもこのシステムの一種で、GPSセンサーで緯度経度を計測して時刻と合わせて収集し、データを地図上に見やすいように可視化、目的地に近づいたらアラートを通知といった事をやっています。

これらの機能をバランス良く実現するためには、T側のデバイスとI側のネットワークやサーバの役割分担を意識する必要があります。

デバイスで行う処理が多いと消費電力が多くなってしまうので、できるだけ電力消費を抑えてセンサーを動かして、低い頻度で小さいデータを送るようにします。ここで十分な情報を小さなデータに含めて送るためには、データの精度やデータ構造の設計が重要になります。

今回のGPSトラッキングにおいては、調整できるのが現在位置の測位と発信の間隔だけだったので、デバイスが3日間稼働できるという15分毎に設定していました。しかしランナーの接近時などはもっと高頻度で情報が欲しいため、リモートからの操作で一時的に1分毎に頻度を上げて使ったのですが、これによってバッテリーが消費してしまい、途中で充電が必要になってしまいました。

次にネットワークにおいては、使用する場所に合わせて低消費電力で遠くまで飛ぶ通信方式を採用したり、通信するデータの量を抑えるプロトコルの選択を行いますが、通信するデータの内容によってはセキュリティ面の考慮も大事なポイントです。GPSの位置情報などはプライバシーにも関わるので、特にセキュリティ面の考慮が必要なデータだと言えます。

今回は冒頭でも紹介した SORACOM Air をネットワークに使用しました。これはIoT向けのドコモの3G/LTEのMVNOサービスで、IoTの用途に合わせて登りの通信の料金が安価に設定されています。

最後にサーバ側ですが、ここが一番自由度が高い部分なのでいろいろな方法を選択する事ができます。最近は主要なクラウドサービスがIoT向けのサービスを次々にリリースしていますので、全て最初から開発して運用するよりも、このようなサービスを組み合わせて使った方が、早く安価にシステムを作ることができるようになっています。また最近のクラウドサービスの流れとして、処理が必要な時だけサーバを動かしてコストを抑えるといったこともできるようになりました。

今回は使用したGPSトラッカー標準の位置情報管理サービスを使用しましたが、とても使いやすいとは言えないものだったので、この部分は他の選択肢を探したり、自分でも何か作ってみようと思っています。

次回以降のこと

Amazon Web Service をはじめ、クラウドサービス各社からIoT向けのサービスがリリースされています。今後何回かに分けて、サーバ側の処理に使うと便利なサービスをご紹介できればと思っています。

おまけ

地元グルメも美味しくいただいてきました。

富士宮やきそば

吉田うどん

ほうとう


この記事が気に入ったらサポートをしてみませんか?