FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

ニフティクラウド mobile backend 勉強会 #7「IoT × ネットワーク」レポート(その1)

3月13日にニフティクラウド mobile backend 勉強会 #7「IoT × ネットワーク」が開催されました。70名超の方々がご参加いただき、NTTコミュニケーションズの小松さん、ぷらっとホームの松下さんにお話を伺いました。

今回はその勉強会レポートになります。その1として、NTTコミュニケーションズ 小松さんの発表を紹介したいと思います。

Web of Thingsの現状と最新Webプロトコルにより拡がる可能性

Web of Things(WoT)とはモノのWebのことです。ポテンシャルとしては、WoTはIoTアプリケーションの作成を簡単にする存在と言えます。

IoTを振り返ってみると、コンセプト自体は1980年代初頭からありました。その後、90年代末にRFIDが普及したことで認知されるようになってきています。そしてここ数年でまた注目を集めているのは、具体的なビジネスが動き始めているからではないかと考えています。例えばスマートメータ(メータ内に通信機能を持たせた次世代電力計)があります。

例えばIoTの概要としては次のように考えられます。

何らかのセンサーがあり、それらのデータを中継するゲートウェイが存在し、データを集めるデータベース(ビッグデータ)が存在します。蓄積されたデータはWebサーバを介してWebブラウザで表示したり、Web API化することで他のサーバと通信やマッシュアップに使われたりします。

そんな中でWoTの立ち位置がどこかと言うと、次の赤枠で囲まれた部分になります。

WoTがどう進化していくのか、HTML5と絡めて予想含めて紹介します。まずプロトコルの進化です。

89年来HTTPが使われてきました。そして2009年くらいからWebSocketが出てきています。これはWebブラウザとサーバ間で相互通信を可能にするプロトコルです。これによってモノの操作が可能になってきます。

さらに2012、3年から出てきたのがWebRTCです。特徴としては映像ストリーミングが可能であったり、P2Pが可能になるというのが大きなポイントです。

WebSocketを使った事例として、Hybrid Castがあります。Hybrid Castは地デジのデータプロトコルの最新版と言えます。その中で提供されているSecond Screenサービスは手元のスマートフォンからWebSocketを使ってハイブリッドキャスト対応テレビを操作できる仕組みです。そしてテレビで紹介している内容をスマートフォンで確認するなど、テレビとスマートフォンを連携した仕組みを実現します。そのためHybrid Cast対応テレビの中にはWebSocketサーバが立ち上がっています。

WebRTCを使った事例としてはChromeCastがあります。Googleから発売しているデバイスですが、パソコンやスマートフォンの画面をテレビに映し出すことができます。ここで使われているのがWebRTCになります。

さらにユニークなデモとしてROMOを使ったWebRTCによる操作および写真撮影アプリがありました。

先日行われたWebRTCの中でROMO TURISMOとして実際にゲームとして動かしたデモ動画がこちらです。

https://www.youtube.com/watch?v=fpM9FKL0lg8

そして幼稚園に通えない子供がiPadを通してロボットを操作し、友達を会話すると言ったような試みも実際に行われています。

WoTに関する最新標準化動向

W3CではWoTをもっと加速化させていくべく、標準化に関する検討が進んでいます。その中には前述したセカンドスクリーンに関する内容も含まれています。現在のWebではWebサーバを自動検知するような機能はなく、専用アプリケーションやプラグインを使わなければなりません。なおiOS SafariではAirPlayでの検知などに際して独自のAPIを使っています。

実際、NTTコミュニケーションズさんはW3Cにてその辺りのAPI(Presentation API)に関する拡張を提案しています。

質問では以下のような項目があがっていました。

Q. WebRTCでは遅延が気になります

  1. ネットワーク状況によってレスポンスは大きく変わってきます。LANであればもちろん高速ですが、3Gですと数百ms遅れる場合もあります。ただ、遅延についてはもう一つ要因があります。それは端末の処理速度です。例えば同じAndroidのChromeブラウザであっても、ハードウェア性能によっては動作遅延が発生することがあります。

Q. 子供の顔が表示されていたロボットは、iPadの画面は専用アプリではなく普通のWeb表示なのでしょうか?

  1. あの画面はiPadままです。WebRTCで飛ばした映像をそのまま表示しています。

導入相談会