Top Banner
ははははは Web of Things 2015/07/04 HTML5 Conference in 鹿鹿鹿 鹿鹿鹿鹿 @NTT 鹿鹿鹿鹿鹿鹿鹿鹿鹿鹿
78

はじめてのWeb of Things

Apr 13, 2017

Download

Technology

Saki Homma
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: はじめてのWeb of Things

はじめてのWeb of Things

2015/07/04 HTML5 Conference in 鹿児島さっくる @NTT コミュニケーションズ

Page 2: はじめてのWeb of Things

さっくる @sakkuru本名:本間 咲来 / Saki HOMMA

NTT コミュニケーションズ 技術開発部所属 Web を専門に新規サービス開発、コミュニティ活動、標準化活動などを担当 html5j スタッフ たまに gihyo や Codezine で記事を書いたり

2

自己紹介

Page 3: はじめてのWeb of Things

Web of Things とは WoT サービスの仕組み WoT デモ 今後の WoT の展望

3

今日の内容

Page 4: はじめてのWeb of Things

Web of Things とは

4

Page 5: はじめてのWeb of Things

… の前に

5

Page 6: はじめてのWeb of Things

“IoT”“Internet of Things”

の方がよく聞きますよね

6

Page 7: はじめてのWeb of Things

7

10 倍以上!

Page 8: はじめてのWeb of Things

圧倒的!

Page 9: はじめてのWeb of Things

まずはInternet of Thingsについて

9

Page 10: はじめての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 の普及に伴って、認知されるようになった

10

Internet of Thingsとは

Page 11: はじめてのWeb of Things

12

我々が日常的に使っているインフラ環境 IP = インターネット・プロトコル IP で通信しあう全世界的なネットワーク

インターネット

アプリケーション層トランスポート層

ネットワーク層リンク層

物理層

HTTP

TCP

IP

Ethernet

RJ45/CAT5

Page 12: はじめてのWeb of Things

13

IP アドレスを持つもの センサー・モバイルフォン・家電・組み込み機器等

IP アドレスを持った機器に格納されたコンテンツ IP アドレスを持つモノから検知可能なモノ → RFID タグを付けた商品等

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

モノ

Page 13: はじめてのWeb of Things

14

あらゆるモノ・データがインターネットにつながり、利用できる!という概念

Page 14: はじめてのWeb of Things

15

スマートメータメーター内に通信機能を持たせた次世代電力量計

Page 15: はじめてのWeb of Things

16

IoTの典型的なモデル

他のWebサーバーなど クラウド

無線 PAN

ゲートウェイ

Sensor,RFID 等

MQTT,CoAP 等

無線 PAN

ゲートウェイ

Sensor,RFID 等

BigData

Webサーバー

データの構造化意味付けグラフなど(HTML)

Web API(JSON, XML)

Page 16: はじめてのWeb of Things

17

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

有線 PAN USB, FireWire 等

無線 PAN Wifi Bluetooth BLE(Bluetooth Low Energy) Zigbee(IEEE 802.15.4) etc.

PAN

Page 17: はじめてのWeb of Things

18

RFID IPv6 ビッグデータ M2M ユビキタス スマートグリッド

IoTと一緒に語られる単語

Page 18: はじめてのWeb of Things

改めてWeb of Things とは

19

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アプリケーションの作成を簡単にするアプリケーションレイヤを提供する。

20

Web of Thingsとは

Page 20: はじめてのWeb of Things

ブラウザ?

21

Web

Page 21: はじめてのWeb of Things

22

モバイルを中心に、非ブラウザによる Web 利用が進展

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

Page 22: はじめてのWeb of Things

Web の主な構成要素と呼ばれるもの HTML, HTTP, URL, …

Web の必要条件は何だろうか HTML( で書かれていること )?

API 等、 HTML を使っていなくても Web と言えそう HTTP( で通信すること )?

WebSocket や WebRTC 、 HTTP 以外のプロトコルも出てきている URL( でアクセスできること )?

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

Webの必要条件

Page 23: はじめてのWeb of Things

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

24

Page 24: はじめてのWeb of Things

25

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

Page 25: はじめてのWeb of Things

26

としよう(今は)

Page 26: はじめてのWeb of Things

27

ブラウザで API が提供されているプロトコル HTTP, WebSocket, WebRTC

そもそもこんな定義に行き着いたのは、 WebRTC なんて通信手段ができてしまったからとも言える WebRTC がなければ、「Web = URL でアクセスできる」、という定義にしてもよかった

Webプロトコル

Page 27: はじめてのWeb of Things

28

では Web of Things とは

Page 28: はじめてのWeb of Things

29

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

Page 29: はじめてのWeb of Things

30

Webプロトコルの進化1989

2009

2014

HTTP データの相互利用可能 :=>モノのデータ利用が可能に

WebSocket双方向通信が可能 :=>モノの操作が可能に

