SlideShare a Scribd company logo
関東 Firefox OS 勉強会 9th
組み込み向けの Firefox OS と Web API
2/31
自己紹介

Twitter: @masap

職業: 組み込みプログラマ(主に Wi-Fi)
3/31
目次

WoTとは

WoT における Firefox OS のポジション

Fireox OS に Web API を追加する

Web API の標準化
4/31
WoT とは
5/31
おさらい

今日のタイトルは「攻めるぞ WoT!」

まず、そもそも WoT って何?を、おさらい。
6/31
IoT (Internet of Things)

様々なモノをインターネットに接続

クラウド上のコンピュータで

情報を集計

デバイスの制御

クラウド
モノ
新宿区で
交通事故発生信号、ディジタル標識
の制御
7/31
WoT (Web of Things)

Web = HTTP ?

IoT = IP、Web = HTTP → 大差ない

アプリ
HTTP
IP
モノ
アプリ
モノ
IP
IoT WoT
8/31
WoT (Web of Things)

Web = ブラウザ?

全て JavaScript で書けるようになる

ブラウザ
HTTP
IP
モノ
WoT
アプリアプリ
IP
モノ
IoT
C
C/Java
JavaScript
9/31
プラットフォームとしてのブラウザ

Web = ブラウザの方がしっくりくる

モノへのアクセスやネットワーク接続もブラウザ経由で
行う

モノの制御もHTTPもJavaScriptでできる

IoTの場合はモノの制御はC言語等で行う必要がある

⇒ブラウザ自体がプラットフォームになる

これが WoT ではないか

10/31
WoT における Firefox OS のポジション
11/31
全てのモノにブラウザが必要?

Smart Endpoint vs Dumb Endpoint

IoTにおいて議論になる問題

クラウドにつながる「モノ」は優秀であるべきか?

Smart と Dumb の両極で考えるのではなく中間層を設
けてはどうか ⇒ フォグコンピューティング

Smart Endpoint Dumb Endpoint
単純な動作しかできない
- 取得したデータを上に伝える
- 指示された動作を行う
複雑な動作ができる
- データの集計/分析結果を上に伝える
- 自律動作ができる
12/31
フォグコンピューティングとは

クラウド層とモノ層の間にフォグ層を置く
クラウド
モノ
クラウド
モノ
フォグ
データ受信サーバ、データベース、
統計分析サーバ等
温度、加速度、放射線等各種センサー
クラウド
コンピューティング
フォグ
コンピューティング
データの集計、フォーマット変換等
13/31
フォグ層の例
クラウド
モノ
フォグ
AI により最適な都市計画を提案
フォグ
モノ
新宿区で
交通事故発生信号、ディジタル標識
の制御
近隣地区への通知
事故統計情報
14/31
フォグコンピューティング製品

Cisco

フォグコンピューティングはそもそも Cisco が提唱

Cisco IOx というフォグ開発プラットフォームがある

高価なため世界的な大企業以外は導入が困難
15/31
Firefox OS でフォグ

Firefox OS

Firefox OS でフォグという手もあるのでは?

Chrome、Safari、IE と比較してハードウェアにアクセスする
Web API が最も充実しているため
16/31
フォグのために必要なもの

Firefox OS からのハードウェア制御が必要

Firefox OS は全てが Web

Android の NDK のような仕組みは無い

ネイティブ言語は使用できない

JavaScript でハードウェアを制御しなければならない
17/31
Webからモノを制御する方法 その1

ネットワーク経由で制御

HTTP, nodejs, WebSocket, WebRTC

こちらは既にできている
センサーFirefox OS
ネットワーク
18/31
Webからモノを制御する方法 その2

ローカルで制御

ネットワークを介さず制御

この方法はまだできない ⇒ 無いなら作る
⇒Web API 新設
センサー
直接接続Firefox OS
19/31
Fireox OS に Web API を追加する
20/31
Web API とは

二種類のWeb API

Web 上のサービスとして提供

Twitter API、Youtube API、...

ブラウザ上のJavaScript API (今日扱うのはこちら)

navigator.getUserMedia, navigator.geolocation, ...
21/31
ハードウェアを制御するWeb API

何を作るのか

navigator.getusermedia のように
navigator.hardwareaccessxxx のような API を作る

どうやって新しい Web API を作るのか

Firefox を修正する
22/31
Firefox を修正する

Firefox では Gecko が Web API を実装している

なので Gecko にコードを追加することで新しい Web API を作
ることができる

gecko/dom/geolocation 等
Gecko
Web アプリ
Web API
23/31
必要な Web API は

IoTでよく使うハードウェア

入力側: センサー

出力側: モーター

どちらもインターフェイスは GPIO や I2C が多い

GPIO 及び I2C を扱う Web API を作れば良い
24/31
GPIO とは

GPIOとは

General Purpose Input/Output(汎用入出力)の略。

コンピュータと周辺機器を接続するためのピン。

ピン番号を指定して、 on/off を設定したり、 on/off を
読み取ったりできる。

LED やモーターの on/off を制御できる。
25/31
I2C とは

I2Cバスとは

シリアル通信のためのバス

GPIO では on/off しか制御できないのに対し、値を読
み書きする等、細かく制御できる

センサーやモーター等、このバスで接続するモノは多い
26/31
Web GPIO API

Web GPIO API (抜粋)

navigator.requestGPIOAccess()

GPIO アクセスオブジェクトを取得する

