Ipso smart objects for iot

  • View

  • Download

Embed Size (px)


Keynote Presentation template

IPSO Smart Objectsfor IoTJanuary 28, 2015


1IPSO Smart ObjectsDeveloped by the IP for Smart Objects Alliance (IPSO)Semantic Interoperability across IoT devices and applicationsBased on LWM2M object modelReusable object IDs and resource IDsUsable on many different transport protocols (CoAP, HTTP, MQTT) which can support LWM2M addressing, data types, and content formatsBasic Starter Pack for simple objects was published in 2014Basic Objects represent simple sensors and actuatorsExtensions in progress to broaden the use case applicability#

Web to the Edge - Internet Standards for IoTApplication SoftwareIPSO ObjectsOMA LWM2MCoAPHTTP6LowPANIPV4/IPV6MCU 16KiB RAMMPU802.15.4WiFi, EthernetHardwareHW NetworkRoutingApplication ProtocolAPI and ServicesData ModelsApplicationWeb Server#

IPSO Smart Objects use the LWM2M Object ModelReusable resource and object IDsCommon definitions for concepts across diverse applicationsMap to semantic terms e.g. temperature, currentValueIDs are registered with the OMNAUsable across different transport protocols which can support:URI Addressing Data TypesContent FormatsOperations (Read, Write, Execute)Some protocols may allow a subset e.g MQTT can do Actuation and Notification3303/0/5700Object ID, defines object typeObject Instance, one or moreResource ID, defines resource type#

Example IPSO Smart Object (Temperature)


Example IPSO Smart Object (Temperature) ..continued


IPSO Smart Object Starter Pack


Ad-Hoc IPSO Smart Object BLE Heart Rate Sensor Profile


Ad-Hoc IPSO Smart Object Smart Thermostat


IPSO Smart Object Roadmap TBD New Smart Objects to cover more use cases but need ownersMore basic objects e.g. sensors, actuators, controllersHome appliances, media control devicesComplex and composite objects using LWM2M Object LinkingGateway integration, TR-069 interworkingBluetooth and Zigbee Object Model BindingsStandalone schema and templates for high level semanticsDevice to Device Interaction using IPSO Smart Obejcts#

Composite IPSO Smart Objects Conceptual View


Composite Objects through Object LinkingObject Link is a new LWM2M data type32 bit packed representation of Object ID and InstanceComposite objects can be made by using object links to transclude other objects (include by reference)Can use web-like pattern, following linksLinked objects are serialized inline when using SenML


Example Composite Object using Links3308/03306/0Thermostat8300 IPSO Thermostat3303/0 - IPSO Temperature3308 IPSO Setpoint3306 IPSO ActuationInput link (7100)Setpoint link (7101)Output link (7102)Application Type (5750)3303/0#

IPSO Application Templates Application Templates using JSON as a high level constructor for object instances and high level composite objectsControls object linking and encapsulation structureSettings, e.g. LWM2M Observe AttributesAdditional core-link-format metadata for discoveryCan include semantic hooks for abstract modelsHypermedia template for semantic discoveryDoes this in a layered way as needed#

