SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 0
デバイスWebAPIによる
スマートフォン周辺デバイスの活用
2016/11/19更新版
株式会社NTTドコモ
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
2.デバイスWebAPIの色々な機能を試す
3.curlによるREST API動作確認
1
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
2.1 STEP:0 下準備
ルータ
パソコンAndroid端末
無線LAN
1.同一ネットワークのパソコンとAndroid端末を用意
デバイスコネクト
デモWebサイト
マネージャアプリ
HOSTプラグイン
次ページ以降で説明次ページ以降で説明
2
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 3
1. スマートフォンで”http://deviceconnectusers.github.io/manager/”にアクセス
2.2 STEP:1 Webサイトからのアプリインストール
機能検証用の
デモWebサイト
(STEP4以降)
2. デバイスWebAPIの利用に必要なファイルの
ダウンロード画面(Download APK)を開く
3. ManagerとHostプラグインをダウンロード、インストール
(Androidの設定⇒セキュリティから、「提供元不明のアプリ
のインストールを許可する」を有効にしておく)
Android画面
Android画面
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
2.3 STEP:2 パソコンから確認する準備
とりあえず試すために、マネージャアプリのセキュリティを無効にする
※セキュリティ設定の説明はまた別の機会に・・・
マネージャーアプリを開いてサーバ機能をオフにし、セキュリティ設定の外部IPのみを
有効にしてからサーバ機能をオンにする
IPアドレス
(ローカルNW)
Android画面
4
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
2.4 STEP:3 PCでデモ用Webサイトを開く
2. PCのWebブラウザで以下のURLを入力して開く
"http://deviceconnectusers.github.io/manager/?ip=[Android端末のIPアドレス]#demo"
※Android端末上で開く場合はSTEP:1のURLに#demoをつける
"http://deviceconnectusers.github.io/manager/#demo"
操作対象のIPアドレスとして
パラメータを付加
5
PC画面
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
2.5 STEP:4 デモ用Webサイトの動作確認:機能リストの表示
1.デモ画面でSearch Deviceを
選ぶとDevice ListにHostが
表示される。
2.Android端末の画面で
[同意する]を選ぶと
デモ画面に機能のリストが
表示される
PC画面
Android画面
PC画面
6
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
2.6 STEP:5.1 PC上の画像をAndroid端末で表示
PC画面
Android画面1.機能リストからcanvas、Canvas DrawImageを選択
2.ファイルを選択で画像を選択
3.mode:「最大化して画像描画」に変更してUploadを選択
4. 画像がAndroidの画面に表示される
①
①
②
②
③
③
④
7
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
2.7 STEP:5.2 Androidのカメラ映像をWebブラウザで表示
1.機能リストからmediastream_recording、Previewを選択
2.Webブラウザの画面にAndrpod端末のカメラ映像が表示される
PC画面
8
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
2.8 ブラウザで具体的なNWアクセス状況を確認
Chromeブラウザ上でデベロッパーツールを開く(CTRL+SHIFT+i)
9
PC画面
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
2.8 ブラウザで具体的なNWアクセス状況を確認
Networkタブのログを右クリックで利用可能
10
次章で
PC画面
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
2.デバイスWebAPIの色々な機能を試す
3.curlによるREST API動作確認
ハンズオン内容
11
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
3.1 REST APIを試す下準備
WebAPI(REST API)として利用できる=開発環境にも依存しない
⇒cURL(コンソールからHTTPリクエストが行えるツール http://curl.haxx.se/)により
動作を確かめます
※簡略化のために、セキュリティ無効設定を前提として進めます。
※現状のバージョンでは、セキュリティ動作の都合上、スライドP.37(2.5 STEP:4)の手順で、
プラグインの機能確認のダイアログで[同意する]を選んでいる必要があります
準備(Windowsの場合)
1.プログラムとファイルの検索で
”cmd”と入力してコンソールの起動
2.cURLをダウンロードしてフォルダを作成
“cd [フォルダの場所]”でcurl.exeのパスに移動
cmd[改行]
PC画面
12
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
デバイスWebAPIが使えるかどうかの確認(availability)
リクエスト
>curl -X GET http://192.168.13.6:4035/gotapi/availability
レスポンス
{"result":0,"product":"Device Connect Manager","name":"Manager-XX","uuid":“xxxx","version":"v2.1.0"}
利用できるデバイスリストの確認(servicediscovery)
リクエスト
>curl -X GET http://192.168.13.6:4035/gotapi/servicediscovery
レスポンス
{"product":"Device Connect Manager","result":0,
“services”:[{“id”:“「心拍数計のサービスID(利用環境から自動生成される文字列)」",
"config":"","type":"BLE","name":"MIO GLOBAL","online":true},
{“id”:“「Host(Android機能)のサービスID(利用環境から自動生成される文字列)」",
"scopes":["file_descriptor","phone","media_player","connect","settings","deviceorientation","canvas","authorization","proximity","system"
,"touch","file","serviceinformation","battery","mediastream_recording","keyevent","vibration","notification","servicediscovery"],
"config":"HostConfig","type":"Wifi","name":"Host","online":true}],"version":“2.0.0"}
>curl -X GET -H "Origin: http://localhost" http://192.168.13.6:4035/gotapi/servicediscovery
curlコマンド HTTP GET
Originの指定
(セキュリティ設定の
Originを有効化した場合)
AndroidのIPアドレス
4035ポートの利用はOMAで規定
3.2 REST APIで利用できる機能の確認
デバイスの名前
サービスID
※セキュリティ設定の Originを無効化している場合、curlを使わずにブラウザのアドレス欄からでも確認可能
13
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
3.3 REST APIで利用できる機能の確認
プラグインリストの確認(system)
リクエスト
>curl -X GET http://192.168.13.6:4035/gotapi/system
レスポンス
{"product":"Device Connect Manager","result":0,
supports":["files","system","authorization","servicediscovery","availability"],
"plugins":[{"packageName":"org.deviceconnect.android.deviceplugin.heartrate",
“id”:“「心拍数計のプラグインIDの文字列」",
"supports":["servicediscovery","serviceinformation","system","health"],
"name":"HeartRate(BLE) (Device Web API device plug-in)"},
{"packageName":"org.deviceconnect.android.deviceplugin.host",
“id”:“「HostのプラグインIDの文字列」",
"supports":["servicediscovery","serviceinformation","system","battery",
"notification","vibration","settings","deviceorientation","file",
"file_descriptor","proximity","connect","mediastream_recording",
"phone","media_player","proximity","canvas","keyevent","touch"
],
"name":"Host 2.0.0“
}
],
"version":"2.0.0“
}
プラグインの名前※2
プラグインID※2
※1 本体APIの“files”はシステム内部のプラグイン処理で、“authorization”はセキュリティ処理で利用のため省略
※2 ひとつのプラグインに複数のデバイスがあるため、プラグインID≠サービスID、プラグインの名前≠デバイスの名前となっている
本体のAPI※1
プラグインID※2
14
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
3.4 REST APIで利用できる機能の確認
指定したデバイスで使える機能の確認(serviceinformation)
リクエスト
>curl -X GET http://192.168.13.6:4035/gotapi/serviceinformation
?serviceId=「servicediscoveryで見つかったサービスIDの文字列」
レスポンス
{"product":"Device Connect Manager","result":0,
"supports":["file_descriptor","phone","media_player","connect","settings","deviceorientation",
"canvas","authorization","proximity","system","touch","file","serviceinformation","battery",
"mediastream_recording","keyevent","vibration","notification","servicediscovery"],
"supportApis":{"battery":{"swagger":"2.0","consumes":[],"info":{"description":"","title":"Battery Profile","version":"2.0.0"},
"paths":{
"¥/charging":{"get":{"responses":{"200":{"description":""}},"summary":"","description":"","x-type":"one-shot","parameters":[{"required":true,"in":"query","name":"serviceId","type":"string"}]}},
"¥/":{"get":{"responses":{"200":{"description":""}},"summary":"","description":"","x-type":"one-shot","parameters":[{"required":true,"in":"query","name":"serviceId","type":"string"}]}},
"¥/level":{"get":{"responses":{"200":{"description":""}},"summary":"","description":"","x-type":"one-shot","parameters":[{"required":true,"in":"query","name":"serviceId","type":"string"}]}}
}}(略)}(略)
"connect":{},"version":"2.0.0"}
利用できる
機能のリスト
プラグインの設定をする(system/device/wakeup)
リクエスト
>curl -X PUT http://192.168.13.6:4035/gotapi/system/device/wakeup
?pluginId=「systemで見つかったプラグインIDの文字列」
レスポンス
{"product":"Device Connect Manager","result":0,"version":"2.0.0"}
↑のようなプラグイン
の設定画面が開きます
15
↑ 具体的なAPI記述ルール(Swagger形式)
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
バッテリーの残量を知る
リクエスト
>curl -X GET http://192.168.13.6:4035/gotapi/battery
?serviceId=「servicediscoveryで見つかったサービスIDの文字列」
レスポンス
{“charging”:true,“product”:“Device Connect Manager","result":0,
"level":0.8700000047683716,"version":"2.0.0"}
3.5 REST APIとしての動作確認:機能の利用例
残り87%
Androidに通知を送る
リクエスト
>curl -X POST http://192.168.13.6:4035/gotapi/notification/notify
-F “serviceId=「servicediscoveryで見つかったサービスIDの文字列」"
-F "type=3" -F "body=%E3%83%86%E3%82%B9%E3%83%88"
レスポンス
{"product":"Device Connect Manager","notificationId":69699,"result":0,"version":"2.0.0"}
URLエンコードされた文字列(ここでは「テスト」を表している)
Android端末上に
通知が表示される
(通知の出方は環境依存)
サービスID
サービスID
Android画面
https://github.com/DeviceConnect/DeviceConnect-JS/wiki/2.13.Notification#notification_post
16
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved
ぜひご活用ください
・Webの標準的な技術のみで、デバイスアクセスのためのWebインターフェースを実現、
Webサイトから利用導線も用意できるのでプリインストールも不要
・仕様をOMAで標準化し、自由なライセンス(MIT)でオープンソース提供、コンテンツ開発や
デバイス対応のためのSDKも整備
・シンプルで手軽なHTTPでのアクセスから、セキュリティ対策を施したWebSocketによる
効率的なアクセスまで、目的に応じた機能アクセスが可能
http://hacklog.jp/apis/224/
17
Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 18
セキュリティに関するご案内
今回は簡単に利用するため、本来のセキュリティ機能を外しています。
今後利用しない場合は、アンインストールしてください。
・DeviceConnectManagerアプリを開く⇒「デバイスプラグイン管理」を選択⇒
「HOST(Device Connect ...)」を選択⇒削除ボタン
・DeviceConnectManagerアプリは通常のAndroidアプリと同様にアンインストール
利用する場合でも「DeviceConnectManager」の設定からManagerをOFFにし、
「外部IPを許可」を無効にしてください。

Mais conteúdo relacionado

Mais procurados

短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術Takafumi ONAKA
 
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022Yusuke Suzuki
 
ユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさYoshiki Hayama
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCdisc99_
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)Mikiya Okuno
 
セットベース開発アプローチ
セットベース開発アプローチセットベース開発アプローチ
セットベース開発アプローチTakashi Tomizawa
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
サービス開発における フロントエンド・ドメイン駆動設計の実践
サービス開発における フロントエンド・ドメイン駆動設計の実践サービス開発における フロントエンド・ドメイン駆動設計の実践
サービス開発における フロントエンド・ドメイン駆動設計の実践TakefumiYoshii
 
【AWS初心者向けWebinar】AWSから始める動画配信
【AWS初心者向けWebinar】AWSから始める動画配信【AWS初心者向けWebinar】AWSから始める動画配信
【AWS初心者向けWebinar】AWSから始める動画配信Amazon Web Services Japan
 
ユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of Chatbots
ユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of ChatbotsユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of Chatbots
ユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of ChatbotsYoshiki Hayama
 
DXとプロセスマイニング Part01
DXとプロセスマイニング Part01DXとプロセスマイニング Part01
DXとプロセスマイニング Part01bpstudy
 
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみるCloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる虎の穴 開発室
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
 
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAmazon Web Services Japan
 
AWSを利用したA社システムの提案
AWSを利用したA社システムの提案AWSを利用したA社システムの提案
AWSを利用したA社システムの提案Tomohiro Amemori
 
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込むYoshiki Hayama
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころTakuto Wada
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadogtyamane
 
「情報」を「書く」ということ(仮) #RedmineJapan
 「情報」を「書く」ということ(仮)  #RedmineJapan 「情報」を「書く」ということ(仮)  #RedmineJapan
「情報」を「書く」ということ(仮) #RedmineJapanKazuhito Miura
 
Aws amplify studioが変えるフロントエンド開発の未来とは v2
Aws amplify studioが変えるフロントエンド開発の未来とは v2Aws amplify studioが変えるフロントエンド開発の未来とは v2
Aws amplify studioが変えるフロントエンド開発の未来とは v2Koitabashi Yoshitaka
 

Mais procurados (20)

短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術
 
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
 
ユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさ
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
 
セットベース開発アプローチ
セットベース開発アプローチセットベース開発アプローチ
セットベース開発アプローチ
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
サービス開発における フロントエンド・ドメイン駆動設計の実践
サービス開発における フロントエンド・ドメイン駆動設計の実践サービス開発における フロントエンド・ドメイン駆動設計の実践
サービス開発における フロントエンド・ドメイン駆動設計の実践
 
【AWS初心者向けWebinar】AWSから始める動画配信
【AWS初心者向けWebinar】AWSから始める動画配信【AWS初心者向けWebinar】AWSから始める動画配信
【AWS初心者向けWebinar】AWSから始める動画配信
 
ユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of Chatbots
ユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of ChatbotsユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of Chatbots
ユーザーにうれしいチャットボットのUX 7原則 - 7 Principles to Design UX of Chatbots
 
DXとプロセスマイニング Part01
DXとプロセスマイニング Part01DXとプロセスマイニング Part01
DXとプロセスマイニング Part01
 
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみるCloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
 
AWSを利用したA社システムの提案
AWSを利用したA社システムの提案AWSを利用したA社システムの提案
AWSを利用したA社システムの提案
 
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころ
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadog
 
「情報」を「書く」ということ(仮) #RedmineJapan
 「情報」を「書く」ということ(仮)  #RedmineJapan 「情報」を「書く」ということ(仮)  #RedmineJapan
「情報」を「書く」ということ(仮) #RedmineJapan
 
Aws amplify studioが変えるフロントエンド開発の未来とは v2
Aws amplify studioが変えるフロントエンド開発の未来とは v2Aws amplify studioが変えるフロントエンド開発の未来とは v2
Aws amplify studioが変えるフロントエンド開発の未来とは v2
 

Destaque

Web programming introduction
Web programming introductionWeb programming introduction
Web programming introductioncolun
 
Webシステムプログラミング20150413
Webシステムプログラミング20150413Webシステムプログラミング20150413
Webシステムプログラミング20150413義広 河野
 
Webプログラミング入門
Webプログラミング入門Webプログラミング入門
Webプログラミング入門Tsuyoshi Kiryu
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみようSawada Makoto
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会Yuji Otani
 
Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語Yossy Taka
 
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方Hiroyuki Sugimoto
 
第4回 PHPのおさらい
第4回 PHPのおさらい第4回 PHPのおさらい
第4回 PHPのおさらいSawada Makoto
 
40分濃縮 PHP classの教室
40分濃縮 PHP classの教室40分濃縮 PHP classの教室
40分濃縮 PHP classの教室Yusuke Ando
 

Destaque (9)

Web programming introduction
Web programming introductionWeb programming introduction
Web programming introduction
 
Webシステムプログラミング20150413
Webシステムプログラミング20150413Webシステムプログラミング20150413
Webシステムプログラミング20150413
 
Webプログラミング入門
Webプログラミング入門Webプログラミング入門
Webプログラミング入門
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみよう
 
PHP基礎勉強会
PHP基礎勉強会PHP基礎勉強会
PHP基礎勉強会
 
Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語
 
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
 
第4回 PHPのおさらい
第4回 PHPのおさらい第4回 PHPのおさらい
第4回 PHPのおさらい
 
40分濃縮 PHP classの教室
40分濃縮 PHP classの教室40分濃縮 PHP classの教室
40分濃縮 PHP classの教室
 

Semelhante a デバイス WebAPIによるスマートフォン周辺デバイスの活用

Swiftアプリにプッシュ通知を組み込もう!
Swiftアプリにプッシュ通知を組み込もう!Swiftアプリにプッシュ通知を組み込もう!
Swiftアプリにプッシュ通知を組み込もう!natsumo
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Pathdynamis
 
デバイスコネクトWebAPIの開発状況について
デバイスコネクトWebAPIの開発状況についてデバイスコネクトWebAPIの開発状況について
デバイスコネクトWebAPIの開発状況についてDevice WebAPI Consortium
 
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016Device WebAPI Consortium
 
【18-E-2】Android6.0 対応! モバイルアプリセキュリティの最新トレンド
【18-E-2】Android6.0 対応! モバイルアプリセキュリティの最新トレンド【18-E-2】Android6.0 対応! モバイルアプリセキュリティの最新トレンド
【18-E-2】Android6.0 対応! モバイルアプリセキュリティの最新トレンドDevelopers Summit
 
はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作  Beginner for UserLAnd a...
はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作   Beginner for UserLAnd a...はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作   Beginner for UserLAnd a...
はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作  Beginner for UserLAnd a...Netwalker lab kapper
 
ニフティクラウド
 mobile backend とIoTの良い関係
ニフティクラウド
 mobile backend とIoTの良い関係ニフティクラウド
 mobile backend とIoTの良い関係
ニフティクラウド
 mobile backend とIoTの良い関係ニフクラ mobile backend
 
VDC 5th - NTTドコモ ハンズオン資料
VDC 5th - NTTドコモ ハンズオン資料VDC 5th - NTTドコモ ハンズオン資料
VDC 5th - NTTドコモ ハンズオン資料Keiichiro Fujii
 
Firefox os hackathon
Firefox os hackathonFirefox os hackathon
Firefox os hackathondynamis
 
MozOpenHardプロジェクトと そのコア技術について
MozOpenHardプロジェクトと そのコア技術についてMozOpenHardプロジェクトと そのコア技術について
MozOpenHardプロジェクトと そのコア技術について Takagi Koichi
 
iPodTouch で UNIX ぽく遊ぶ
iPodTouch で UNIX ぽく遊ぶiPodTouch で UNIX ぽく遊ぶ
iPodTouch で UNIX ぽく遊ぶKenichiro MATOHARA
 
SORACOM UG 九州 #1 | SORACOM アップデート!! ~since 2016/9/23~
SORACOM UG 九州 #1 | SORACOM  アップデート!! ~since 2016/9/23~SORACOM UG 九州 #1 | SORACOM  アップデート!! ~since 2016/9/23~
SORACOM UG 九州 #1 | SORACOM アップデート!! ~since 2016/9/23~SORACOM,INC
 
ビーコンをつかうIoTアプリケーション
ビーコンをつかうIoTアプリケーションビーコンをつかうIoTアプリケーション
ビーコンをつかうIoTアプリケーションCRI Japan, Inc.
 
kintone連携スマホアプリの開発・配布体験_生形 可奈子氏
kintone連携スマホアプリの開発・配布体験_生形 可奈子氏kintone連携スマホアプリの開発・配布体験_生形 可奈子氏
kintone連携スマホアプリの開発・配布体験_生形 可奈子氏kintone papers
 
Edisonユーザ会「ニフティクラウド mobile backendとIoTの良い関係」
Edisonユーザ会「ニフティクラウド mobile backendとIoTの良い関係」Edisonユーザ会「ニフティクラウド mobile backendとIoTの良い関係」
Edisonユーザ会「ニフティクラウド mobile backendとIoTの良い関係」ニフクラ mobile backend
 
Try Firefox OS
Try Firefox OSTry Firefox OS
Try Firefox OSdynamis
 
kintone 連携スマホアプリの開発・配布体験
kintone 連携スマホアプリの開発・配布体験kintone 連携スマホアプリの開発・配布体験
kintone 連携スマホアプリの開発・配布体験アシアル株式会社
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-Saki Homma
 
ABC 2012 Spring Robot Summit
ABC 2012 Spring Robot Summit ABC 2012 Spring Robot Summit
ABC 2012 Spring Robot Summit 三七男 山本
 

Semelhante a デバイス WebAPIによるスマートフォン周辺デバイスの活用 (20)

Swiftアプリにプッシュ通知を組み込もう!
Swiftアプリにプッシュ通知を組み込もう!Swiftアプリにプッシュ通知を組み込もう!
Swiftアプリにプッシュ通知を組み込もう!
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
 
デバイスコネクトWebAPIの開発状況について
デバイスコネクトWebAPIの開発状況についてデバイスコネクトWebAPIの開発状況について
デバイスコネクトWebAPIの開発状況について
 
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016
 
【18-E-2】Android6.0 対応! モバイルアプリセキュリティの最新トレンド
【18-E-2】Android6.0 対応! モバイルアプリセキュリティの最新トレンド【18-E-2】Android6.0 対応! モバイルアプリセキュリティの最新トレンド
【18-E-2】Android6.0 対応! モバイルアプリセキュリティの最新トレンド
 
はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作  Beginner for UserLAnd a...
はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作   Beginner for UserLAnd a...はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作   Beginner for UserLAnd a...
はじめての980円ジャンクガラホ改造, UserLAndとTermuxでUbuntuなどLinux動作  Beginner for UserLAnd a...
 
ニフティクラウド
 mobile backend とIoTの良い関係
ニフティクラウド
 mobile backend とIoTの良い関係ニフティクラウド
 mobile backend とIoTの良い関係
ニフティクラウド
 mobile backend とIoTの良い関係
 
VDC 5th - NTTドコモ ハンズオン資料
VDC 5th - NTTドコモ ハンズオン資料VDC 5th - NTTドコモ ハンズオン資料
VDC 5th - NTTドコモ ハンズオン資料
 
Firefox os hackathon
Firefox os hackathonFirefox os hackathon
Firefox os hackathon
 
MozOpenHardプロジェクトと そのコア技術について
MozOpenHardプロジェクトと そのコア技術についてMozOpenHardプロジェクトと そのコア技術について
MozOpenHardプロジェクトと そのコア技術について
 
iPodTouch で UNIX ぽく遊ぶ
iPodTouch で UNIX ぽく遊ぶiPodTouch で UNIX ぽく遊ぶ
iPodTouch で UNIX ぽく遊ぶ
 
SORACOM UG 九州 #1 | SORACOM アップデート!! ~since 2016/9/23~
SORACOM UG 九州 #1 | SORACOM  アップデート!! ~since 2016/9/23~SORACOM UG 九州 #1 | SORACOM  アップデート!! ~since 2016/9/23~
SORACOM UG 九州 #1 | SORACOM アップデート!! ~since 2016/9/23~
 
ビーコンをつかうIoTアプリケーション
ビーコンをつかうIoTアプリケーションビーコンをつかうIoTアプリケーション
ビーコンをつかうIoTアプリケーション
 
kintone連携スマホアプリの開発・配布体験_生形 可奈子氏
kintone連携スマホアプリの開発・配布体験_生形 可奈子氏kintone連携スマホアプリの開発・配布体験_生形 可奈子氏
kintone連携スマホアプリの開発・配布体験_生形 可奈子氏
 
Edisonユーザ会「ニフティクラウド mobile backendとIoTの良い関係」
Edisonユーザ会「ニフティクラウド mobile backendとIoTの良い関係」Edisonユーザ会「ニフティクラウド mobile backendとIoTの良い関係」
Edisonユーザ会「ニフティクラウド mobile backendとIoTの良い関係」
 
Try Firefox OS
Try Firefox OSTry Firefox OS
Try Firefox OS
 
5jCup WebRTC賞
5jCup WebRTC賞5jCup WebRTC賞
5jCup WebRTC賞
 
kintone 連携スマホアプリの開発・配布体験
kintone 連携スマホアプリの開発・配布体験kintone 連携スマホアプリの開発・配布体験
kintone 連携スマホアプリの開発・配布体験
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
 
ABC 2012 Spring Robot Summit
ABC 2012 Spring Robot Summit ABC 2012 Spring Robot Summit
ABC 2012 Spring Robot Summit
 

Mais de Device WebAPI Consortium

IoTプラットフォーム「RouteZ(ルートジー)」のご紹介
IoTプラットフォーム「RouteZ(ルートジー)」のご紹介IoTプラットフォーム「RouteZ(ルートジー)」のご紹介
IoTプラットフォーム「RouteZ(ルートジー)」のご紹介Device WebAPI Consortium
 
IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方
IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方
IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方Device WebAPI Consortium
 
RT ミドルウェアの IoT プラットフォームへの適用
RT ミドルウェアの IoT プラットフォームへの適用RT ミドルウェアの IoT プラットフォームへの適用
RT ミドルウェアの IoT プラットフォームへの適用Device WebAPI Consortium
 
LPWA Sigfoxネットワークとクラウド連携
LPWA Sigfoxネットワークとクラウド連携LPWA Sigfoxネットワークとクラウド連携
LPWA Sigfoxネットワークとクラウド連携Device WebAPI Consortium
 
DeviceWebAPI and other standardization status of OMA CD WG
DeviceWebAPI and other standardization status of OMA CD WGDeviceWebAPI and other standardization status of OMA CD WG
DeviceWebAPI and other standardization status of OMA CD WGDevice WebAPI Consortium
 
APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~
APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~
APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~Device WebAPI Consortium
 
社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~
社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~
社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~Device WebAPI Consortium
 
第0回仕様策定サブWG会合報告 - 仕様作成プロセスについて
第0回仕様策定サブWG会合報告 - 仕様作成プロセスについて第0回仕様策定サブWG会合報告 - 仕様作成プロセスについて
第0回仕様策定サブWG会合報告 - 仕様作成プロセスについてDevice WebAPI Consortium
 
音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作Device WebAPI Consortium
 
デバイスWebAPI/Symphonyを軸としたIoTの展開について
デバイスWebAPI/Symphonyを軸としたIoTの展開についてデバイスWebAPI/Symphonyを軸としたIoTの展開について
デバイスWebAPI/Symphonyを軸としたIoTの展開についてDevice WebAPI Consortium
 
スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜
スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜
スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜Device WebAPI Consortium
 
デジタルカメラEXILIM を使ったプラグイン開発と商用展開について
デジタルカメラEXILIM を使ったプラグイン開発と商用展開についてデジタルカメラEXILIM を使ったプラグイン開発と商用展開について
デジタルカメラEXILIM を使ったプラグイン開発と商用展開についてDevice WebAPI Consortium
 
ドコモAIエージェントにおけるデバイスWebAPIの活用とサポートプログラムについて
ドコモAIエージェントにおけるデバイスWebAPIの活用とサポートプログラムについてドコモAIエージェントにおけるデバイスWebAPIの活用とサポートプログラムについて
ドコモAIエージェントにおけるデバイスWebAPIの活用とサポートプログラムについてDevice WebAPI Consortium
 
デバイスWebAPI実装のアップデートと利用事例について
デバイスWebAPI実装のアップデートと利用事例についてデバイスWebAPI実装のアップデートと利用事例について
デバイスWebAPI実装のアップデートと利用事例についてDevice WebAPI Consortium
 
IoTに最適なセキュアなVPN通信のご紹介
IoTに最適なセキュアなVPN通信のご紹介IoTに最適なセキュアなVPN通信のご紹介
IoTに最適なセキュアなVPN通信のご紹介Device WebAPI Consortium
 
RaspberryPi(OSH)の産業利用の現状
RaspberryPi(OSH)の産業利用の現状RaspberryPi(OSH)の産業利用の現状
RaspberryPi(OSH)の産業利用の現状Device WebAPI Consortium
 
デバイスコネクト活用事例紹介
デバイスコネクト活用事例紹介デバイスコネクト活用事例紹介
デバイスコネクト活用事例紹介Device WebAPI Consortium
 

Mais de Device WebAPI Consortium (20)

IoTプラットフォーム「RouteZ(ルートジー)」のご紹介
IoTプラットフォーム「RouteZ(ルートジー)」のご紹介IoTプラットフォーム「RouteZ(ルートジー)」のご紹介
IoTプラットフォーム「RouteZ(ルートジー)」のご紹介
 
IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方
IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方
IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方
 
NIDD (Non-IP Data Delivery) のご紹介
NIDD (Non-IP Data Delivery) のご紹介NIDD (Non-IP Data Delivery) のご紹介
NIDD (Non-IP Data Delivery) のご紹介
 
RT ミドルウェアの IoT プラットフォームへの適用
RT ミドルウェアの IoT プラットフォームへの適用RT ミドルウェアの IoT プラットフォームへの適用
RT ミドルウェアの IoT プラットフォームへの適用
 
LPWA Sigfoxネットワークとクラウド連携
LPWA Sigfoxネットワークとクラウド連携LPWA Sigfoxネットワークとクラウド連携
LPWA Sigfoxネットワークとクラウド連携
 
DeviceWebAPI and other standardization status of OMA CD WG
DeviceWebAPI and other standardization status of OMA CD WGDeviceWebAPI and other standardization status of OMA CD WG
DeviceWebAPI and other standardization status of OMA CD WG
 
APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~
APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~
APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~
 
社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~
社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~
社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~
 
第0回仕様策定サブWG会合報告 - 仕様作成プロセスについて
第0回仕様策定サブWG会合報告 - 仕様作成プロセスについて第0回仕様策定サブWG会合報告 - 仕様作成プロセスについて
第0回仕様策定サブWG会合報告 - 仕様作成プロセスについて
 
音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作
 
デバイスWebAPI/Symphonyを軸としたIoTの展開について
デバイスWebAPI/Symphonyを軸としたIoTの展開についてデバイスWebAPI/Symphonyを軸としたIoTの展開について
デバイスWebAPI/Symphonyを軸としたIoTの展開について
 
スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜
スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜
スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜
 
デジタルカメラEXILIM を使ったプラグイン開発と商用展開について
デジタルカメラEXILIM を使ったプラグイン開発と商用展開についてデジタルカメラEXILIM を使ったプラグイン開発と商用展開について
デジタルカメラEXILIM を使ったプラグイン開発と商用展開について
 
ドコモAIエージェントにおけるデバイスWebAPIの活用とサポートプログラムについて
ドコモAIエージェントにおけるデバイスWebAPIの活用とサポートプログラムについてドコモAIエージェントにおけるデバイスWebAPIの活用とサポートプログラムについて
ドコモAIエージェントにおけるデバイスWebAPIの活用とサポートプログラムについて
 
デバイスWebAPI実装のアップデートと利用事例について
デバイスWebAPI実装のアップデートと利用事例についてデバイスWebAPI実装のアップデートと利用事例について
デバイスWebAPI実装のアップデートと利用事例について
 
デバイス WebAPI設計の進め方
デバイス WebAPI設計の進め方デバイス WebAPI設計の進め方
デバイス WebAPI設計の進め方
 
IoTに最適なセキュアなVPN通信のご紹介
IoTに最適なセキュアなVPN通信のご紹介IoTに最適なセキュアなVPN通信のご紹介
IoTに最適なセキュアなVPN通信のご紹介
 
クラウド連携版デバイスWebAPI
クラウド連携版デバイスWebAPIクラウド連携版デバイスWebAPI
クラウド連携版デバイスWebAPI
 
RaspberryPi(OSH)の産業利用の現状
RaspberryPi(OSH)の産業利用の現状RaspberryPi(OSH)の産業利用の現状
RaspberryPi(OSH)の産業利用の現状
 
デバイスコネクト活用事例紹介
デバイスコネクト活用事例紹介デバイスコネクト活用事例紹介
デバイスコネクト活用事例紹介
 

デバイス WebAPIによるスマートフォン周辺デバイスの活用

  • 1. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 0 デバイスWebAPIによる スマートフォン周辺デバイスの活用 2016/11/19更新版 株式会社NTTドコモ
  • 2. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 2.デバイスWebAPIの色々な機能を試す 3.curlによるREST API動作確認 1
  • 3. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 2.1 STEP:0 下準備 ルータ パソコンAndroid端末 無線LAN 1.同一ネットワークのパソコンとAndroid端末を用意 デバイスコネクト デモWebサイト マネージャアプリ HOSTプラグイン 次ページ以降で説明次ページ以降で説明 2
  • 4. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 3 1. スマートフォンで”http://deviceconnectusers.github.io/manager/”にアクセス 2.2 STEP:1 Webサイトからのアプリインストール 機能検証用の デモWebサイト (STEP4以降) 2. デバイスWebAPIの利用に必要なファイルの ダウンロード画面(Download APK)を開く 3. ManagerとHostプラグインをダウンロード、インストール (Androidの設定⇒セキュリティから、「提供元不明のアプリ のインストールを許可する」を有効にしておく) Android画面 Android画面
  • 5. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 2.3 STEP:2 パソコンから確認する準備 とりあえず試すために、マネージャアプリのセキュリティを無効にする ※セキュリティ設定の説明はまた別の機会に・・・ マネージャーアプリを開いてサーバ機能をオフにし、セキュリティ設定の外部IPのみを 有効にしてからサーバ機能をオンにする IPアドレス (ローカルNW) Android画面 4
  • 6. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 2.4 STEP:3 PCでデモ用Webサイトを開く 2. PCのWebブラウザで以下のURLを入力して開く "http://deviceconnectusers.github.io/manager/?ip=[Android端末のIPアドレス]#demo" ※Android端末上で開く場合はSTEP:1のURLに#demoをつける "http://deviceconnectusers.github.io/manager/#demo" 操作対象のIPアドレスとして パラメータを付加 5 PC画面
  • 7. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 2.5 STEP:4 デモ用Webサイトの動作確認:機能リストの表示 1.デモ画面でSearch Deviceを 選ぶとDevice ListにHostが 表示される。 2.Android端末の画面で [同意する]を選ぶと デモ画面に機能のリストが 表示される PC画面 Android画面 PC画面 6
  • 8. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 2.6 STEP:5.1 PC上の画像をAndroid端末で表示 PC画面 Android画面1.機能リストからcanvas、Canvas DrawImageを選択 2.ファイルを選択で画像を選択 3.mode:「最大化して画像描画」に変更してUploadを選択 4. 画像がAndroidの画面に表示される ① ① ② ② ③ ③ ④ 7
  • 9. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 2.7 STEP:5.2 Androidのカメラ映像をWebブラウザで表示 1.機能リストからmediastream_recording、Previewを選択 2.Webブラウザの画面にAndrpod端末のカメラ映像が表示される PC画面 8
  • 10. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 2.8 ブラウザで具体的なNWアクセス状況を確認 Chromeブラウザ上でデベロッパーツールを開く(CTRL+SHIFT+i) 9 PC画面
  • 11. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 2.8 ブラウザで具体的なNWアクセス状況を確認 Networkタブのログを右クリックで利用可能 10 次章で PC画面
  • 12. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 2.デバイスWebAPIの色々な機能を試す 3.curlによるREST API動作確認 ハンズオン内容 11
  • 13. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 3.1 REST APIを試す下準備 WebAPI(REST API)として利用できる=開発環境にも依存しない ⇒cURL(コンソールからHTTPリクエストが行えるツール http://curl.haxx.se/)により 動作を確かめます ※簡略化のために、セキュリティ無効設定を前提として進めます。 ※現状のバージョンでは、セキュリティ動作の都合上、スライドP.37(2.5 STEP:4)の手順で、 プラグインの機能確認のダイアログで[同意する]を選んでいる必要があります 準備(Windowsの場合) 1.プログラムとファイルの検索で ”cmd”と入力してコンソールの起動 2.cURLをダウンロードしてフォルダを作成 “cd [フォルダの場所]”でcurl.exeのパスに移動 cmd[改行] PC画面 12
  • 14. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved デバイスWebAPIが使えるかどうかの確認(availability) リクエスト >curl -X GET http://192.168.13.6:4035/gotapi/availability レスポンス {"result":0,"product":"Device Connect Manager","name":"Manager-XX","uuid":“xxxx","version":"v2.1.0"} 利用できるデバイスリストの確認(servicediscovery) リクエスト >curl -X GET http://192.168.13.6:4035/gotapi/servicediscovery レスポンス {"product":"Device Connect Manager","result":0, “services”:[{“id”:“「心拍数計のサービスID(利用環境から自動生成される文字列)」", "config":"","type":"BLE","name":"MIO GLOBAL","online":true}, {“id”:“「Host(Android機能)のサービスID(利用環境から自動生成される文字列)」", "scopes":["file_descriptor","phone","media_player","connect","settings","deviceorientation","canvas","authorization","proximity","system" ,"touch","file","serviceinformation","battery","mediastream_recording","keyevent","vibration","notification","servicediscovery"], "config":"HostConfig","type":"Wifi","name":"Host","online":true}],"version":“2.0.0"} >curl -X GET -H "Origin: http://localhost" http://192.168.13.6:4035/gotapi/servicediscovery curlコマンド HTTP GET Originの指定 (セキュリティ設定の Originを有効化した場合) AndroidのIPアドレス 4035ポートの利用はOMAで規定 3.2 REST APIで利用できる機能の確認 デバイスの名前 サービスID ※セキュリティ設定の Originを無効化している場合、curlを使わずにブラウザのアドレス欄からでも確認可能 13
  • 15. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 3.3 REST APIで利用できる機能の確認 プラグインリストの確認(system) リクエスト >curl -X GET http://192.168.13.6:4035/gotapi/system レスポンス {"product":"Device Connect Manager","result":0, supports":["files","system","authorization","servicediscovery","availability"], "plugins":[{"packageName":"org.deviceconnect.android.deviceplugin.heartrate", “id”:“「心拍数計のプラグインIDの文字列」", "supports":["servicediscovery","serviceinformation","system","health"], "name":"HeartRate(BLE) (Device Web API device plug-in)"}, {"packageName":"org.deviceconnect.android.deviceplugin.host", “id”:“「HostのプラグインIDの文字列」", "supports":["servicediscovery","serviceinformation","system","battery", "notification","vibration","settings","deviceorientation","file", "file_descriptor","proximity","connect","mediastream_recording", "phone","media_player","proximity","canvas","keyevent","touch" ], "name":"Host 2.0.0“ } ], "version":"2.0.0“ } プラグインの名前※2 プラグインID※2 ※1 本体APIの“files”はシステム内部のプラグイン処理で、“authorization”はセキュリティ処理で利用のため省略 ※2 ひとつのプラグインに複数のデバイスがあるため、プラグインID≠サービスID、プラグインの名前≠デバイスの名前となっている 本体のAPI※1 プラグインID※2 14
  • 16. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 3.4 REST APIで利用できる機能の確認 指定したデバイスで使える機能の確認(serviceinformation) リクエスト >curl -X GET http://192.168.13.6:4035/gotapi/serviceinformation ?serviceId=「servicediscoveryで見つかったサービスIDの文字列」 レスポンス {"product":"Device Connect Manager","result":0, "supports":["file_descriptor","phone","media_player","connect","settings","deviceorientation", "canvas","authorization","proximity","system","touch","file","serviceinformation","battery", "mediastream_recording","keyevent","vibration","notification","servicediscovery"], "supportApis":{"battery":{"swagger":"2.0","consumes":[],"info":{"description":"","title":"Battery Profile","version":"2.0.0"}, "paths":{ "¥/charging":{"get":{"responses":{"200":{"description":""}},"summary":"","description":"","x-type":"one-shot","parameters":[{"required":true,"in":"query","name":"serviceId","type":"string"}]}}, "¥/":{"get":{"responses":{"200":{"description":""}},"summary":"","description":"","x-type":"one-shot","parameters":[{"required":true,"in":"query","name":"serviceId","type":"string"}]}}, "¥/level":{"get":{"responses":{"200":{"description":""}},"summary":"","description":"","x-type":"one-shot","parameters":[{"required":true,"in":"query","name":"serviceId","type":"string"}]}} }}(略)}(略) "connect":{},"version":"2.0.0"} 利用できる 機能のリスト プラグインの設定をする(system/device/wakeup) リクエスト >curl -X PUT http://192.168.13.6:4035/gotapi/system/device/wakeup ?pluginId=「systemで見つかったプラグインIDの文字列」 レスポンス {"product":"Device Connect Manager","result":0,"version":"2.0.0"} ↑のようなプラグイン の設定画面が開きます 15 ↑ 具体的なAPI記述ルール(Swagger形式)
  • 17. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved バッテリーの残量を知る リクエスト >curl -X GET http://192.168.13.6:4035/gotapi/battery ?serviceId=「servicediscoveryで見つかったサービスIDの文字列」 レスポンス {“charging”:true,“product”:“Device Connect Manager","result":0, "level":0.8700000047683716,"version":"2.0.0"} 3.5 REST APIとしての動作確認:機能の利用例 残り87% Androidに通知を送る リクエスト >curl -X POST http://192.168.13.6:4035/gotapi/notification/notify -F “serviceId=「servicediscoveryで見つかったサービスIDの文字列」" -F "type=3" -F "body=%E3%83%86%E3%82%B9%E3%83%88" レスポンス {"product":"Device Connect Manager","notificationId":69699,"result":0,"version":"2.0.0"} URLエンコードされた文字列(ここでは「テスト」を表している) Android端末上に 通知が表示される (通知の出方は環境依存) サービスID サービスID Android画面 https://github.com/DeviceConnect/DeviceConnect-JS/wiki/2.13.Notification#notification_post 16
  • 18. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved ぜひご活用ください ・Webの標準的な技術のみで、デバイスアクセスのためのWebインターフェースを実現、 Webサイトから利用導線も用意できるのでプリインストールも不要 ・仕様をOMAで標準化し、自由なライセンス(MIT)でオープンソース提供、コンテンツ開発や デバイス対応のためのSDKも整備 ・シンプルで手軽なHTTPでのアクセスから、セキュリティ対策を施したWebSocketによる 効率的なアクセスまで、目的に応じた機能アクセスが可能 http://hacklog.jp/apis/224/ 17
  • 19. Copyright© 2016 NTT DOCOMO, Inc. All rights reserved 18 セキュリティに関するご案内 今回は簡単に利用するため、本来のセキュリティ機能を外しています。 今後利用しない場合は、アンインストールしてください。 ・DeviceConnectManagerアプリを開く⇒「デバイスプラグイン管理」を選択⇒ 「HOST(Device Connect ...)」を選択⇒削除ボタン ・DeviceConnectManagerアプリは通常のAndroidアプリと同様にアンインストール 利用する場合でも「DeviceConnectManager」の設定からManagerをOFFにし、 「外部IPを許可」を無効にしてください。