はじめてのWeb of Things
-
Upload
saki-homma -
Category
Software
-
view
330 -
download
0
Transcript of はじめてのWeb of Things
はじめてのWeb of Things
2015/01/25 HTML5 Conference
さっくる
NTTコミュニケーションズ
さっくる @sakkuru
本名:本間 咲来/ Saki HOMMA
NTTコミュニケーションズ 技術開発部所属
HTML5を専門に調査や開発、コミュニティ活動、
標準化活動などを担当
html5jスタッフ
Codezineで「WebRTC入門」の連載中
1
自己紹介
Web of Thingsとは何か
Internet of Things(IoT)との違いは
WoTサービスを作るには
WoTデモ
標準化
今後のWoTの展望
2
今日の内容
Web of Things とは
3
モノのWeb
4
“Internet of Things”の方がよく聞きますよね
5
6
まずはIoTについて
7
“モノのインターネット”
インターネットで”モノ”がつながること
Wikipedia The Internet of Things (IoT) is the interconnection of
uniquely identifiable embedded computing devices within the existing Internet infrastructure.
IoTとは、既存のインターネット基盤内での、一意に識別
可能な組み込みコンピューティングデバイスの相互接続である。
コンセプト自体は古く、1980年代初頭からあった
1990年台末、RFIDの普及に伴って、認知されるようになった
8
Internet of Thingsとは
我々が日常的に使っているインフラ環境
IP = インターネット・プロトコル
IPで通信しあうネットワーク
9
インターネット
アプリケーション層
トランスポート層
ネットワーク層
リンク層
物理層
HTTP
TCP
IP
Ethernet
RJ45/CAT5
”モノ”とは? IPアドレスを持つもの
センサー・モバイルフォン・組み込み機器等
IPアドレスを持った機器に格納されたコンテンツ
IPアドレスを持つモノから検知可能なモノ。
RFIDタグを付けた商品等。
RFID :電波(電磁波)を用いて、内蔵したメモリのデータを非接触で読み書きする情報媒体。SUICAなどの非接触ICカードも広義のRFID。
10
モノ
11
スマートメータメーター内に通信機能を持たせた
次世代電力量計
よくあるパターン
センサーデータをゲートウェイを経由してイン
ターネットに送信し、収集したデータを分析し、
サービス等に活かす
12
IoTの例
IPで通信できるモノと、それと通信できる
モノのつながり
13
IoTの構成
インターネット
ゲートウェイ
各種センサーやRFIDタグ等
無線PAN
MQTT,HTTPS等
Personal Area Network 個人の周辺のコンピュータデバイス間の通信のために使われるコンピュータネットワーク。範囲はせいぜい2~3mくらいを指す。
有線PAN USB, FireWire等
無線PAN Wifi
Bluetooth
BLE(Bluetooth Low Energy)
Zigbee(IEEE 802.15.4)
etc.
14
PAN
RFID
IPv6
ビッグデータ
M2M
ユビキタス
スマートグリッド
15
IoTと一緒に語られる単語
IPで通信できるモノと、それと通信できる
モノのつながり
16
Internet of Things(再掲)
インターネット
ゲートウェイ
各種センサーやRFIDタグ等
無線PAN
MQTT,HTTPS等
改めてWeb of Things とは
17
“モノのWeb”
Wikipedia
Similarly to what the Web (Application Layer) is to the Internet (Network Layer), the Web of Things provides an Application Layer that that is claimed to simplify the creation of Internet of Things applications
インターネット(ネットワーク層)にとってのWeb(アプリケーション)のように、WoTはIoT
アプリケーションの作成を簡単にするアプリケーションレイヤを提供する。
18
Web of Thingsとは
Web = ブラウザで見るもの?
19
Webとは
モバイルを中心に、非ブラウザによるWeb
利用が進展
20
Web = ブラウザで見るもの?
Webの主な構成要素と呼ばれるもの
HTML, HTTP, URL, …
Webの必要条件は何だろうか
HTML(で書かれていること)?
API等、HTMLを使っていなくてもWebと言えそう
HTTP(で通信すること)?
WebSocketやWebRTC、HTTP以外のプロトコルも
出てきている
URL(でアクセスできること)?
WebRTCってピアにURLないよね。。
21
Webの必要条件
何があればWebと言えるか?
22
Webのプロトコルでアクセスできること
23
ブラウザでAPIが提供されているプロトコ
ル
HTTP, WebSocket, WebRTC
そもそもこんな定義に行き着いたのは、WebRTCなんて通信
手段ができてしまったからとも言える
WebRTCがなければ、「Web = URLでアクセスできる」、と
いう定義にしてもよかった
24
Webプロトコル
ではWeb of Thingsとは
25
Internet of Things インターネットプロトコルで通信できるモノのつながり
Web of Things Webプロトコルで通信できるモノのつながり
広大なIoTの環境の上で、サービスを提供するレイヤ
26
ここまでのまとめ
Internet of Things
Web of Things
Web of Thingsの仕組み
27
一般的なWeb
ハイパーリンクをたどっていくもの
検索すれば出てくるので、アドレス(URL)を
覚える必要がない
モノのWeb
現実世界のモノは、検索しても出てこない
モノのアドレスを知る手段が必要
28
一般的なWebとの違い
モノのアドレスを知る手段
29
SSDP, mDNS等
ローカルネットワーク内にブロードキャストで
メッセージを送り、応答を待つ
ローカルネットワーク内、身近なモノの検出に
使用できる
家電のDLNAプロトコルなどで使われている
30
手段1: 検出プロトコルを使う
31
SSDP, mDNS
• SSDP• mDNS• etc.
Local Network
multicast UDP
SSDP server
Discovery message
SSDP server
SSDP server
32
SSDP, mDNS
• SSDP• mDNS• etc.
Local Network
SSDP server
Response
SSDP server
SSDP server
unicast UDP
ブローカサーバを介して、相手(モノ)の
アドレスを教えてもらう
身近なモノ、遠隔地のモノ両方の検出に使
用できる
WebRTCは主にこの手段
33
手段2: 仲介してもらう
34
ブローカサーバによる仲介
ブローカサーバ 登録
問い合わせ
モノWebアプリ
1. モノの検出
SSDP, mDNS等の検出プロトコル
ブローカサーバによる中継
2. モノと通信
3. モノ固有の方法(API等)でやりとり
35
WoTサービスのフロー
デモ
36
デモ1: カメラ連携
37
検出:SSDP
通信: HTTP
モノとのやりとり: Camera Remote API
38
WoTデモ:Camera
SSDPサーバ
Webサーバ
SSDPクライアント
SSDPによる検出
Camera Remote API
HTTP
APIを呼ぶコード
デモ2: 遠隔ロボット連携
39
40
WoTデモ:遠隔ロボット
ブローカサーバ
WebRTC
ロボットの登録
ロボットの検出
デモ3: 電飾(hue)
41
42
WoTデモ:電飾デバイス(hue)
ブローカサーバ
ZigBee Light Link
センサーネットワーク用の無線プロトコル
ブリッジ
②ブリッジの検出
①ブリッジを登録
hue
hue
hue
デモ4: テレビ(AirPlay)
43
44
WoTデモ:AirPlay
検出
mDNS
AirPlay API
mDNSサーバ
Webサーバ
機器検出のプログラムが必要
SSDP, mDNS等のプロトコルを使う
→ Webプロトコルじゃない!!!!
WoTできない!!
ブローカサーバを使う
→ サーバの用意が必要
さらに、どちらの方法を使うにせよ、機器固有のコードが必要となり、対象機器に広がりが生まれない
45
WoTアプリを作るには?
じゃあどうすればよいか
46
標準化
47
Webに関する様々な仕様を検討しているコ
ンソーシアム
HTML
API
CSS
Security Model
ete.
48
W3C(World Wide Web Consortium)
Working Group: 仕様を決める権限を持つ
Interest Group:仕様のユースケースの収集等、初期検討を行う。
Community Group: 仕様のユースケースの収集等、初期検討を行う。Interest Groupより立ち上げるハードルが低い。
Business Group: テクニカルではなく、ビジネスサイドから仕様を検討するグループ。W3Cに加盟せずとも会費を払えば参加できる
つい先日2015/1/15、「HTML5 Japanese Community Group」が設立されました。
49
W3Cのグループ
Webとデバイス、特にテレビを連携したい、
というニーズは2010年頃からあった
Web and TV IGが2010年に設立
TVのディスカバリやDRM等に関しての議論が開
始された
WebIntents, Network Service Discovery API
など検討されていたが、プライバシー等の
問題でお蔵入り
50
Webとテレビ
Web of Things IG
2015/1/20にチャーターが制定された
Second Screen Presentation WG
Second Screen Presentation CG
今最も具体的にWebとモノが連携できるような仕様を策定しているのが
Second Screen Presentation WGで策定中の
Presentation API
51
W3CにおけるWoT
http://w3c.github.io/presentation-api/
Webページをセカンドスクリーンに映し、操作
を可能にするAPI
Second Screen Presentation CGで初期検討が行
われ、現在はSecond Screen Presentation WGで
仕様策定中
まだEditor’s Draftしかない
Editor‘s Draft: 仕様策定者の間で常に更新されている
最新の仕様。これが固まるとWorking Draftとなる。
まだどのブラウザにも未実装
52
Presentation API
Webページから、セカンドスクリーンと連携し、操作を可能にするAPI
セカンドスクリーン:テレビや、プロジェクタ等のスクリーン系のデバイス
Presentation APIでは、仕様の中では有線・無
線等、ファーストスクリーンとセカンドスクリーンの接続方法はなんでもよい、としている
53
Presentation API
wired (HDMI, DVI, …)
wireless (DLNA, AirPlay, MiraCast, Chromecast, …)
はじめにUAはデバイスの検出を行っている
54
Presentation APIの動作概要
Device Display device
DiscoveryUser Agent Web server
55
Presentation APIの動作概要
Device Display device
Web Appspecified by URL
Web App
Communication
56
NSD APIとの比較
抜粋: startSession(“Wot Devices”) by Tatsuya Igarashi (Sony Corporation)
プレゼンテーション
ゲーム
ビデオ・画像共有
複数スクリーンへのメディア表示
57
Presentation APIのユースケース
あれこれって・・・
58
59
AirPlay?
AirPlayなどのベンダーロックされた機能を、
標準化してしまおう、というもの
現実世界のモノとの相互接続を行うため、
IoT, WoTはプライバシーの問題の課題が大
きい
Presentaion APIはその課題に対処している
60
Presentation API
機器の検出機能がブラウザで実装されると
いうこと
61
Presentation APIが実装されると…
Device Display device
DiscoveryUser Agent Web server
それをPresentation機能だけにしておくのはもったいない
62
スクリーン以外のデバイスでも使いたい!
63
Presentation APIの仕様を大きく変えずに、
non-screenデバイスにも適応できるので
は?
もしnon-screenにも対象を拡張すると…
64
拡張提案
各機器メーカが作る固有のAPIで作らな
きゃならない
hue APIやCamera Remote APIなど、機器
固有のAPIではなく、もっと抽象度の高い
メソッドとして使えるようになる
65
機器固有のAPI
2014年11月のW3Cの会議にてPresentation
APIの拡張の提案
66
W3C会議での提案
67
navigator.presentation
.startSession('urn:schemas-sony-com:service:ScalarWebAPI:1')
.then(function(session) {…});
session.onmessage = function(mesg) {
showLiveView(mesg);
}
session.postMessage("getLiveView");
SSDP, Camera Remote API
Camera
urn
device-specific method
68
拡張したPresentation API
さまざまなデバイスが検出&操作できるように!
Web browser
機器検出機能がブラウザに実装され対応機器の広がりも生まれる
みんなHappy!
70
WoTは、Webとモノが連携すること
Webから実世界のモノを動かせる
現在のところ、WoTをやるには、
SSDP等のクライアント
ブローカサーバ
のどちらかが必要
WoTに関わるAPIはW3Cで検討中
将来的にWebとモノとの連携がWeb APIだけで
できるようになる!
71
まとめ
ご静聴ありがとうございました
72