はじめに
Linkingとは、NTTドコモ等の複数の国内企業が連携して発表した、スマートフォン内のアプリケーションとスマートフォン外部の周辺デバイスとを連携させるためのプラットフォームです。
Linkingに対応したアプリケーションとデバイスであれば自由に組み合わせて利用することができるため、さまざまなサービスとデバイスの連携が容易になり、ウェアラブルやIoTをより手軽に体験することができます。
具体的には周辺デバイスとアプリケーション間のBluetooth Low Energy(以降、BLE)による通信を「Linking」が仲介します。それによって、アプリケーションは周辺デバイス毎にプロファイルを意識することなく、Linkingを介して周辺デバイスから必要なデータの取得や送信を行うことが可能になり、容易に周辺デバイスとのBLE通信を実現することができます。
本記事では、「Linking」の概要と使用方法について、サンプルコードを交えながら紹介していきます。
備考
LinkingはiOSとAndroid両方に対応していますが、本記事ではAndroidに絞って解説を行います。
対象読者
- BLEデバイスとスマートフォンを連携したサービスを考えている方
- Androidアプリ開発者の方
必要な環境
- Androidアプリの開発環境
- Linking対応デバイス
本記事ではAndroid Studioにて説明を行います。Android SDKおよびAndroid Studioは、Android Developersサイトを参考にして環境を整えておいてください。
Linking対応デバイス
現在Linkingに対応しているデバイスは以下のものがあります。
Tomoru
Tomoruは、光ることと、スマートフォンからの距離が分かることの2つの機能を持つシンプルなデバイスです。クラウドファンディングサイトMakuakeにて支援を募っていた際には、一個1500円という安価な価格で手に入れることができました(Makuakeでの支援は終了しています)。
- 紹介サイト:『Tomoru』大切なお知らせを通知してくれる、IoTデバイス(Makuake)
大きさも縦横38mm程度で、少し大きめのキーホルダー程度です。とても軽量で、ボタン電池1個分程度の重さしかありません。
機能はシンプルですが、アプリ開発者の発想次第でさまざまなサービスを作り出すことができます。
例えば、Tomoruはスマートフォンからの距離が変更されたときに通知を送ることができるので、鍵などの大事なモノにつけておくことで忘れ物があったことを知らせてくれます。
また、お子様の持ち物に取り着けておくことで、お子様がご自身から離れてしまった場合にも知らせてくれます。
さらに、傘に取りつけておけば、天気予報APIを利用して雨の日だけTomoruが光り、傘を持っていくことを知らせてくれるようにすることも可能です。
これまで紹介したアプリは以下からダウンロード可能です。
自由にカスタマイズを行えるのはアプリケーション側だけではありません。Linkingでは、デバイス開発者向けにAPI仕様書を公開しています。
デバイス側の仕様書は、下記のLinkingの開発者向けサイトからダウンロードが可能です。
デバイスをLinkingに対応させることで、デバイスに搭載されている各種センサーなどの情報を取得することができます。
例えば図5のLinking対応の開発用ボードは、バイブレータ、ボタン操作、LED、方位センサー、ジャイロセンサー、加速度センサーなどの機能が搭載されています(Makuakeでの支援は終了しています)。
Linkingを利用する開発者とユーザーは、従来のデバイスのプラットフォームに比べ、より多くのアプリケーションとデバイスを組み合わせてさまざまなサービスを利用することができます。開発者とユーザーの自由な発想により、もっと身近で、多彩なIoTを体験することができるのはLinkingならではの特徴です。