はじめてのweb of things

73
はじめての Web of Things 2015/01/25 HTML5 Conference さっくる NTTコミュニケーションズ

Upload: saki-homma

Post on 16-Jul-2015

327 views

Category:

Software


0 download

TRANSCRIPT

Page 1: はじめてのWeb of Things

はじめてのWeb of Things

2015/01/25 HTML5 Conference

さっくる

NTTコミュニケーションズ

Page 2: はじめてのWeb of Things

さっくる @sakkuru

本名:本間 咲来/ Saki HOMMA

NTTコミュニケーションズ 技術開発部所属

HTML5を専門に調査や開発、コミュニティ活動、

標準化活動などを担当

html5jスタッフ

Codezineで「WebRTC入門」の連載中

1

自己紹介

Page 3: はじめてのWeb of Things

Web of Thingsとは何か

Internet of Things(IoT)との違いは

WoTサービスを作るには

WoTデモ

標準化

今後のWoTの展望

2

今日の内容

Page 4: はじめてのWeb of Things

Web of Things とは

3

Page 5: はじめてのWeb of Things

モノのWeb

4

Page 6: はじめてのWeb of Things

“Internet of Things”の方がよく聞きますよね

5

Page 7: はじめてのWeb of Things

6

Page 8: はじめてのWeb of Things

まずはIoTについて

7

Page 9: はじめてのWeb of Things

“モノのインターネット”

インターネットで”モノ”がつながること

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とは

Page 10: はじめてのWeb of Things

我々が日常的に使っているインフラ環境

IP = インターネット・プロトコル

IPで通信しあうネットワーク

9

インターネット

アプリケーション層

トランスポート層

ネットワーク層

リンク層

物理層

HTTP

TCP

IP

Ethernet

RJ45/CAT5

Page 11: はじめてのWeb of Things

”モノ”とは? IPアドレスを持つもの

センサー・モバイルフォン・組み込み機器等

IPアドレスを持った機器に格納されたコンテンツ

IPアドレスを持つモノから検知可能なモノ。

RFIDタグを付けた商品等。

RFID :電波(電磁波)を用いて、内蔵したメモリのデータを非接触で読み書きする情報媒体。SUICAなどの非接触ICカードも広義のRFID。

10

モノ

Page 12: はじめてのWeb of Things

11

スマートメータメーター内に通信機能を持たせた

次世代電力量計

Page 13: はじめてのWeb of Things

よくあるパターン

センサーデータをゲートウェイを経由してイン

ターネットに送信し、収集したデータを分析し、

サービス等に活かす

12

IoTの例

Page 14: はじめてのWeb of Things

IPで通信できるモノと、それと通信できる

モノのつながり

13

IoTの構成

インターネット

ゲートウェイ

各種センサーやRFIDタグ等

無線PAN

MQTT,HTTPS等

Page 15: はじめてのWeb of Things

Personal Area Network 個人の周辺のコンピュータデバイス間の通信のために使われるコンピュータネットワーク。範囲はせいぜい2~3mくらいを指す。

有線PAN USB, FireWire等

無線PAN Wifi

Bluetooth

BLE(Bluetooth Low Energy)

Zigbee(IEEE 802.15.4)

etc.

14

PAN

Page 16: はじめてのWeb of Things

RFID

IPv6

ビッグデータ

M2M

ユビキタス

スマートグリッド

15

IoTと一緒に語られる単語

Page 17: はじめてのWeb of Things

IPで通信できるモノと、それと通信できる

モノのつながり

16

Internet of Things(再掲)

インターネット

ゲートウェイ

各種センサーやRFIDタグ等

無線PAN

MQTT,HTTPS等

Page 18: はじめてのWeb of Things

改めてWeb of Things とは

17

Page 19: はじめてのWeb of Things

“モノの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とは

Page 20: はじめてのWeb of Things

Web = ブラウザで見るもの?

19

Webとは

Page 21: はじめてのWeb of Things

モバイルを中心に、非ブラウザによるWeb

利用が進展

20

Web = ブラウザで見るもの?

Page 22: はじめてのWeb of Things

Webの主な構成要素と呼ばれるもの

HTML, HTTP, URL, …

Webの必要条件は何だろうか

HTML(で書かれていること)?

API等、HTMLを使っていなくてもWebと言えそう

HTTP(で通信すること)?

WebSocketやWebRTC、HTTP以外のプロトコルも

出てきている

URL(でアクセスできること)?

WebRTCってピアにURLないよね。。

21

Webの必要条件

Page 23: はじめてのWeb of Things

何があればWebと言えるか?

