これから何回かに分けて、IoTのだいたいのパターンと、
そこから見えてくるIoTのフレームワークに必要な条件を考えてみたい。
今回は、IoTのだいたいのパターンの全体像
■全体像
いきなりだけど、全体像としては、こんな感じだと思う
まず、場所について考えると
1.センサーがある現場と(多数)
2.センサーデータを集積するサーバー
3.データを表示するところ(監視ルーム、ケータイ、いろいろなところが考えられる)
■1.センサーデータのある現場
各種センサーデータを、どこかのサーバーに送り、集中管理する必要がある。
サーバーに送るには、データにIDを振ったりなど、処理加工が必要。これは現場で行う(マイコンで)
どこかのサーバーは遠くにあるので、遠距離用の通信モジュール
(有線ならトランシーバー、無線の場合もトランシーバーともいうけど、RFモジュールともいう)が必要
これらより、以下のような構成になる
・各種センサーがある
・センサー情報は、マイコンに伝えられる。マイコンへのインターフェースは以下のものが主流
電気信号そのものをGPIOで
UART,I2C,SPIによる、近距離通信
・マイコンでは、センサーデータを読み込み、通信データに加工する
PIC、MSP430など、Arduinoとかを使う場合は、電源の確保に注意
・加工したデータは、サーバーに送るため、以下のものが使われる
有線の場合、トランシーバー(RS485トランシーバーなど)
無線の場合、RFモジュール(ZigBee,BLE,Wifiモジュール)
または超遠距離の場合、3G、LTEモジュール
これらモジュールとマイコンの通信はUART,I2C,SPIなどで行われる
→つまり、すべてUARTで行うなら、UARTはセンサー側とトランシーバー側の2つ必要
センサーがI2C入力だと、I2CとUARTの両方が必要
■2.センサーデータを集積するサーバー
サーバーではまず、現場から送られてきたデータを受けるが、
そのデータはインターネットでないことも多い。その場合は、RESTに変換して送信する。これを行うのがGW
RESTになってしまえば、あとのサーバーの処理は普通のWebサーバーと同じ。
これらより、以下のような構成になる
・現場からデータを受け、REST APIに変換するGWがある
→現場からREST APIで送られる場合(Wifiのときにありえる)はこの部分不要
・REST APIを受けて、データを保存するサーバー
→REST APIで受けるので、ふつうの(Springとかの)フレームワークでOK
■3.データを表示するところ
Webページに表示するなら、現在も行われているが、
アプリの場合、WebAPIを呼び出してもらって対処することになる
3Dの場合も、Unity使うけど、WebAPIを呼び出してもらって対処することになる
QVGAなどに出すので、SPIなどというときは、REST APIを呼び出し、画面を作り、
その画面イメージをSPIなどで転送することになる。なので、その転送部分(変換部分)
のプログラミングが必要になる
これらより、以下のような構成になる
・REST APIを呼び出して、画面表示する
・または、REST APIを呼び出し、画面を作成して、その画面データを通信プロトコル用に変換する
今回はここまで