IoTの規格標準化動向とデバイスWebAPI
佐々木 陽

2015年6月2日
株式会社GClue
1

2

最近のIoT標準化動向(SmartHome等)

Smart Object

ZigBeeIPSO Smart Object

Web Object

OMA LWM2M

Web Server

COAPHTTP

DTLS

TLS

UDP

TCP
IPv4/IPv6

IPv6
6LowPAN
ThreadIEEE802.15.4

Bluetooth

Wi-Fi
IEEE 802.3, 802.11
3

デバイスWebAPI
HTMLアプリNativeアプリ

Nativeアプリ(iOS)(Android)
プラグインを開発することで、拡張可能RESTfulRESTfulRESTful

デバイスWeb API

Plugin-B

仮想サーバ
Framework
Library
KernelOS
詳細説明は、デバイスWebAPIコンソーシアムにてhttps://device-webapi.org/

Plugin-A

最近のIoT標準化動向(SmartHome等)

Smart Object

ZigBeeIPSO Smart Object

Web Object

OMA LWM2MWeb Server

COAP

HTTP

DTLS

TLS

UDP

TCP
IPv4/IPv6
BluetoothSIG

IPv6Thread Group

6LowPAN
ThreadBluetoothIEEE 802.3, 802.11

IEEE802.15.4
IEEE

Wi-FiIEEE

5最近のIoT標準化動向(SmartHome等)
参加社/団体http://threadgroup.org/

http://www.bluetooth.com/

中心メンバー

128

2000社以上

6Thread Group7

Bluetooth4.2
GATTプロトコル(新)L2CAPの上でIPv6化
BT4.2から、インターネット連携関連
で、IPSPとHPSのProfileが追加

IPSP
BLE
ハードウェアHeadless
ルーター

TCP/IP, UDP/IP等

Internet

HPS
ルーター

REST

Internet

IPv6アドレス

HPS
BLE
ハードウェア8Bluetooth4.2 - GATT REST API White Paper より
参考仕様: GATT REST API White Paper https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=285910

Serviceの検索

Characteristicの検索

CharacteristicのRead

CharacteristicのWrite9デバイスWebAPI
HTMLアプリNativeアプリ

Nativeアプリ(iOS)(Android)
プラグインを開発すること
で、拡張が可能RESTfulRESTfulRESTful

デバイスWeb API

Bluetooth
4.2
HPS Plugin

仮想サーバ
Framework
Library
KernelOS

HPSに対応した
ハードウェア最近のIoT標準化動向(SmartHome等)
OMA

IPSO Alliance
Smart Object

IETF

ZigBeeIETF

IPSO Smart Object

Web Object

OMA LWM2M

Web Server

COAP

HTTP

DTLS

TLS

UDP

TCP
IPv4/IPv6
IETF

IPv6
6LowPAN
ThreadIEEE802.15.4

Bluetooth

Wi-Fi
IEEE 802.3, 802.11
11

標準化団体
参加社/団体101
http://openmobilealliance.org/

44
http://www.ipso-alliance.org/

個人で参加

