Submit Search
Upload
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
•
Download as PPTX, PDF
•
2 likes
•
2,176 views
Masami Yabushita
Follow
中国Firefox OS勉強会で使った資料
Read less
Read more
Technology
Report
Share
Report
Share
1 of 47
Download now
Recommended
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
Masami Yabushita
FxOSコードリーディングミートアップ#16 Vibration APIも読んでみた
FxOSコードリーディングミートアップ#16 Vibration APIも読んでみた
Masami Yabushita
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
Uchio Kondo
RUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践Smalltalk
Sho Yoshida
Consul は 全自動オーケストレーションの 夢を見るか?
Consul は 全自動オーケストレーションの 夢を見るか?
Uchio Kondo
Ruby way-openstack.keynote
Ruby way-openstack.keynote
Uchio Kondo
WatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったこと
Shuichi Tsutsumi
Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04
敦志 金谷
Recommended
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
Masami Yabushita
FxOSコードリーディングミートアップ#16 Vibration APIも読んでみた
FxOSコードリーディングミートアップ#16 Vibration APIも読んでみた
Masami Yabushita
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
Uchio Kondo
RUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践Smalltalk
Sho Yoshida
Consul は 全自動オーケストレーションの 夢を見るか?
Consul は 全自動オーケストレーションの 夢を見るか?
Uchio Kondo
Ruby way-openstack.keynote
Ruby way-openstack.keynote
Uchio Kondo
WatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったこと
Shuichi Tsutsumi
Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04
敦志 金谷
Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9
Shuichi Tsutsumi
minneで学ぶクラウド脳
minneで学ぶクラウド脳
Uchio Kondo
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた
Yoshiki Shibukawa
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Masahito Zembutsu
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
Daisuke Miyakawa
ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入
Hiroki Tamiya
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
Masahito Zembutsu
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
Takaya Saeki
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19
Hitoshi Kurokawa
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
Apple Watch 間通信
Apple Watch 間通信
Shuichi Tsutsumi
Serfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwww
Masahito Zembutsu
watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話
Shuichi Tsutsumi
Dive into the Cloud with our buddy, lovely PHP!
Dive into the Cloud with our buddy, lovely PHP!
Sotaro Omura
俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり)
Seiichiro Ishida
Pylons ユーザのための Pyramid 移行ガイド
Pylons ユーザのための Pyramid 移行ガイド
Nozomu Kaneko
Robotium を使った UI テスト
Robotium を使った UI テスト
健一 辰濱
ご注文は監視自動化ですか?
ご注文は監視自動化ですか?
Masahito Zembutsu
Vagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみよう
Takuma Morikawa
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介
健一 辰濱
Programming AWS with Python
Programming AWS with Python
Yasuhiro Matsuo
bootsnapはどれくらい早くなるのか
bootsnapはどれくらい早くなるのか
ota42y
More Related Content
What's hot
Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9
Shuichi Tsutsumi
minneで学ぶクラウド脳
minneで学ぶクラウド脳
Uchio Kondo
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた
Yoshiki Shibukawa
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Masahito Zembutsu
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
Daisuke Miyakawa
ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入
Hiroki Tamiya
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
Masahito Zembutsu
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
Takaya Saeki
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19
Hitoshi Kurokawa
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
Apple Watch 間通信
Apple Watch 間通信
Shuichi Tsutsumi
Serfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwww
Masahito Zembutsu
watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話
Shuichi Tsutsumi
Dive into the Cloud with our buddy, lovely PHP!
Dive into the Cloud with our buddy, lovely PHP!
Sotaro Omura
俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり)
Seiichiro Ishida
Pylons ユーザのための Pyramid 移行ガイド
Pylons ユーザのための Pyramid 移行ガイド
Nozomu Kaneko
Robotium を使った UI テスト
Robotium を使った UI テスト
健一 辰濱
ご注文は監視自動化ですか?
ご注文は監視自動化ですか?
Masahito Zembutsu
Vagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみよう
Takuma Morikawa
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介
健一 辰濱
What's hot
(20)
Core Image Tips & Tricks in iOS 9
Core Image Tips & Tricks in iOS 9
minneで学ぶクラウド脳
minneで学ぶクラウド脳
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Apple Watch 間通信
Apple Watch 間通信
Serfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwww
watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話
Dive into the Cloud with our buddy, lovely PHP!
Dive into the Cloud with our buddy, lovely PHP!
俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり)
Pylons ユーザのための Pyramid 移行ガイド
Pylons ユーザのための Pyramid 移行ガイド
Robotium を使った UI テスト
Robotium を使った UI テスト
ご注文は監視自動化ですか?
ご注文は監視自動化ですか?
Vagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみよう
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Similar to 中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
Programming AWS with Python
Programming AWS with Python
Yasuhiro Matsuo
bootsnapはどれくらい早くなるのか
bootsnapはどれくらい早くなるのか
ota42y
HTML5&API総まくり
HTML5&API総まくり
Shumpei Shiraishi
Fx OS n2_aoitan_firefox osことはじめ
Fx OS n2_aoitan_firefox osことはじめ
Masami Yabushita
HTML5最新動向
HTML5最新動向
Shumpei Shiraishi
GDG DevFest Kobe Firebaseハンズオン勉強会
GDG DevFest Kobe Firebaseハンズオン勉強会
Yosuke Onoue
20130720 firefox os勉強会
20130720 firefox os勉強会
Masaya Nakayama
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
Masanori Ishigami
Firefox Add-on SDK 入門
Firefox Add-on SDK 入門
Shoot Morii
勉強会 Cvml python基礎
勉強会 Cvml python基礎
真哉 杉野
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
Shogo Kawahara
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
Naoya Ito
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!
KLab株式会社
php-src の歩き方
php-src の歩き方
do_aki
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
Naruto TAKAHASHI
behatエクステンションの作り方
behatエクステンションの作り方
Ryo Tomidokoro
Firebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支える
健一 辰濱
Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門
leverages_event
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Yahoo!デベロッパーネットワーク
関西FirefoxOS勉強会6thGiG「アプリ間通信」
関西FirefoxOS勉強会6thGiG「アプリ間通信」
Noritada Shimizu
Similar to 中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
(20)
Programming AWS with Python
Programming AWS with Python
bootsnapはどれくらい早くなるのか
bootsnapはどれくらい早くなるのか
HTML5&API総まくり
HTML5&API総まくり
Fx OS n2_aoitan_firefox osことはじめ
Fx OS n2_aoitan_firefox osことはじめ
HTML5最新動向
HTML5最新動向
GDG DevFest Kobe Firebaseハンズオン勉強会
GDG DevFest Kobe Firebaseハンズオン勉強会
20130720 firefox os勉強会
20130720 firefox os勉強会
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
Firefox Add-on SDK 入門
Firefox Add-on SDK 入門
勉強会 Cvml python基礎
勉強会 Cvml python基礎
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!
php-src の歩き方
php-src の歩き方
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
behatエクステンションの作り方
behatエクステンションの作り方
Firebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支える
Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
関西FirefoxOS勉強会6thGiG「アプリ間通信」
関西FirefoxOS勉強会6thGiG「アプリ間通信」
More from Masami Yabushita
Idlリーディング xpidl編
Idlリーディング xpidl編
Masami Yabushita
Idlリーディング webidl編
Idlリーディング webidl編
Masami Yabushita
Firefox OSアーキテクチャクイックツアー
Firefox OSアーキテクチャクイックツアー
Masami Yabushita
FxOSコードリーディングミートアップ#16 Contacts API読んでみた
FxOSコードリーディングミートアップ#16 Contacts API読んでみた
Masami Yabushita
Meetup11 contacts api読んでみた
Meetup11 contacts api読んでみた
Masami Yabushita
20141018 osc tokyo_fall_firefox osってなぁに?
20141018 osc tokyo_fall_firefox osってなぁに?
Masami Yabushita
マンガで覚える視線誘導 おかわり
マンガで覚える視線誘導 おかわり
Masami Yabushita
できる!スマホアプリ:Webからはじまるアプリ for CMU16
できる!スマホアプリ:Webからはじまるアプリ for CMU16
Masami Yabushita
できる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリ
Masami Yabushita
ちょっとapiかいてみた
ちょっとapiかいてみた
Masami Yabushita
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
Masami Yabushita
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
Masami Yabushita
バッテリー監視の為にバックグラウンドタスクについて調べたらなくなってたから作ってみた話のはずだった
バッテリー監視の為にバックグラウンドタスクについて調べたらなくなってたから作ってみた話のはずだった
Masami Yabushita
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話
Masami Yabushita
N29 aoitan firefox osことはじめ
N29 aoitan firefox osことはじめ
Masami Yabushita
Fx osコードリーディングの紹介
Fx osコードリーディングの紹介
Masami Yabushita
ちょっとapiかいてみた
ちょっとapiかいてみた
Masami Yabushita
More from Masami Yabushita
(17)
Idlリーディング xpidl編
Idlリーディング xpidl編
Idlリーディング webidl編
Idlリーディング webidl編
Firefox OSアーキテクチャクイックツアー
Firefox OSアーキテクチャクイックツアー
FxOSコードリーディングミートアップ#16 Contacts API読んでみた
FxOSコードリーディングミートアップ#16 Contacts API読んでみた
Meetup11 contacts api読んでみた
Meetup11 contacts api読んでみた
20141018 osc tokyo_fall_firefox osってなぁに?
20141018 osc tokyo_fall_firefox osってなぁに?
マンガで覚える視線誘導 おかわり
マンガで覚える視線誘導 おかわり
できる!スマホアプリ:Webからはじまるアプリ for CMU16
できる!スマホアプリ:Webからはじまるアプリ for CMU16
できる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリ
ちょっとapiかいてみた
ちょっとapiかいてみた
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
バッテリー監視の為にバックグラウンドタスクについて調べたらなくなってたから作ってみた話のはずだった
バッテリー監視の為にバックグラウンドタスクについて調べたらなくなってたから作ってみた話のはずだった
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話
N29 aoitan firefox osことはじめ
N29 aoitan firefox osことはじめ
Fx osコードリーディングの紹介
Fx osコードリーディングの紹介
ちょっとapiかいてみた
ちょっとapiかいてみた
Recently uploaded
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Recently uploaded
(9)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
1.
組み込み屋さんから見たFirefox OS 株式会社グローバルサイバーグループ マネージャ 藪下正美
2.
はじめに • 今回は20分でざっとFirefox OSでのセンサ類の使い方を見ていきます •
時間がないので詳しい話はしません • 全部MDNとgaiaのソースコードから収集できる情報なので詳しいことは調べま しょう – https://developer.mozilla.org/ – https://github.com/mozilla-b2g/gaia/ • 今回の話のほとんどはCodezineの記事のおさらいなのであとで見てね! – http://codezine.jp/article/detail/8540 • 組み込み屋さんなのでもっと中身に興味があります! という方は大雑把な 構造のお話やってるので以前のプレゼン見てください – http://www.gcg.bz/labo_blog/?p=904 – http://www.slideshare.net/aoitan/firefox-os-50967714
3.
自己紹介 • 藪下正美 • 所属 –
株式会社グローバルサイバーグループ – Firefox OSコミュニティ – FxOSコードリーディング – くらぶWoT
4.
どんな人 • スマホとかアプリとか作ってる人 • コンピュータ科学もちょっとやってる人 •
FxOSコードリーディングいいだしっぺ • Firefo OS センサで検索すると上のほうに出るタイプの人 – https://www.google.co.jp/search?q=Firefox+OS+%E3%82%BB%E3%83%B3%E3%82%B5 &ie=utf-8&oe=utf-8&hl=ja
5.
会社紹介 • 株式会社グローバルサイバーグループ – http://gcg.bz •
どんな会社 – 組み込み系と業務系をやってる大阪の会社 – 大阪東京広島あたりでお仕事してます • Firefox OSとのかかわり – 従業員がFirefox OS端末の開発に関わったりFirefox OSの技術を追いかけてブログ書 いたり
6.
コミュニティ紹介 • Firefox OSコミュニティ –
言わずと知れたFirefox OSのユーザコミュニティ – 各地で勉強会を開催している人はたいていいる – http://fxos.org
7.
NoirさんやUemmra3さんも • FxOSコードリーディング – 月に一回ぐらいMozilla
Japanオフィスの片隅でわいわいソースコードを読んでいる人 たちの集まり – FxOSのソースコードに興味がある人をつなぎたい。交流したい – 本拠地 → https://www.facebook.com/groups/fxos.code.reading/ – 看板 → http://reading.fxos.org/ – 活動が垣間見れるところ → https://github.com/FxOS-Code-Reading-Group
8.
今日のアジェンダ • Firefox OSで触れるセンサ触れないセンサ •
グローバルオブジェクトとイベントリスナで触るセンサ – 近接センサ – 環境光センサ – デバイス方向 • 機能別のオブジェクトとイベントリスナで触るセンサ – バッテリー – 地理位置 – スクリーン方向 • 機能別のオブジェクトで触るセンサ – getUserMedia – カメラ
9.
Firefox OSで触れるセンサ触れないセンサ • Firefox
OSにはアプリの権限或いはAPIの権限がいくつかあります • センサーを触るAPIには権限によってユーザアプリで触れるものと触れないも のがあります – 今回の基準はFx0です – Fx0より後のバージョンだと触れるものもあります
10.
Firefox OSで触れるセンサ触れないセンサ • 触れるセンサ –
近接センサ – 環境光センサ – デバイス方向 – バッテリー – 地理位置 – スクリーン方向 – getUserMedia – カメラ • (Mozillaかキャリアかメーカしか)触れないセンサ – NFC v2.2からPrivileged – Bluetooth v2.5かv3.0からPrivilegedの予定 – Fx0から触れないので今回は解説しません
11.
windowオブジェクトと イベントリスナで触るセンサ • Firefox OSでセンサを触るAPIにはいくつか類型的な使い方があります •
まずは比較的簡単なwindowオブジェクトに対するイベントリスナ登録で使え るものを紹介します
12.
近接センサ • 近接センサはたいていの端末でインカメラの横あたりについてるセンサです • 物体が近くにすると反応するので電話アプリなどが顔の接近で消灯するなど 省電力用途で使うことが多いです •
Firefox OSでは二種類のイベントで近接センサの値を参照できます – 近接検知のみを行うuserproximity – ごく短距離での測距を行うdeviceproximity
13.
userproximity window.addEventListener('userproximity', (event) =>
{ if (event.near) { // 近接状態 (snip) } else { // 離脱状態 (snip) } });
14.
deviceproximity window.addEventListener('deviceproximity', (event) =>
{ var min = event.min; // 観測可能な最小距離 var max = event.max; // 観測可能な最大距離 var value = event.value; // 現在距離(センチメートル単位) (snip) });
15.
環境光センサ • 環境光センサは近接センサと同じく多くの端末ではインカメラの近くについて いるセンサです • 環境光センサは周囲の明るさをルクス単位で測定しディスプレイの輝度を調 節するなどの用途で使用されます •
Firefox OSではdevicelightというイベントで値を参照できます
16.
devicelight window.addEventListener('devicelight', handler); function handler(event)
{ var light = event.value; // 環境光センサーの値(ルクス) (snip) }
17.
デバイス方向 • Firefox OSは加速度センサも搭載してます •
デバイスの方向や姿勢も検知可能です • Firefox OSでは加速度センサに基づく三種類のイベントがあります – ここではより単純なもの二つを扱います – deviceorientation – devicemotion
18.
deviceorientation • デバイスの姿勢の変化は地軸の方向とデバイスの軸の方向が何度ずれてい るかによってあらわされます
19.
deviceorientation window.addEventListener('deviceorientation', (orient) =>
{ var absolute = orient.absolute; // 地軸との差分を取れているか疑似的な値か var alpha = orient.alpha; // z軸中心の回転量 var beta = orient.beta; // x軸中心の回転量 var gamma = orient.gamma; // y軸中心の回転量 (snip) });
20.
devicemotion • 加速度そのものを得たい場合はdevicemotionイベントで取得できます • 重力加速度を含んだ値、重力加速度を含まない値、姿勢の値を取得できま す
21.
devicemotion window.addEventListener('devicemotion', (motion) =>
{ var gravity = motion.accelerationIncludingGravity; // 重力加速度を含んだ加速 度 var acceleration = motion.acceleration; // 重力加速度を含まない加速度 var rotateRate = motion.rotateRate; // deviceorientationで取得できるものと同 じ値 (snip) });
22.
機能別のオブジェクトとイベントリスナで触る センサ • Firefox OSにはwindowオブジェクトに対するイベントリスナ登録で触れるセン サのほかに事前定義されたオブジェクトにイベントを登録して値を得るタイプ のAPIがあります •
次ページから機能別のオブジェクトを使うAPIを見ていきましょう
23.
バッテリー • battery APIは電池の残量や充電状態を監視できます •
すべての端末に存在するしほぼすべてのスマホでは電池残量をどこかしらに ピクト表示していますね • Firefox OS (というよりブラウザ) ではnavigatorオブジェクトのbatteryプロパティ にイベントリスナを登録して値を参照します • battery APIには参照できる値が四つあります – 電池残量 – 充電状態 – 満充電までの時間 – 枯渇までの時間
24.
battery var battery =
navigator.battery || navigator.mozBattery; battery.addEventListener("levelchange", updateBatteryStatus); battery.addEventListener("chargingchange", updateBatteryStatus); battery.addEventListener("chargingtimechange", updateBatteryStatus); battery.addEventListener("dischargingtimechange", updateBatteryStatus);
25.
battery function updateBatteryStatus() { var
level = battery.level; var charging = battery.charging; var chargingTime = battery.chargingTime; var dischargingTime = battery.dischargingTime; (snip) }
26.
地理位置 • GPSの値はおなじみの地理位置情報APIで取得します • Firefox
OSだけでなくブラウザでも使えるので触ってみたことがある人は多い かもしれません • 地理位置情報APIでは現在位置の取得、現在位置の監視を行えます
27.
geolocationのマニフェスト "permissions": { "geolocation": {} },
28.
geolocation • 地理位置情報APIは```navigator.geolocation```のメソッドにイベントハンドラを 渡す形で使用します – ここではよく使うgetCurrentPositionとwatchPositionのみ見ていきます
29.
geolocation var watchId; var geo
= navigator.geolocation; // まず現在地を取る geo.getCurrentPosition((pos) => { // 精度を上げるために監視を始める watchId = geo.watchPosition((position) => { (snip) }, (error) => { (snip) }, {enableHighAccuracy: true}); }, (error) => { errorPrint(error); });
30.
スクリーン方向 • Firefox OSには加速度センサに基づいたイベントは三つあります •
deviceorientationとdevicemotionはすでに説明しましたがこのほかにスクリー ンの方向を扱うイベントがあります • スクリーン方向はwindow.screenオブジェクトのorientationchangeイベントで受 け取ることができます – さらにスクリーン方向をロックするメソッドが存在します
31.
orientationchange window.screen.addEventListener('orientationchange', () =>
{ if (window.screen.orientation === 'landscape-primary') { (snip) } else if (window.screen.orientation === 'landscape-secondary') { (snip) } else if (window.screen.orientation === 'portrait-primary') { (snip) } else if (window.screen.orientation === 'portrait-secondary') { (snip) } });
32.
lockOrientation if (/* some
condition */) { window.screen.lockOrientation('landscape'); } else { window.screen.unlockOrientation(); }
33.
機能別のオブジェクトで触るセンサ • ここまでイベントリスナを登録して値をもらうだけのAPIを見てきました • センサの値をもらうだけでなくセンサへの設定やアクションを行うAPIも存在し ます •
ここからは機能別のオブジェクトでのセンサ制御の方法を見ていきます
34.
getUserMedia • getUserMediaはWebRTCの中心的な機能です • カメラAPIほど細かい制御はできないもののカメラにアクセスできます •
WebAudio APIほど細かい制御はできないもののマイクにアクセスできます
35.
getUserMediaのマニフェスト • Firefox OSの場合getUserMediaを使うにはパーミッションを指定する必要があ ります
36.
getUserMediaのマニフェスト "permissions": { "audio-capture": {}, "video-capture":
{} }
37.
メディアストリームの取得 • getUserMediaに使用したいリソースを指定することでそのストリームを取得す ることができます。
38.
メディアストリームの取得 var constraint =
{ video: true, audio: false }; navigator.getUserMedia(constraint, (mediaStream) => { var video = document.getElementById('video'); // 任意のビデオ要素 video.src = window.URL.createObjectURL(mediaStream); }, (error) => { if (error === NOT_SUPPORTED_ERROR) { // 指定のリソースをサポートしていないエラー (snip) } });
39.
カメラ • カメラAPIはgetUserMediaではできないカメラデバイスに対する細やかな制御 が可能です • 静止画動画の撮影だけでなくセンサやASICで行える画像処理
(ホワイトバラン ス調整など) を制御することができます
40.
カメラのマニフェスト • カメラAPIを使う場合パーミッションの設定が必要になります
41.
カメラのマニフェスト "permissions": { "camera": { "description":
"Required for accessing cameras on the device." } }
42.
カメラAPI • カメラAPIの使用は少し煩雑です • ざっと以下の流れで初期化します –
navigator.mozCamerasからCameraManagerを取得 – CameraManagerからmozCameraオブジェクトを取得、コンフィグ、セットアップ – mozCameraオブジェクトに対していくつかのイベントハンドラを登録 • MDNに記載されているのは古いデザインのAPIなので注意
43.
カメラAPI var manager =
navigator.mozCameras; var opstion = { mode: 'picture', // モード recorderProfile: 'jpg', // 保存形式 previewSize: { width: previewWidth, height: previewHeight }, pictureSize: { width: 1080, // フルHD height: 1920 // フルHD } };
44.
カメラAPI // カメラ使用のリクエスト var promise
= manager.getCamera('front', option); promise.then((cameraData) => { // カメラのリクエストが成功した (snip) }, (error) => { // カメラのリクエストが失敗した (snip) });
45.
オートフォーカスと撮影 var focus =
cameraData.camera.autoFocus(); focus.then((success) => { return cameraData.camera.takePicture({pictureSize: { width: 1080, height: 1920 }}); }).then((picture) => { (snip) });
46.
まとめ • センサのほとんどは値を見るだけなので大体イベントリスナで値がプッシュさ れるのを待つようになっている • 一部のアクション可能なセンサについては機能別のオブジェクトが用意され ているのでその機能のオブジェクトのメソッドを介して操作する •
困ったらMDNでリファレンスを探そう。根気よく – MDNでわからなければコミュニティに質問! – http://fxos.org
47.
おしまい • ご清聴ありがとうございました
Download now