22

Page 24: はじめてのWeb of Things

Webのプロトコルでアクセスできること

23

Page 25: はじめてのWeb of Things

ブラウザでAPIが提供されているプロトコ

HTTP, WebSocket, WebRTC

そもそもこんな定義に行き着いたのは、WebRTCなんて通信

手段ができてしまったからとも言える

WebRTCがなければ、「Web = URLでアクセスできる」、と

いう定義にしてもよかった

24

Webプロトコル

Page 26: はじめてのWeb of Things

ではWeb of Thingsとは

25

Page 27: はじめてのWeb of Things

Internet of Things インターネットプロトコルで通信できるモノのつながり

Web of Things Webプロトコルで通信できるモノのつながり

広大なIoTの環境の上で、サービスを提供するレイヤ

26

ここまでのまとめ

Internet of Things

Web of Things

Page 28: はじめてのWeb of Things

Web of Thingsの仕組み

27

Page 29: はじめてのWeb of Things

一般的なWeb

ハイパーリンクをたどっていくもの

検索すれば出てくるので、アドレス(URL)を

覚える必要がない

モノのWeb

現実世界のモノは、検索しても出てこない

モノのアドレスを知る手段が必要

28

一般的なWebとの違い

Page 30: はじめてのWeb of Things

モノのアドレスを知る手段

29

Page 31: はじめてのWeb of Things

SSDP, mDNS等

ローカルネットワーク内にブロードキャストで

メッセージを送り、応答を待つ

ローカルネットワーク内、身近なモノの検出に

使用できる

家電のDLNAプロトコルなどで使われている

30

手段1: 検出プロトコルを使う

Page 32: はじめてのWeb of Things

31

SSDP, mDNS

• SSDP• mDNS• etc.

Local Network

multicast UDP

SSDP server

Discovery message

SSDP server

SSDP server

Page 33: はじめてのWeb of Things

32

SSDP, mDNS

• SSDP• mDNS• etc.

Local Network

SSDP server

Response

SSDP server

SSDP server

unicast UDP

Page 34: はじめてのWeb of Things

ブローカサーバを介して、相手(モノ)の

アドレスを教えてもらう

身近なモノ、遠隔地のモノ両方の検出に使

用できる

WebRTCは主にこの手段

33

手段2: 仲介してもらう

Page 35: はじめてのWeb of Things

34

ブローカサーバによる仲介

ブローカサーバ 登録

問い合わせ

モノWebアプリ

Page 36: はじめてのWeb of Things

1. モノの検出

SSDP, mDNS等の検出プロトコル

ブローカサーバによる中継

2. モノと通信

3. モノ固有の方法(API等)でやりとり

35

WoTサービスのフロー

Page 37: はじめてのWeb of Things

デモ

36

Page 38: はじめてのWeb of Things

デモ1: カメラ連携

37

Page 39: はじめてのWeb of Things

検出:SSDP

通信: HTTP

モノとのやりとり: Camera Remote API

38

WoTデモ:Camera

SSDPサーバ

Webサーバ

SSDPクライアント

SSDPによる検出

Camera Remote API

HTTP

APIを呼ぶコード

Page 40: はじめてのWeb of Things

デモ2: 遠隔ロボット連携

39

Page 41: はじめてのWeb of Things

40

WoTデモ:遠隔ロボット

ブローカサーバ

WebRTC

ロボットの登録

ロボットの検出

Page 42: はじめてのWeb of Things

デモ3: 電飾(hue)

41

Page 43: はじめてのWeb of Things

42

WoTデモ:電飾デバイス(hue)

ブローカサーバ

ZigBee Light Link

センサーネットワーク用の無線プロトコル

ブリッジ

②ブリッジの検出

①ブリッジを登録

hue

hue

hue

Page 44: はじめてのWeb of Things

デモ4: テレビ(AirPlay)

43

Page 45: はじめてのWeb of Things

44

WoTデモ:AirPlay

検出

mDNS

AirPlay API

mDNSサーバ

Webサーバ

Page 46: はじめてのWeb of Things

機器検出のプログラムが必要

SSDP, mDNS等のプロトコルを使う

→ Webプロトコルじゃない!!!!

WoTできない!!

ブローカサーバを使う

→ サーバの用意が必要

さらに、どちらの方法を使うにせよ、機器固有のコードが必要となり、対象機器に広がりが生まれない

45

WoTアプリを作るには?

Page 47: はじめてのWeb of Things

じゃあどうすればよいか

46

Page 48: はじめてのWeb of Things

標準化

47

Page 49: はじめてのWeb of Things

