1
IPSO Smart Objects
for IoT
January 28, 2015
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
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
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
5
Example IPSO Smart Object (Temperature)
6
Example IPSO Smart Object (Temperature) ..continued
7
IPSO Smart Object Starter Pack
8
Ad-Hoc IPSO Smart Object – BLE Heart Rate Sensor
Profile
9
Ad-Hoc IPSO Smart Object – Smart Thermostat
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
11
Composite IPSO Smart Objects – Conceptual View
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
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
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
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>
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
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
18
IoT Use Case Architecture Framework
Application
Service e.g.
LWM2M
Application
Application
s
Client
Server
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
Based
Applications 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
19
Networked Devices in the Connected Home
TV
Audio
DoorLock
Light
Washing
Machine
Router
LWM2M
Server
Smart
Phone
Ethernet,
WiFi,
Thread
Fitbit
BTLE
LWM2M
Server
20
Managed Devices
TV
Audio
DoorLock
Light
Washing
Machine
Router
LWM2M
Server
Smart
Phone
Fitbit
BTLE
Simple Devices Are
Managed through LWM2M
Servers
LWM2M
Server
Locally Managed
Remotely
Managed
Directly Managed
from Smart Device
21
Managed Device Interactions
TV
Audio
DoorLock
Light
Washing
Machine
Router
LWM2M
Server
Smart
Phone
Ethernet,
WiFi,
Thread
Fitbit
BTLE
LWM2M
Server
Local Application
Scene Control
Binding, Pairing
Remote Application
Energy Management
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 interactions
LWM2M
Server
Phone App
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
Server
CoAP
Client
DISCOVERY
GET /.well-known/core
2.05 Content
Could use
multicast
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
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
26
Application Receives Notifications Through Server
App
LWM2M
Server
IP
Devic
e
IP
Devic
e
LWM2M Clients
27
LWM2M Communication Through NAT Router
App
LWM2M
Server
CoAP
IP
Devic
e
IP
Devic
e
HW Device Endpoints
NAT Router

Ipso smart objects for iot

  • 1.
    1 IPSO Smart Objects forIoT January 28, 2015
  • 2.
    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
  • 3.
    3 Web to theEdge - 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
  • 4.
    4 IPSO Smart Objectsuse 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
  • 5.
    5 Example IPSO SmartObject (Temperature)
  • 6.
    6 Example IPSO SmartObject (Temperature) ..continued
  • 7.
    7 IPSO Smart ObjectStarter Pack
  • 8.
    8 Ad-Hoc IPSO SmartObject – BLE Heart Rate Sensor Profile
  • 9.
    9 Ad-Hoc IPSO SmartObject – Smart Thermostat
  • 10.
    10 IPSO Smart ObjectRoadmap 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
  • 11.
    11 Composite IPSO SmartObjects – Conceptual View
  • 12.
    12 Composite Objects throughObject 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
  • 13.
    13 Example Composite Objectusing 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
  • 14.
    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
  • 15.
    15 Example Template forObject 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>
  • 16.
    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
  • 17.
    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
  • 18.
    18 IoT Use CaseArchitecture Framework Application Service e.g. LWM2M Application Application s Client Server 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 Based Applications 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
  • 19.
    19 Networked Devices inthe Connected Home TV Audio DoorLock Light Washing Machine Router LWM2M Server Smart Phone Ethernet, WiFi, Thread Fitbit BTLE LWM2M Server
  • 20.
    20 Managed Devices TV Audio DoorLock Light Washing Machine Router LWM2M Server Smart Phone Fitbit BTLE Simple DevicesAre Managed through LWM2M Servers LWM2M Server Locally Managed Remotely Managed Directly Managed from Smart Device
  • 21.
  • 22.
    22 Application Devices TV Audio DoorLock Light Washing Machine Router Device Server Smart Phone Fitbit BTLE App Devicesmay interact with each other and participate in managed interactions LWM2M Server Phone App
  • 23.
    23 Resource Discovery onthe 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 Server CoAP Client DISCOVERY GET /.well-known/core 2.05 Content Could use multicast
  • 24.
    24 Device Registers WithLWM2M Server, Application Discovers App LWM2M Server Soft Endpoints IP Devic e IP Devic e LWM2M Clients /3303/0/5700 /domain/endpoints/3303/0/5700
  • 25.
    25 Application Interacts WithDevice Transparently Through Server App LWM2M Server IP Devic e IP Devic e LWM2M Clients /domain/endpoints/3303/0/5700 /3303/0/5700
  • 26.
    26 Application Receives NotificationsThrough Server App LWM2M Server IP Devic e IP Devic e LWM2M Clients
  • 27.
    27 LWM2M Communication ThroughNAT Router App LWM2M Server CoAP IP Devic e IP Devic e HW Device Endpoints NAT Router