Example Template for Object Linkingobjects: { 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


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 #

IPSO Application TemplatesConstructor for embedded objectsConstructor for complex, composite objectsControls, e.g. LWM2M Observe AttributesHypermedia template for embedded serverHypermedia template for client applicationsSemantic Annotation using core-link-format metadata


IoT Use Case Architecture FrameworkApplicationService e.g. LWM2MApplicationApplicationsClientServerPeer-PeerManaged Device, e.g. 16KB RAM, 128KB FlashSmart Object Registration, Discovery and Data Layer Service, Device Proxy and CacheLocal, Gateway, or Cloud BasedApplications can Discover and Interact with devices using Peer-Peer networking or through Services, using the Same SemanticsApplications running on Servers, Gateways, Browsers, Smartphones, TabletsSensor/Actuator DeviceDevices with Embedded ApplicationsService e.g. LWM2M#

Networked Devices in the Connected HomeTVAudioDoorLockLightWashing MachineRouterLWM2MServerSmart PhoneEthernet,WiFi,ThreadFitbitBTLELWM2MServer#

Managed DevicesTVAudioDoorLockLightWashing MachineRouterLWM2MServerSmart PhoneFitbitBTLESimple Devices Are Managed through LWM2M Servers LWM2MServerLocally ManagedRemotelyManagedDirectly Managed from Smart Device #

Managed Device InteractionsTVAudioDoorLockLightWashing MachineRouterLWM2MServerSmart PhoneEthernet,WiFi,ThreadFitbitBTLELWM2MServerLocal ApplicationScene ControlBinding, PairingRemote ApplicationEnergy Management#

Application DevicesTVAudioDoorLockLightWashing MachineRouterDevice ServerSmart PhoneFitbitBTLEApp Devices may interact with each other and participate in managed interactionsLWM2MServerPhone App#

Resource Discovery on the Local NetworkCould return a link-format document:;obs;rt=urn:X-ipso:batt-level;ct=50,;rt=urn:X-ipso:dev-mdl;ct=50,;rt=urn:X-ipso:dev-mfg;ct=50,;obs;rt=urn:X-ipso:pwr-w;ct=50,;obs;rt=urn:X-ipso:pwr-accum-wh;ct=50,;obs;rt=urn:X-ipso:temp-C;ct=50CoAP ServerCoAP ClientDISCOVERYGET /.well-known/core2.05 Content Could use multicast#

Device Registers With LWM2M Server, Application DiscoversAppLWM2M ServerSoft EndpointsIP DeviceIP DeviceLWM2M ClientsDISCOVERREGISTER/3303/0/5700/domain/endpoints/3303/0/5700#

Application Interacts With Device Transparently Through ServerAppLWM2M ServerIP DeviceIP DeviceLWM2M Clients1. GET3. REPLY2. GET4. REPLY/domain/endpoints/3303/0/5700/3303/0/5700#

Application Receives Notifications Through ServerAppLWM2M ServerIP DeviceIP DeviceLWM2M Clients1. NOTIFY2. NOTIFY#

LWM2M Communication Through NAT RouterAppLWM2M ServerCoAPIP DeviceIP DeviceHW Device EndpointsREG UPDATENAT RouterGET/PUT#

Resources:Resource NameResource IDAccess TypeMultipleInstances?MandatoryTypeRange or EnumerationUnitsDescriptions

Sensor Value5700RNoMandatoryFloatLast or Current Measured Value from the Sensor

Units5701RNoOptionalStringMeasurement Units Definition e.g. Cel for Temperature in Celsius.

Min MeasuredValue5601RNoOptionalFloatSame as Measured ValueSame as Measured ValueThe minimum value measured by the sensor since power ON or reset

Max Measured Value5602RNoOptionalFloatSame as Measured ValueSame as Measured ValueThe maximum value measured by the sensor since power ON or reset

Min Range Value5603RNoOptionalFloatSame as Measured ValueSame as Measured ValueThe minimum value that can be measured by the sensor

Max RangeValue5604RNoOptionalFloatSame as Measured ValueSame as Measured ValueThe maximum value that can be measured by the sensor

Reset Min and Max Measured Values5605ENoOptionalOpaqueReset the Min and Max Measured Values to Current Value

Table 1 Smart Objects defined by this Technical Guideline ObjectObject ID Multiple Instances?

IPSO Digital Input3200Yes

IPSO Digital Output3201Yes

IPSO Analogue Input3202Yes

IPSO Analogue Output3203Yes

IPSO Generic Sensor3300Yes

IPSO Illuminance Sensor3301Yes

IPSO Presence Sensor3302Yes

IPSO Temperature Sensor3303Yes

IPSO Humidity Sensor3304Yes

IPSO Power Measurement3305Yes

IPSO Actuation3306Yes

IPSO Set Point3308Yes

IPSO Load Control3310Yes

IPSO Light Control3311Yes

IPSO Power Control3312Yes

IPSO Accelerometer3313Yes

IPSO Magnetometer3314Yes

IPSO Barometer3315Yes

Object info:

ObjectObject ID Object URNMultiple Instances?Description

Heart Rate12200urn:oma:lwm2m:x:12200YesHeart Rate Monitor

Resource Info:

Resource NameResource IDAccess TypeMultipleInstances?MandatoryTypeRange or EnumerationUnitsDescriptions

Sensor Value5700RNoMandatory Float BPM Heart Rate Measurement Value

Digital Input State5500RNoOptionalBooleanSensor contact status 0=no contact, 1= contact

Total Energy5950RNoOptionalFloatkJEnergy Expended

Reset Cumulative Energy5822ENoOptionalOpaqueReset 5950 Energy Expended to zero

Body Sensor Location5951R,WNoOptionalStringIntended sensing location on the body

R-R Interval5952RNoOptionalStringSequence of R-wave intervals

Object info:

ObjectObject ID Object URNMultiple Instances?Description