SlideShare a Scribd company logo
1 of 19
Download to read 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を許可」を無効にしてください。

More Related Content

What's hot

20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep diveAmazon Web Services Japan
 
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...Amazon Web Services Japan
 
Microsoft License の基本
Microsoft License  の基本Microsoft License  の基本
Microsoft License の基本祥子 松山
 
AWS初心者向けWebinar AWSとのネットワーク接続入門
AWS初心者向けWebinar AWSとのネットワーク接続入門AWS初心者向けWebinar AWSとのネットワーク接続入門
AWS初心者向けWebinar AWSとのネットワーク接続入門Amazon Web Services Japan
 
20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM 20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM Amazon Web Services Japan
 
CloudNative Days Spring 2021 Online: Apache CamelおよびKeycloakを用いたAPI管理基盤の実現
CloudNative Days Spring 2021 Online: Apache CamelおよびKeycloakを用いたAPI管理基盤の実現CloudNative Days Spring 2021 Online: Apache CamelおよびKeycloakを用いたAPI管理基盤の実現
CloudNative Days Spring 2021 Online: Apache CamelおよびKeycloakを用いたAPI管理基盤の実現Hitachi, Ltd. OSS Solution Center.
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon CognitoAmazon Web Services Japan
 
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 ResolverAmazon Web Services Japan
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto ScalingAWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto ScalingAmazon Web Services Japan
 
Kinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみたKinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみたdcubeio
 
AWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティスAWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティスAmazon Web Services Japan
 
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)Amazon Web Services Japan
 
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-RayAmazon Web Services Japan
 
Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Yusuke Kodama
 
[CTO Night & Day 2019] Amazon Pinpoint でかゆいところに手が届くユーザー動向分析とセグメント通知 #ctonight
[CTO Night & Day 2019] Amazon Pinpoint でかゆいところに手が届くユーザー動向分析とセグメント通知 #ctonight[CTO Night & Day 2019] Amazon Pinpoint でかゆいところに手が届くユーザー動向分析とセグメント通知 #ctonight
[CTO Night & Day 2019] Amazon Pinpoint でかゆいところに手が届くユーザー動向分析とセグメント通知 #ctonightAmazon Web Services Japan
 

What's hot (20)

20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
 
Keycloak入門
Keycloak入門Keycloak入門
Keycloak入門
 
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
 
Microsoft License の基本
Microsoft License  の基本Microsoft License  の基本
Microsoft License の基本
 
AWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS AmplifyAWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS Amplify
 
AWS初心者向けWebinar AWSとのネットワーク接続入門
AWS初心者向けWebinar AWSとのネットワーク接続入門AWS初心者向けWebinar AWSとのネットワーク接続入門
AWS初心者向けWebinar AWSとのネットワーク接続入門
 
AWS Black Belt Techシリーズ Amazon VPC
AWS Black Belt Techシリーズ Amazon VPCAWS Black Belt Techシリーズ Amazon VPC
AWS Black Belt Techシリーズ Amazon VPC
 
AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策
 
20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM 20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM
 
CloudNative Days Spring 2021 Online: Apache CamelおよびKeycloakを用いたAPI管理基盤の実現
CloudNative Days Spring 2021 Online: Apache CamelおよびKeycloakを用いたAPI管理基盤の実現CloudNative Days Spring 2021 Online: Apache CamelおよびKeycloakを用いたAPI管理基盤の実現
CloudNative Days Spring 2021 Online: Apache CamelおよびKeycloakを用いたAPI管理基盤の実現
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
 
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway
 
AWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto ScalingAWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto Scaling
 
Kinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみたKinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみた
 
AWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティスAWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティス
 
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
 
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray
 
Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説
 
[CTO Night & Day 2019] Amazon Pinpoint でかゆいところに手が届くユーザー動向分析とセグメント通知 #ctonight
[CTO Night & Day 2019] Amazon Pinpoint でかゆいところに手が届くユーザー動向分析とセグメント通知 #ctonight[CTO Night & Day 2019] Amazon Pinpoint でかゆいところに手が届くユーザー動向分析とセグメント通知 #ctonight
[CTO Night & Day 2019] Amazon Pinpoint でかゆいところに手が届くユーザー動向分析とセグメント通知 #ctonight
 

Viewers also liked

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
 

Viewers also liked (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の教室
 

Similar to デバイス 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 三七男 山本
 

Similar to デバイス 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
 

More from 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
 

More from 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)の産業利用の現状
 
デバイスコネクト活用事例紹介
デバイスコネクト活用事例紹介デバイスコネクト活用事例紹介
デバイスコネクト活用事例紹介
 

Recently uploaded

IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 

Recently uploaded (12)

What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 

デバイス 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を許可」を無効にしてください。