Device connection with RESTful
Device Web API Managerはスマートフォン上で仮想サーバとして動作し、デバイスを操作するためのWeb APIを提供します。
Device Web API Manager向けに作られたプラグインをインストールする事で、Web APIから操作できるデバイスを増やすことができます。
Device Web API Managerは、オープンソースプロジェクトであるDevice Connectをベースに開発された、実験的なアプリです。
Device Web API Managerでは、仮想サーバに、下記の記述で、接続可能です。
ホスト名 | localhost |
Port番号 | 4035 |
例えば、端末内でDevice Web API Managerが利用可能かどうかを調べる場合、下記のURIで確認をおこなう事が可能です。
Request{ "product":"Device Web API Manager", "version":"x.x", "result": 0 }
Device Web APIを使用したWebアプリはAndroidおよびiOSの両方で動作させることが可能です。
Android上では、Device Web API Managerおよびプラグインを端末にインストールすることにより、Android Chrome等のブラウザアプリからDevice Web APIにアクセスできます。
iOS上では、Device Web API Managerおよびプラグインの両方をライブラリとして組み込んだブラウザアプリを端末にインストールすることで、そのブラウザアプリ上からDevice Web APIにアクセスできます。
Device Web API Managerでは、各種デバイスへのアクセスは、プラグインをインストールする事で行います。 ターゲットとなるハードウェアに対応したプラグインを組み込む事で、汎用的なRESTfulのAPIでハードウェアへのアクセスが可能になります。
アイコン | プラグイン名 | 説明 |
THETAプラグイン |
以下のデバイスと接続ができるようになり、写真撮影やプレビューの表示が行えいます。
|
|
Heart Rate (BLE)プラグイン | Health プロファイルで、BLE対応の心拍計から心拍数を取得できるようになります。 | |
hueプラグイン | Light プロファイルで、hueの色の変更やOn/Offができるようになります。 | |
HVCプラグイン | Human Detection プロファイルで、オムロン社製HVC-Cによる人間の顔・手・身体の認識を実行できるようになります。 | |
IRKitプラグイン | Remote Controller プロファイルで、IRKitから赤外線の送受信ができるようになります。 | |
Spheroプラグイン | Light プロファイルで、Spheroの色の変更やOn/Offができるようになります。また、Drive Controller profileで、Spheroの操作を行う事も可能になります。 Device Orientation プロファイルでは、Spheroに搭載している加速度センサーなどの値を取得する事が可能です。 | |
Hitoeプラグイン |
Hitoeデバイスと接続し、生体情報(心拍数、加速度、心電波形)を取得する機能を提供します。 hitoe®の詳細は下記のリンクを参照ください。http://www.hitoe-toray.com/ |
Device Web API Managerは、OMA策定のOMA Generic Open Terminal API Framework V1.1(GotAPI)をサポートしています。 GotAPIをサポートする事で、下記のようなRESTfulでの記述で、スマートフォン上で起動している仮想サーバを通して、ハードウェアへのアクセスが可能になります。
Device Web API Manager動作状態の確認を行う場合、下記のようなRESTfulの記述を用いて確認します。レスポンスのようなJSONが返却された場合は、Device Web API Managerが動作しています。
GET /gotapi/availability Host: localhost:4035 Origin: http://www.gclue.io
{ "product":"Device Web API Manager", "version":"x.x", "result": 0 }
Device Web API Managerを使用するためのユーザ認可処理を行う場合、下記のようなRESTfulの記述を用います。レスポンスで返却されたaccessTokenを用いて、各APIにアクセスすることで使用することができます。
GET /gotapi/authorization/accesstoken?clientId=d94da8f1-3826-4ed5-a729-2d9499e842c9&scope=file,notification,vibration&applicationName=Twitterイベントプラグイン Host: localhost:4035 Origin: http://www.gclue.io
{ "product":"Device Web API Manager", "version":"x.x", "result": 0, "accessToken": "0a93ac0aade4e046ed63eb24d1172f5f35c88ca60daa901547c28d5827cb418a5de1d7c5f9e62405", "scopes":[ { "scope": "file", "expirePeriod": 15552000 }, { "scope": "creditcard", "expirePeriod": 0 } ], "expire": xxxxxxxxxx }
Device Connectでは汎用性の高いAPIで抽象化する事で、Webブラウザやアプリから統一的な記述で簡単にハードウェアにアクセスすることが可能にします。
hueとSpheroなどのライト制御を行う場合、下記のような同じRESTfulの記述を用いてライト制御をする事が可能になります。
POST /gotapi/light Host: localhost:4035 Origin: http://www.gclue.io serviceId=localhost.deviceconnect.org&accessToken=xxxxx&lightId=1&color=FF0000
{ "product":"Device Web API Manager", "version":"x.x", "result": 0 }