IoTデバイスとスマホ連携をプログラムレスに?「Linking」5分で分かる最新キーワード解説

スマートフォンとBluetooth LE対応デバイスとの連携をシンプルにする新プラットフォームとして策定された「Linking」。GUIベースの開発環境も準備が進められており、コードを書かずにIoTデバイスとスマホを連携できる日も近そうです。

» 2016年04月20日 10時00分 公開
[キーマンズネット]

 最新キーワードを5分で理解するこのコーナー、今回のテーマは、スマートフォンとBluetooth Low Energy対応IoTデバイスとの連携をシンプルにする新プラットフォーム「Linking」。

 NTTドコモが開発、無償で公開、商用利用も含めて誰でも自由に使えるこのプラットフォームは、マルチベンダーのデバイスとサービスを思いのままに組み合わせ、日常生活に取り入れる土台になりそうです。

 現在11社が参加する「Project Linking」では、GUIを用いた連携機能開発ツールの提供も計画しており、IoT製品やサービスの開発のハードルをグッと下げ、その普及に拍車を掛けるきっかけになるかもしれません。

「Project Linking(プロジェクトリンキング)」とは

 「Linking」はスマートデバイスのアプリケーションと、Bluetooth Low Energy対応のIoTデバイスを連携させるために、NTTドコモが開発し、無償提供しているプラットフォーム。API仕様書およびSDKが公開されている。このプラットフォームを利用して、IoTを日常的なものにしようと、複数のデバイス開発会社とサービス開発会社(現在計11社)が協力してB2B/B2Cサービスを展開しようとしているのが「Project Linking」だ。

 「Linking」は図1に示すようにさまざまなベンダーの各種IoTデバイスと、やはりマルチベンダーのサービス(アプリ)との間をスマートフォン(iOS 9/Android 4.4以降)上でとり持つ役割を果たす。

図1.「Linking」のあらまし(資料提供:NTTドコモ)

「Linking」のコンセプト

 「Linking」プロジェクトのコンセプトをひと言で言えば「IoTの日常化」だ。生体情報計測機能が備わる腕時計型やリストバンド型デバイスが脚光を浴びてはいるものの、現実にIoTの利点を実感している人はまだまだ少数。NTTドコモはIoTデバイスが日常生活に浸透していない理由を次の3点と考えた。

  • IoTデバイスが高価である
  • 誰もが魅力に感じるキラーサービスが少ない
  • デバイスおよびサービスアプリ開発のハードルが高い

 この3点は互いに関連している。パーソナルな日常生活のニーズは千差万別、何か1つのサービスでIoTが劇的に普及することは考え難い。また求められるIoTデバイスの種類が多様なだけに、大量生産にも限りがありコストはそう簡単には低下しない。

 さらに求められるサービスに応じてアプリケーションとデバイスの双方を開発する必要があり、スマートフォン向けOSが提供しているプロファイルを利用するデバイス(生体情報計測機能つきの腕時計型デバイスやメガネ型デバイスなど)以外は、デバイスとアプリケーションとの連携機能を個別に作りこまなければならず、どうしても工数がかさみがちになる。

 それもあって、ほとんどの場合はサービス開発会社が主導し、デバイス開発会社はその求めに応じたデバイスを開発する一種の垂直統合型の開発になってしまいがちだ。ユーザー側としては、せっかく買ったデバイスが他のサービスでは利用できないことが多くなり、事実上デバイスとサービスを一体で買うことになるのでトータル価格が高止まりし、普及を阻害する要因になる。

 そこでデバイスとスマートフォン上のアプリを連携させる部分を切り出し、APIとすることで、デバイス開発とアプリ開発を分離・独立させようというのが「Linking」の考え方だ。

 APIに対応さえしていれば、同じ機能のデバイスはさまざまなサービスに対応することができる。1個のデバイスを買えば、それに対応する複数のサービスから最も適切なものが選べることになる。その逆もしかりで、あるサービスに対して複数ベンダーのデバイスの中から好みのものを選べるようにもなる。こうなると競争原理が働いて、IoT利用が低コストになることが期待できそうだ。また、アプリとデバイスの開発側にとっても、お互いの技術詳細を知らなくてもAPIへのデータ受け渡しさえできれば簡単に連携可能になるため開発工数の削減につながり、IoT市場の活性化が見込める。

「Linking」とBLEの関係

 「Linking」の位置付けを詳しく説明しよう。図2はLinkingアーキテクチャの階層構造を示したもので、この図の最上段にある「PeripheralDeviceLinkProfile onBLE」レイヤーが「Linking」での通信部分だ。それ以下の層は、BLE規格のアーキテクチャそのままである。

 「GeneralAttribute(GATT)」というレイヤー以下がBLEデバイス同士の通信をつかさどる部分で、一般的には、アプリケーションがGATTレイヤーと直接やりとりできるように、いわばデバイスドライバのような機能をアプリケーション自身に作りこむ必要がある(つまりGATT層の上のレイヤーはアプリケーションになる)。そのデバイスドライバ的な部分をLinkingが受け持つと考えると良いだろう。

図2 「Linking」のアーキテクチャ 図2 「Linking」のアーキテクチャ(資料提供:NTTドコモ)

IoTの「日常化」

Copyright © ITmedia, Inc. All Rights Reserved.