gpio.ports.get(GPIOピン番号)

GPIO ポートオブジェクトを取得する

port.write(value)

ポートへの書き込み

port.read()

ポートからの値の読み出し
27/31
Web I2C API

Web I2C API (検討中)

navigator.requestI2CAccess(デバイス名,アドレス)

I2c デバイスの取得

i2c_device.write/read(レジスタアドレス, 値);

レジスタへの書き込み、レジスタの読み取り

例

DRV8830 を用いたモーター制御
var i2c_device =
navigator.requestI2CAccess("/dev/i2c-1", 0x64);
i2c_device.write(0x00, 0xfd);
28/31
Web API の標準化
29/31
標準化

WoT=Gecko だけとは限らない

V8 や Trident でも WoT

標準化が必要

Web GPIO は W3C Browsers and Robotics
Community Groupにて標準化検討中
http://www.w3.org/community/browserobo/
30/31
議論の例

Promise vs 戻り値

Promise

長所: 非同期処理ができる

短所: ネストが深くなる

戻り値

長所: ネスト無く書ける

短所: 非同期処理ができない
31/31
以上

More Related Content

PPTX
はじめてのWeb of Things
PDF
Outsmarting Smartphone Apps
PDF
無料のWebフィルタリングソフトを使用してみて
PPT
愛甲健二
PPTX
はじめてのWeb of Things
PPTX
FirefoxでgetStats()
PDF
Raspberry Pi - Lecture 4 Hardware Interfacing Special Cases
PPTX
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
はじめてのWeb of Things
Outsmarting Smartphone Apps
無料のWebフィルタリングソフトを使用してみて
愛甲健二
はじめてのWeb of Things
FirefoxでgetStats()
Raspberry Pi - Lecture 4 Hardware Interfacing Special Cases
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS

Similar to Firefox OS for Embedded System (20)

PDF
Firefox OS - Blaze Your Own Path
PDF
Creating the Future with Firefox OS
PDF
次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch
PDF
Jumpwire.io @ Maker Faire Tokyo 2015
PDF
ロボット管理プラットフォーム「 RoboticBase 」の紹介
PDF
GotAPIの概要と技術解説
PDF
Firefox OS カスタム ROM の作成
PPTX
WindowsPhone arch 神戸#1
PDF
Web is the OS (Firefox OS)
PPTX
Web エンジニアのための Web エンジニアのための ロボットアームの API を考えてみる
PDF
HTML5とIE11とWindows 8.1 -最新の Web トレンドとマイクロソフトの関係
PDF
Web is the OS (KDDI mugen Labo)
PPT
Android Abc2009 Fall Shima091130 1
PDF
Ionicで作るTechfeed
PDF
Firefox OS and Open Web Board - IGGG Meetup 2015 Spring
PPT
Lesson01
 
PDF
Mobile + HTML5
PDF
スマートフォンでの WebRTC活用
PPT
携帯Webアプリケーション開発の基本とフレームワーク「mobylet」の紹介
PDF
Html5jplat 7th webはいつもあなたを見守っている
Firefox OS - Blaze Your Own Path
Creating the Future with Firefox OS
次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch
Jumpwire.io @ Maker Faire Tokyo 2015
ロボット管理プラットフォーム「 RoboticBase 」の紹介
GotAPIの概要と技術解説
Firefox OS カスタム ROM の作成
WindowsPhone arch 神戸#1
Web is the OS (Firefox OS)
Web エンジニアのための Web エンジニアのための ロボットアームの API を考えてみる
HTML5とIE11とWindows 8.1 -最新の Web トレンドとマイクロソフトの関係
Web is the OS (KDDI mugen Labo)
Android Abc2009 Fall Shima091130 1
Ionicで作るTechfeed
Firefox OS and Open Web Board - IGGG Meetup 2015 Spring
Lesson01
 
Mobile + HTML5
スマートフォンでの WebRTC活用
携帯Webアプリケーション開発の基本とフレームワーク「mobylet」の紹介
Html5jplat 7th webはいつもあなたを見守っている
Ad

More from Honma Masashi (12)

PDF
ROS.js の紹介
PDF
Fxos for Embedded Systems (English version)
PDF
HTML5 によるロボット制御
PDF
Photo hack day Japan 2014 プレゼン資料
PDF
Firefox OS 日本語 IME 開発状況
PDF
Firefox OS を使って HTML5 でハードウェアを動かしてみよう
PDF
Designers hack 011 ウォシュレットのリモコンから UI を極力無くすには
PDF
さわってみよう Firefox OS in 大阪
PDF
Firefox OS 2012 年まとめ
PDF
さわってみよう Firefox OS in 福岡
PDF
Firefox OS の Wi-Fi 機能改善
PDF
デザイナー目線で Firefox OS を変えよう
ROS.js の紹介
Fxos for Embedded Systems (English version)
HTML5 によるロボット制御
Photo hack day Japan 2014 プレゼン資料
Firefox OS 日本語 IME 開発状況
Firefox OS を使って HTML5 でハードウェアを動かしてみよう
Designers hack 011 ウォシュレットのリモコンから UI を極力無くすには
さわってみよう Firefox OS in 大阪
Firefox OS 2012 年まとめ
さわってみよう Firefox OS in 福岡
Firefox OS の Wi-Fi 機能改善
デザイナー目線で Firefox OS を変えよう
Ad

Firefox OS for Embedded System