WebRTC 映像ストリーミングが可能 :=>モノとリアルタイム連携が可能に

Page 30: はじめてのWeb of Things

31

Webプロトコルの進化とWoT

Web プロトコルが進化Web からモノを操作したり、映像ストリーミングなどリアルタイム連携が可能に

WoT という概念が生まれ、新たなユースケースが創造され、マーケットにイノベーションが引き起こされつつる

Page 31: はじめてのWeb of Things

32

WoTの例

Page 32: はじめてのWeb of Things

33

IoT の機器より比較的高機能・高性能が要求される システムのインタフェースと通信部分が Web 技術だけで実装可能 →開発が容易に →マッシュアップによりサービスが多様化

IoTと比較したWoT

HTTP

TCP

IP

Ethernet

RJ45/CAT5

Page 33: はじめてのWeb of Things

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

Web of Things Web プロトコルで通信できるモノのつながり Webページとモノが連携する

34

ここまでのまとめ

Internet of Things

Web of Things

Page 34: はじめてのWeb of Things

35

Web of Things の仕組み

Page 35: はじめてのWeb of Things

一般的な Web ハイパーリンクをたどっていくもの 検索すれば出てくるので、アドレス( URL )を覚える必要がない

モノの Web アドレスは固定とは限らない 検索しても出てこない →   モノのアドレスを知る手段が必要!

36

一般的なWebとの違い

Page 36: はじめてのWeb of Things

37

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

?

Page 37: はじめてのWeb of Things

SSDP, mDNS 等 ローカルネットワーク内にブロードキャストでメッセージを送り、応答を待つ ローカルネットワーク内、身近なモノの検出に使用できる 家電の DLNA プロトコルなどで使われている

38

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

Page 38: はじめてのWeb of Things

39

SSDP, mDNS

• SSDP• mDNS• etc.

Local Network

応答願うSSDP server

Discovery message

Discovery message

Discovery message

SSDP server

SSDP server

Page 39: はじめてのWeb of Things

40

SSDP, mDNS

• SSDP• mDNS• etc.

Local Network

SSDP server

Response

Response

Response

SSDP server

SSDP server

私のアドレスは192.168.0.10 です

Page 40: はじめてのWeb of Things

41

ブローカサーバを介して、相手(モノ)のアドレスを教えてもらう身近なモノ、遠隔地のモノ両方の検出に使用できる WebRTC は主にこの手段

手段 2: 仲介してもらう

Page 41: はじめてのWeb of Things

42

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

ブローカサーバ①登録私のアドレスは

192.168.0.10 です②問い合わせ

モノWeb アプリ

Page 42: はじめてのWeb of Things

1. モノの検出 SSDP, mDNS 等の検出プロトコル ブローカサーバによる中継2. モノ固有の方法( API 等)で通信

43

WoTサービスのフロー

Page 43: はじめてのWeb of Things

44

デモ

Page 44: はじめてのWeb of Things

デモ 1: カメラ連携

45

Page 45: はじめてのWeb of Things

検出 :SSDP 通信 : Camera Remote API / HTTP

46

WoTデモ: Camera

SSDP サーバWeb サーバ

SSDP クライアントSSDP

Camera Remote API

HTTP

API を呼ぶコード

①検出

②通信

Page 46: はじめてのWeb of Things

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

47

Page 47: はじめてのWeb of Things

48

WoTデモ:遠隔ロボット

ブローカサーバ

WebRTC

①登録②問い合わせ

検出 :ブローカサーバ 通信 : オリジナル / WebRTC

③直接通信

Page 48: はじめてのWeb of Things

デモ 3: 電飾 (hue)

49

Page 49: はじめてのWeb of Things

50

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

ブローカサーバZigBee Light Linkセンサーネットワーク用の無線プロトコル

Philips hue API

HTTP

ブリッジ

②ブリッジの検出

①ブリッジを登録

hue

hue

hue

検出 :SSDP/ ブローカサーバ (両方実装 ) 通信 : Philips hue API / HTTP

③通信

Page 50: はじめてのWeb of Things

機器検出の仕組みが必要 SSDP, mDNS 等のプロトコルを使う

→   Web プロトコルじゃない!     Web APIだけで実現できない!!! ブローカサーバを使う  → サーバの用意が必要

機器固有のコード、設備が必要となり、適用範囲に広がりが生まれない51

WoTアプリを作るには ?

Page 51: はじめてのWeb of Things

じゃあどうすればよいか

52

Page 52: はじめてのWeb of Things

標準化

53

Page 53: はじめてのWeb of Things

Web に関する様々な仕様を検討しているコンソーシアム HTML CSS API Security Model ete.

W3C スタッフとメンバー企業から構成される テーマ毎にグループに別れ議論を行う

54

W3C(World Wide Web Consortium)

Page 54: はじめてのWeb of Things

