27
1 IPSO Smart Objects for IoT January 28, 2015

OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

Embed Size (px)

Citation preview

Page 1: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

1

IPSO Smart Objectsfor IoT

January 28, 2015

Page 2: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

2

IPSO Smart Objects

Developed by the IP for Smart Objects Alliance (IPSO)

Semantic Interoperability across IoT devices and applications

Based on LWM2M object model

Reusable object IDs and resource IDs

Usable on many different transport protocols (CoAP, HTTP,

MQTT) which can support LWM2M addressing, data types,

and content formats

Basic Starter Pack for simple objects was published in 2014

Basic Objects represent simple sensors and actuators

Extensions in progress to broaden the use case applicability

Page 3: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

3

Web to the Edge - Internet Standards for IoT

Application Software

IPSO Objects

OMA LWM2M

CoAP HTTP

6LowPAN IPV4/IPV6

MCU – 16KiB RAM MPU

802.15.4 WiFi, Ethernet

Hardware

HW Network

Routing

Application Protocol

API and Services

Data Models

Application

Web Server

Page 4: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

4

IPSO Smart Objects use the LWM2M Object Model

Reusable resource and object IDs

Common definitions for concepts

across diverse applications

Map to semantic terms e.g.

temperature, currentValue

IDs are registered with the OMNA

Usable across different transport

protocols which can support:

URI Addressing

Data Types

Content Formats

Operations (Read, Write, Execute)

Some protocols may allow a subset e.g

MQTT can do Actuation and Notification

3303/0/5700

Object ID, defines object type

Object Instance, one or more

Resource ID, defines resource

type

Page 5: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

5

Example IPSO Smart Object (Temperature)

Page 6: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

6

Example IPSO Smart Object (Temperature) ..continued

Page 7: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

7

IPSO Smart Object Starter Pack

Page 8: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

8

Ad-Hoc IPSO Smart Object – BLE Heart Rate Sensor

Profile

Page 9: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

9

Ad-Hoc IPSO Smart Object – Smart Thermostat

Page 10: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

10

IPSO Smart Object Roadmap TBD

New Smart Objects to cover more use cases but need owners

More basic objects e.g. sensors, actuators, controllers

Home appliances, media control devices

Complex and composite objects using LWM2M Object Linking

Gateway integration, TR-069 interworking

Bluetooth and Zigbee Object Model Bindings

Standalone schema and templates for high level semantics

Device to Device Interaction using IPSO Smart Obejcts

Page 11: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

11

Composite IPSO Smart Objects – Conceptual View

Page 12: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

12

Composite Objects through Object Linking

Object Link is a new LWM2M data type

32 bit packed representation of Object ID and Instance

Composite objects can be made by using object links to

transclude other objects (include by reference)

Can use web-like pattern, following links

Linked objects are serialized inline when using SenML

Page 13: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

13

Example Composite Object using Links

3308/0

3306/0

Thermostat

8300 – IPSO Thermostat

3303/0 - IPSO Temperature

3308 – IPSO Setpoint

3306 – IPSO Actuation

Input link (7100)

Setpoint link (7101)

Output link (7102)

Application Type (5750)

3303/0

Page 14: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

14

IPSO Application Templates

Application Templates using JSON as a high level

constructor for object instances and high level composite

objects

Controls object linking and encapsulation structure

Settings, e.g. LWM2M Observe Attributes

Additional core-link-format metadata for discovery

Can include semantic hooks for abstract models

Hypermedia template for semantic discovery

Does this in a layered way as needed

Page 15: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

15

Example Template for Object Linking