Webに関する様々な仕様を検討しているコ

ンソーシアム

HTML

API

CSS

Security Model

ete.

48

W3C(World Wide Web Consortium)

Page 50: はじめてのWeb of Things

Working Group: 仕様を決める権限を持つ

Interest Group:仕様のユースケースの収集等、初期検討を行う。

Community Group: 仕様のユースケースの収集等、初期検討を行う。Interest Groupより立ち上げるハードルが低い。

Business Group: テクニカルではなく、ビジネスサイドから仕様を検討するグループ。W3Cに加盟せずとも会費を払えば参加できる

つい先日2015/1/15、「HTML5 Japanese Community Group」が設立されました。

49

W3Cのグループ

Page 51: はじめてのWeb of Things

Webとデバイス、特にテレビを連携したい、

というニーズは2010年頃からあった

Web and TV IGが2010年に設立

TVのディスカバリやDRM等に関しての議論が開

始された

WebIntents, Network Service Discovery API

など検討されていたが、プライバシー等の

問題でお蔵入り

50

Webとテレビ

Page 52: はじめてのWeb of Things

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

Page 53: はじめてのWeb of Things

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

Page 54: はじめてのWeb of Things

Webページから、セカンドスクリーンと連携し、操作を可能にするAPI

セカンドスクリーン:テレビや、プロジェクタ等のスクリーン系のデバイス

Presentation APIでは、仕様の中では有線・無

線等、ファーストスクリーンとセカンドスクリーンの接続方法はなんでもよい、としている

53

Presentation API

wired (HDMI, DVI, …)

wireless (DLNA, AirPlay, MiraCast, Chromecast, …)

Page 55: はじめてのWeb of Things

はじめにUAはデバイスの検出を行っている

54

Presentation APIの動作概要

Device Display device

DiscoveryUser Agent Web server

Page 56: はじめてのWeb of Things

55

Presentation APIの動作概要

Device Display device

Web Appspecified by URL

Web App

Communication

Page 57: はじめてのWeb of Things

56

NSD APIとの比較

抜粋: startSession(“Wot Devices”) by Tatsuya Igarashi (Sony Corporation)

Page 58: はじめてのWeb of Things

プレゼンテーション

ゲーム

ビデオ・画像共有

複数スクリーンへのメディア表示

57

Presentation APIのユースケース

Page 59: はじめてのWeb of Things

あれこれって・・・

58

Page 60: はじめてのWeb of Things

59

AirPlay?

Page 61: はじめてのWeb of Things

AirPlayなどのベンダーロックされた機能を、

標準化してしまおう、というもの

現実世界のモノとの相互接続を行うため、

IoT, WoTはプライバシーの問題の課題が大

きい

Presentaion APIはその課題に対処している

60

Presentation API

Page 62: はじめてのWeb of Things

機器の検出機能がブラウザで実装されると

いうこと

61

Presentation APIが実装されると…

Device Display device

DiscoveryUser Agent Web server

Page 63: はじめてのWeb of Things

それをPresentation機能だけにしておくのはもったいない

62

Page 64: はじめてのWeb of Things

スクリーン以外のデバイスでも使いたい!

63

Page 65: はじめてのWeb of Things

Presentation APIの仕様を大きく変えずに、

non-screenデバイスにも適応できるので

は?

もしnon-screenにも対象を拡張すると…

64

拡張提案

Page 66: はじめてのWeb of Things

各機器メーカが作る固有のAPIで作らな

きゃならない

hue APIやCamera Remote APIなど、機器

固有のAPIではなく、もっと抽象度の高い

メソッドとして使えるようになる

65

機器固有のAPI

Page 67: はじめてのWeb of Things

2014年11月のW3Cの会議にてPresentation

APIの拡張の提案

66

W3C会議での提案

Page 68: はじめてのWeb of Things

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

Page 69: はじめてのWeb of Things

68

拡張したPresentation API

さまざまなデバイスが検出&操作できるように!

Web browser

Page 70: はじめてのWeb of Things

機器検出機能がブラウザに実装され対応機器の広がりも生まれる

Page 71: はじめてのWeb of Things

みんなHappy!

70

Page 72: はじめてのWeb of Things

WoTは、Webとモノが連携すること

Webから実世界のモノを動かせる

現在のところ、WoTをやるには、

SSDP等のクライアント

ブローカサーバ

のどちらかが必要

WoTに関わるAPIはW3Cで検討中

将来的にWebとモノとの連携がWeb APIだけで

できるようになる!

71

まとめ

Page 73: はじめてのWeb of Things

ご静聴ありがとうございました

72