Working Group(WG): 仕様を固める Interest Group(IG): 仕様のユースケース

の収集等、初期検討を行う Community Group(CG): 仕様のユース

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

Business Group(BG): テクニカルではなく、ビジネスサイドから仕様を検討する

55

W3Cのグループ

Page 55: はじめてのWeb of Things

56

HTML WG SVG WG Web Application WG Web Performance WG Digital Publishing IG Semantic Web IG Web Payments IG

45 個の WG, 15 個の IG 、 200 を超える CG がある(2015 年 7月 2 日現在 )

W3Cのグループ (一例 )

Page 56: はじめてのWeb of Things

Web とデバイス、特にテレビを連携したい、というニーズは 2010 年頃からあった

Web and TV IG が 2010 年に設立 TV のディスカバリや DRM 等に関しての議論が開始

WebIntents, Network Service Discovery API などが検討されていた

→ プライバシー等の問題でお蔵入り57

Web とデバイス

Page 57: はじめてのWeb of Things

Web of Things IG 2015/1/20 チャーターが制定 2015/5/20-22 最初の F2F会議開催

Second Screen Presentation CG 2013/11: CG が誕生。 Presentation API の検討を開始

Second Screen Presentation WG 2014/11: Presentation API の仕様を固めるため、 CGから独立し WG に

58

現在のW3CにおけるWoT

Page 58: はじめてのWeb of Things

59

今最も具体的にWoTに関わるAPIを策定しているのが

Second Screen Presentation WGのPresentation API

Page 59: はじめてのWeb of Things

Webページ ( ファーストスクリーン ) からセカンドスクリーンに Webページを表示させたり、操作を可能にする API セカンドスクリーン:テレビや、プロジェクタ

等のスクリーン系のデバイス

60

Presentation API

wired (HDMI, DVI, …)

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

Page 60: はじめてのWeb of Things

http://w3c.github.io/presentation-api/ Second Screen Presentation CG で初期

検討が行われ、現在は Second Screen Presentation WG で仕様策定中

Working Draft の段階 (2015/07/04時点 ) Working Draft: 仕様策定者の間で常に更新され

ている最新の仕様。 まだどのブラウザにも未実装

61

Presentation API

Page 61: はじめてのWeb of Things

はじめに UA はデバイスの検出を行う スクリーン間の接続方法は規定されていない

有線の場合:単一の UA 上の操作 無線の場合:デバイス検出後、セカンドスクリーン上で別の

UA を操作する

62

Presentation APIの動作概要

Device Display device

Discovery

User Agent

Page 62: はじめてのWeb of Things

63

ファーストスクリーンとセカンドスクリーン上のWebページ間でメッセージをやりとりする

Presentation APIの動作概要

Device Display device

Web Appspecified by URL

Web App

Communication

Page 63: はじめてのWeb of Things

64

NSD APIとの比較

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

Page 64: はじめてのWeb of Things

プレゼンテーション ゲーム ビデオ・画像共有複数スクリーンへのメディア表示

65

Presentation APIのユースケース

Page 65: はじめてのWeb of Things

あれこれって・・・

66

Page 66: はじめてのWeb of Things

67

AirPlay?

Page 67: はじめてのWeb of Things

AirPlay などのベンダーロックされた機能を、標準化してしまおう、というもの現実世界のモノとの相互接続を行うため、 IoT, WoT はプライバシーの問題の課題が大きい →過去に検討されたデバイス操作 API は、そのためスタックしている Presentaion API はその課題に対処している

68

Presentation API

Page 68: はじめてのWeb of Things

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

69

Presentation APIが実装されると…

Device

Discovery

User Agent

Page 69: はじめてのWeb of Things

70

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

Page 70: はじめてのWeb of Things

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

71

Page 71: はじめてのWeb of Things

Presentation API の仕様を大きく変えずに、non-screen デバイスにも適応できるのでは?

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

72

拡張提案

Page 72: はじめてのWeb of Things

73

拡張した Presentation API

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

Web browser

Page 73: はじめてのWeb of Things

74

2014 年 11月の W3C の会議にてPresentation API の拡張の提案

W3C会議での提案

Page 74: はじめてのWeb of Things

75

デモで使用したシステム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 75: はじめてのWeb of Things

76

An introduction to the Presentation API by François Daoust, W3C

非スクリーンデバイスへの拡張

Second Screen Presentation WG の議長の2015 年 5月 19 日の資料

Page 76: はじめてのWeb of Things

77

Web browser

こうなるかも

Page 77: はじめてのWeb of Things

WoT は、 Web とモノが連携すること Web から実世界のモノを動かせる現在のところ、 WoT をやるには、

SSDP 等のクライアント ブローカサーバ

のどちらかが必要 WoT に関わる API は W3C で検討中

将来的に Web とモノとの連携が Web APIだけでできるようになる!78

まとめ

Page 78: はじめてのWeb of Things

79

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