“objects”: {

8300: {

“description”: “IPSO PID Control”,

“instances”: {

0: {

“resources”: {

7100: {

“description”: “Input Object Link”,

“value”: [3300,0]

},

7101: {

“description”: “Setpoint Object Link”,

“value”: [3308,0]

},

7102: {

“description”: “Output Object Link”,

“value”: [3306,0]

},

5750: {

“description”: ”Application Type”,

“value”: “Thermostat”

<etc>

Page 16: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

16

objects: {

3303: {

“description”: ”ipso temperature sensor”,

“lwm2m-attributes”: {“pmin”: 60, “pmax”: 300, “max-age”: 360},

“core-link-attributes”: {“rt”: [”oma.lwm2m”, “urn:X-ipso:temperature”]},

“instances”: {

0:{

“lwm2m-attributes”: {},

“core-link-attributes”: {“rt”: ”urn:oma:lwm2m:ext:3303”},

“resources”: {

5700:{

“description”: ”Current Measured Value”

“lwm2m-attributes”: {“pmin”: 10,”step”: 0.5},

“core-link-attributes”: {“rt”: ”ucum:temperature”, ”obs”, “ct”: 50}

},

5701: {

“description”: ”units”,

”value”: ”ucum:Cel”,

“operations”: [“r”]

},

5601: {“description”: ”Min Measured Value”, ”value”: 100},

5602: {“description”: ”Max Measured Value”, ”value”: 0},

5603: {“description”: ”Min Range Value”, ”value”: 0},

5604: {“description”: ”Max Range Value”, ”value”: 100},

5605: {“description”: ”Reset Min/Max”}

}

Example Template using Semantic Annotation

Page 17: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

17

IPSO Application Templates

Constructor for embedded objects

Constructor for complex, composite objects

Controls, e.g. LWM2M Observe Attributes

Hypermedia template for embedded server

Hypermedia template for client applications

Semantic Annotation using core-link-format metadata

Page 18: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

18

IoT Use Case Architecture Framework

Application

Service e.g.

LWM2M

Application

Application

s

ClientServer

Peer-

Peer

Managed

Device, e.g.

16KB RAM,

128KB

Flash

Smart Object Registration,

Discovery and Data Layer

Service, Device Proxy and

Cache

Local, Gateway, or Cloud

BasedApplications can Discover and

Interact with devices using Peer-

Peer networking or through

Services, using the Same

Semantics

Applications running on

Servers, Gateways,

Browsers,

Smartphones, Tablets

Sensor/

Actuator

Device

Devices with

Embedded

Applications

Service e.g.

LWM2M

Page 19: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

19

Networked Devices in the Connected Home

TV

Audio

DoorLock

Light

Washing Machine

Router

LWM2MServer

Smart

Phone

Ethernet,

WiFi,

Thread

Fitbit

BTLE

LWM2MServer

Page 20: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

20

Managed Devices

TV

Audio

DoorLock

Light

Washing Machine

Router

LWM2MServer

Smart

Phone

Fitbit

BTLESimple Devices Are

Managed through LWM2M

Servers

LWM2MServer

Locally Managed

Remotely

Managed

Directly Managed

from Smart Device

Page 21: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

21

Managed Device Interactions

TV

Audio

DoorLock

Light

Washing Machine

Router

LWM2MServer

Smart

Phone

Ethernet,

WiFi,

Thread

Fitbit

BTLE

LWM2MServer

Local Application

Scene Control

Binding, Pairing

Remote Application

Energy Management

Page 22: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

22

Application Devices

TV

Audio

DoorLock

Light

Washing Machine

Router

Device Server

Smart

Phone

Fitbit

BTLE

App Devices may interact with

each other and participate in

managed interactionsLWM2MServer

Phone App

Page 23: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

23

Resource Discovery on the Local Network

Could return a link-format document:

</3//9>;obs;rt=“urn:X-ipso:batt-level”;ct=”50”,

</3//0>;rt=”urn:X-ipso:dev-mdl”;ct=”50”,

</3//1>;rt=”urn:X-ipso:dev-mfg”;ct=”50”,

</3305/0/5800>;obs;rt=”urn:X-ipso:pwr-w”;ct=”50”,

</3305/0/5805>;obs;rt=”urn:X-ipso:pwr-accum-wh”;ct=”50”,

</3303/0/5700>;obs;rt=”urn:X-ipso:temp-C”;ct=”50”

CoAP

ServerCoAP

Client

DISCOVERY

GET /.well-known/core

2.05 Content

Could use

multicast

Page 24: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

24

Device Registers With LWM2M Server, Application

Discovers

App

LWM2M

Server

Soft Endpoints

IP

Devic

e

IP

Devic

e

LWM2M Clients

/3303/0/5700

/domain/endpoints/3303/0/5700

Page 25: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

25

Application Interacts With Device Transparently Through

Server

App

LWM2M

Server

IP

Devic

e

IP

Devic

e

LWM2M Clients

/domain/endpoints/3303/0/5700

/3303/0/5700

Page 26: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

26

Application Receives Notifications Through Server

App

LWM2M

Server

IP

Devic

e

IP

Devic

e

LWM2M Clients

Page 27: OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects

27

LWM2M Communication Through NAT Router

App

LWM2M

Server

CoAP

IP

Devic

e

IP

Devic

e

HW Device Endpoints

NAT Router