The Internet Engineering Task Force(数千人）
http://www.ietf.org/

12

標準化団体の標準化しているレイヤー
IPSO Alliance

IPSO Smart Object

IPSO Smart Object
OMA LWM2M

OMA

API & Service
OMA LWM2M

CoAP
DTLS

Data Model

IETF

Application Protocol
RFC7252

UDP
IPv6
IETF
6LowPAN
ThreadBluetoothRouting
RFC2460

IETF

Routing
RFC 4919, RFC 4944, RFC 6282
13

CoAP
- CoAPは、Constrained Application
Protocolの略。
Web Objet

HTTP- RFC7252で標準化- 制約のあるネットワークやデバイス向けのREST API- CoRE(Core-link-format)で、セマンテック
な定義を記述- GET, POST, DELETE, PUTをサポート

TLS

1/10から1/100に圧縮

IPSO Smart Object
TCP

CoAP
DTLS

IP

UDP
6LowPAN14

CoRE- CoREは、Core-Link formatの略- RFC6690で標準化
CoAP Client

CoAP Server

GET /.well-known/corert

リソースタイプ

2.05 “Content”</sensors/temp>;if="sensor",</sensors/light>;if="sensor"

if

インターフェース

sz

最大サイズ

ct

コンテンツフォーマット

GET /sensors/temp
2.05 “Content“
25.1℃

15

デバイスWebAPI
HTMLアプリNativeアプリ

Nativeアプリ(iOS)(Android)
プラグインを開発すること
で、拡張が可能RESTfulRESTfulRESTful

デバイスWeb API

CoAP
Plugin

仮想サーバ
Framework
Library
KernelOS

CoAPに対応した
IoT機器

最近のIoT標準化動向(SmartHome等)

Smart Object

ZigBeeIPSO Smart Object

SmartM2M
Web Object

OMA LWM2M
COAP

Web Server
oneM2M
HTTP

DTLS

TLS

UDP

TCP
IPv4/IPv6

IPv66LowPAN
ThreadIEEE802.15.4

Bluetooth

Wi-Fi
IEEE 802.3, 802.11
17

マルチレイヤーの標準化団体
参加社/団体中心メンバー211
http://www.onem2m.org/

http://openinterconnect.org/

74

165
https://allseenalliance.org/

18

マルチレイヤーの標準化団体と関連するオープンソース
OpenSource
プロジェクトGit Project
http://git.eclipse.org/c/om2m/org.eclipse.om2m.git/tree/

https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=tree;hb=HEAD

https://git.allseenalliance.org/cgit

19OSメーカー主導
中心メンバーWWDC近辺に最初の製品を発表
Apple
https://developer.apple.com/homekit/

GoogleBrillioを2015年3Q, Weaveを2015年4Qに公開
Threadは2015年5月末に1.0の仕様をリリース

https://developer.nest.com/

20

HomeKit
GATTと、HTTP+JSONの上にHomeKit Accessory Protocolを実装し、HomeKitのフレームワーク
からBLE, Wi-Fiハードウェア操作

21

HomeKit対応表明メーカー
IP camera controls

lightsGarage door
openers

Door lockThermostats

etc

22
22

Brillo

小さなAndroid

JSONライクなフォーマット
(NEST APIが参考になる)23

Brillo24

Nest Company

Nest Protect

Nest Thermostat
サーモスタット。自宅にある空調機器全体を管理し、室温を調整する。

Dropcam
インターネット連携の動画ハード

火災報知器。室内のCO・煙を検知する。

revolv
数十種類のハードに対応したIoT Hub25

NestとGoogleの買収

Googleが米国時間10月24日に買収
Googleが米国時間10月21日に買収
Googleが6月に買収(555億円)

26

Nestのアーキテクチャ
デバイスとクライアントはクラウド上でシステムの状態を共有する。Firebaseを用いる事19万アプリでで、リアルタイムのデータ同期を実現している。

使われている

Nestデバイス

共有データ{"devices":{"thermostats":{"nJJ-lSVXMWXXdB79s4v9d4-Kw-̲hkZok":

Nest API{"ambient̲temperature̲c":27.5,"ambient̲temperature̲f":82,"away̲temperature̲high̲c":24,

数十種類の他社
IoTハード"away̲temperature̲high̲f":76,"away̲temperature̲low̲c":10,"away̲temperature̲low̲f":50,"can̲cool":false,"can̲heat":false,"device̲id":"nJJ-lSVXMWXXdB79s4v9d4-Kw-̲hkZok","fan̲timer̲active":false,"has̲fan":false,"has̲leaf":true,"humidity":30,"hvac̲mode":"heat","is̲online":true,"is̲using̲emergency̲heat":false,"last̲connection":"2014-11-18T03:17:01.586Z","locale":"en-US","name":"Basement","name̲long":"Basement Thermostat","software̲version":"4.2.4","structure̲id":"nEtGrkdKpRT88TiPKU2euiYqmCdBUal4iPCT0RbYsXXNCK5-̲6ELNg","target̲temperature̲c":19.5,"target̲temperature̲f":67,"target̲temperature̲high̲c":24,"target̲temperature̲high̲f":75,"target̲temperature̲low̲c":20,"target̲temperature̲low̲f":68,"temperature̲scale":"C"}}},"structures":{"nEtGrkdKpRT88TiPKU2euiYqmCdBUal4iPCT0RbYsXXNCK5-̲6ELNg":

Nestクライアント{"away":"home","country̲code":"ES","name":"Home","structure̲id":"nEtGrkdKpRT88TiPKU2euiYqmCdBUal4iPCT0RbYsXXNCK5-̲6ELNg","thermostats":["nJJ-lSVXMWXXdB79s4v9d4-Kw-̲hkZok"],"time̲zone":"Europe/Madrid"
}
}}

27

IoT時代のフルスタックOS(Device側)

https://mbed.org/technology/os/

http://www.riot-os.org/

28

mbed OS29