記事内容
安価なIoTトライアルを「やってみた」
IoT(Internet of Things)について語る上では、実際に取り組んで実感する必要があると考えました。とは言いましても、いきなり工場などの現場を舞台にするのは難しいので、まずは仕組み作りに取り組みました。
「センサーデータを収集してデータを可視化する」ことを大きなテーマとして、3つの観点から取り組みました。それぞれのコラム記事でご紹介しています。
[1]センサーデータをクラウド上で可視化する仕組み作り
[2]センサーデータを活用して作業状況を可視化する仕組み作り
[3]センサーデータをクラウド不使用で可視化する仕組み作り
(ここ)「エッジでの可視化デモでIoT活用を実践」
ますは背景となる共通の情報をご説明しますが、既読の場合などは下のリンクをクリックすると個別の内容までジャンプします。
個別の内容に進む →
当サイトでは、IT導入を成功に導くためにトライアルを実施することの有効性を提言しました。
その中で、一つの具体例として「安価なIoTトライアル構成」を挙げました。下図になりますが、こうした例に説得力を持たせ、絵に描いた餅に終わらせないために、実際に動作する仕組み作りに取り組みました。
センサーデータをクラウド不使用で可視化する仕組みの具体化
IoT(Internet of Things)は、その名称からインターネットに接続してクラウドサービスを利用することを思い浮かべます。しかしながら、クラウドの利用は敷居が高いと感じる方もいらっしゃるでしょうし、特にIoT検討の初期段階においては、クラウドサービスの選定に困ることもあるでしょう。また、小規模な構成で要件を満たすのであれば、クラウド費用を抑えたいと考えるケースもあるでしょう。
そこで今回は、クラウドを利用しないで検証を進める方法として、センサーなどのデバイスに近い位置にある装置に処理をさせる「エッジコンピューティング」の概念に基づいたデモを構築してみました。デモのシステム構成を下図でご説明します。
クラウド利用のIoTデモ構成との違いは、クラウドサービスを利用する部分が、LAN(Local Area Network)に置き換わっています。
「SensorTag(センサータグ)」[1]のセンサーデータを可視化するにあたって、社内LANなどの同一ネットワーク上に存在するエッジ装置「Raspberry Pi(ラズベリーパイ)」[2]にPCのWebブラウザからアクセスします。
つまり、Raspberry Piはデータ通信の役割だけでなく、クラウド上で行っていた処理(可視化処理など)も担っていることになります。
クラウド構成時と同様の可視化画面を実現
クラウドを利用したデモでは「Node-RED(ノード・レッド)」[3]によってセンサーデータを可視化するアプリケーションを作成していました。Node-REDはRaspberry Pi上でも動作します。同じソフトウェアを利用することで、クラウド向けに製作したアプリケーションを簡単に移植することができました。
早速ですが、エッジ装置(Raspberry Pi)によるセンサーデータ可視化画面の例をご紹介します。
クラウド版の可視化画面と区別するために画面の配色を変えていますが、クラウド版と同じ内容であり同じ機能を実現しています。また、画像上部のURL欄には、ローカルなIPアドレス(192.168.xxx.xxx)が表示されています。これはRaspberry Piにアクセスしていることを示しています。
可視化画面の内容についてご説明します。クラウド版の時の文書を整理し直しておりますが、基本的には同じ内容になります。既読の場合などは下のリンクをクリックすると次の項目までジャンプします。
次の項目に進む →
画面内容としては、SensorTagが送信するデータをリアルタイムでグラフ化して表示します。
- 動作系センサー値:角速度(ジャイロ)、加速度、地磁気の3軸(X軸、Y軸、Z軸)
- 環境系センサー値:温度、湿度、気圧、照度
- その他:2つの押しボタン(左右)に対するアクション
「動作(推移)」列
動作系センサー値の推移を折れ線グラフで表しており、3軸(X軸、Y軸、Z軸)を重ねたグラフにしています。
「動作(量)」列
動作系センサー値を推移ではなく(ある時点の)値の大きさが分かりやすい別のグラフで表しています。また、「加速度(合力)」は加速度のベクトル合成を算出してグラフ化しています。
「動作分析」列
センサー値を基に判定や加工を行っています。「動作検知」は加速度としきい値を比較することで、センサーが動いたか止まっているかを判定しています。「姿勢」は加速度を基に、センサーの置かれ方が表向きか裏向きかを判定しています。「方角」は地磁気を基に算出してグラフ化しています。
「気候」列
環境系センサー値(温度、湿度、気圧)をグラフにしています。
「環境他」列
環境系センサー値(照度)をグラフにしています。他に「電池」については、電池電圧の値を基に電池残量を算出してグラフ化しています。
「操作」列
押しボタンへのアクションに対する可視化および、データの利用例を3つ示しています。「例1」は左右ボタンの押下に伴いポイントも左右に移動します。「例2」はボタン押下に伴いスイッチのOn/Offが切り替わります。「例3」はボタン押下に伴いカウントアップします。
なお、SensorTagのような無線マルチセンサーの別製品として「IoT Smart Network Module」[4]を入手していましたので、こちらでもRaspberry Pi上にデータ収集して同様の可視化画面を作成しました。
基本的にはSensorTagの可視化画面と同様の内容ですが、違いは機器の構成の差によるものです。IoT Smart Network Module側から見たSensorTagとの違いを補足します。
- 動作系センサーでは、角速度(ジャイロ)に非対応
- 環境系センサーでは、紫外線も計測可能
- センサー自体の状態通知では、電池電圧だけでなく電波強度も通知
- 押しボタンは非搭載
更に小規模な構成との比較
(今回のデモの)システム構成図に示した構成よりも更に小規模な構成としては、社内LANに接続せずにWi-Fiルータ配下で接続しても同じことを実現できます。しかし、そのような構成であればセンサーメーカーが提供する専用アプリを使用する方がお手軽だと思われます。
SensorTag(テキサスインスツルメンツ社)やIoT Smart Network Module(アルプスアルパイン社)では、センサーを管理し、計測値を可視化する専用アプリ(スマートフォンやタブレットで動作)を提供しています。専用アプリを使用する場合は、Raspberry Piのようなゲートウェイの役割を果たす機器を用意する必要はありません。
センサー値を確認する程度の用途であれば、最も手軽な手段になると思われます。それでは何故、システム構成図のようなご提案を行うのか?理由を述べて行きます。
まず、専用アプリでは、対象が特定メーカーの特定製品に限られてしまいます。今回のデモでは、異なるセンサー製品を用いたとしても同じ画面で同じように可視化を実現できていました。これは専用アプリでは困難です。
加えて、センサー値を単純に表示するだけでなく、センサー値の活用(計算や判定)を重視するのであれば、専用アプリで行えることは限定的になるでしょう。このシステム構成は、少ない制約で様々な検証を行える可能性を有しているのです。
他にも、システム構成図のように社内LANに接続することで、工場などに設置したセンサーのデータを事務所などの離れた場所でモニタリングすることが可能になります(但し、ネットワークの条件にもよります)。クラウドを利用しなくてもクラウド構成に類した運用の検証をすることができます。
小規模に行う検証を経てクラウド展開することの意義
IoTを検討するにあたっては、早い段階で「どのようなセンサーを、どのように使用して、どのようにデータ収集するのか」を明確にすることが求められます。それらの結果を得るためには、実際にセンサーで計測してみたり、データを収集してみたりする検証作業を行うことが近道になるでしょう。
こうした検証にまずは取り組んでみる場合は、クラウドなど関係なしに今回のデモのように小規模なシステム構成であっても行えるのです。また、検証を通して「やりたいこと」が具体化され、そのために「必要となるもの」も明確になって行きます。
検証によって様々な要件が明確になることで、場合によってはクラウド未使用のまま構築を進める判断となるかもしれませんし、クラウドを利用する場合であっても、要求事項が明確になっていますので、色々なクラウドサービスから選定する際にアンマッチになるリスクを抑えられるでしょう。
クラウドサービス利用のメリットの一つに「乗り換えやすい」ことが挙げられますが、できることなら避けたいところです。乗り換える場合は、クラウド環境の様々な設定作業をやり直すことになりますし、そのために新しいクラウドサービスの利用方法について一から学習し直すことにもなりますので。
また、当初はクラウド未使用の小規模な構成からスタートしたとしても、スケールアップが必要になってクラウド利用へと展開することもあるでしょう。例えば、当初は単一拠点内のセンサーなどのデバイスを一覧で管理していて、効果が出たことで次のステップとして、複数拠点のデバイスを一覧で管理しようとした場合には、クラウドあるいは専用サーバを利用することが避けられないでしょう。
こうした場合であっても、小規模な構成で作り上げた環境は無駄にはならないでしょう。クラウド展開を進める上で有利に働き、クラウド利用の速やかな開始に繋がる可能性もあるでしょう。
今回のデモの構築では、クラウド環境で作成していたアプリケーションをエッジ装置(Raspberry Pi)に移植することにより、可視化を速やかに実現したことをご紹介しました。これは逆に言えば、エッジ側から開発を進めた場合でもクラウドへの展開が容易であることを示しています。全ての場合で当てはまる訳ではありませんが可能性を有しています。
ここまでを整理しますと、検証によって要求事項を明確にすることは、その先の導入や展開(拡張)を実施する上で役立ちます。これは何もIoTに限った話ではありません。検証を手軽に行うことができれば有利になります。例えば、安価で手に入れやすい機器やサービスを用いることも一つの方法となるでしょう。
「できるところから始めてみる」ことをお勧めします。例え最初は小規模であったとしても、「やってみて分かったこと」を取り入れてステップアップして行けば良いのです。
当サイトでは、こうした取り組みを今後も続けて行きたいと考えております。また別の形でデモの構築をご紹介する機会があると思いますので、段々とステップアップして行く様子をご覧いただければ幸いです。
この記事のまとめ
- IoT検討はクラウドなしでも始められる
- 小規模であればクラウドを利用しなくてもデータ可視化は可能
- 小規模な検証から学んだことを活かしてステップアップして行く