Semantics for the Internet of Things Keep it Simple S Szymon S i Zach Sasin, Z h Sh Shelby lb ©Sensinode 2012 1 Embedded Web • The Internet of Things will be powered by Web technology • Technology from the IETF 9 Constrained Application Protocol (CoAP) 9 Security y 9 Web Linking 9 Resource Directory • Application Semantics 9 IPSO Application Framework 9 OMA Lightweight M2M ©Sensinode 2012 Semantics in IoT Illustrative Sensinode Deployments 5 1 2 4 Internet 6 Street Light M2M Nodes 6LoWPAN, CoAP, EXI IPv6, CoAP, EXI IPv6, HTTP, XML Customer-specific & Reference Apps Home M2M Nodes 1 Embedded Web services device library 4 6LoWPAN <-> IPv6/IPv4 edge router software 2 6LoWPAN stack optimized for constrained devices 5 Backend environment to manage M2M deployments 3 ZigBee Zi B Smart S t Energy E 2.0 20 Smart Grid client 6 SDK & R Reference f A Apps for key M2M markets 1 2 4 3 ©Sensinode 2012 3 CoRE Link Format • RFC6690 is aimed at Resource Discovery for M2M 9 Defines a link serialization suitable for M2M 9 Defines a well-known resource where links are stored 9 Enables query string parameters for filtered GETs 9 Can be used with unicast or multicast (CoAP) • Resource Discovery with RFC6690 9 Discovering 9 GET the links hosted by CoAP (or HTTP) servers /.well-known/core?optional p _q query y_string g 9 Returns ™URL, a link-header style format relation, type, interface, content-type etc. ©Sensinode 2012 CoRE Semantics • RFC6690 = Simple semantics for machines 9 IANA registry for rt= and if= parameters • Resource Type (rt=) 9 What 9 e.g. is this resource and what is it for? Device Model could be rt=“ipso.dev.mdl” • Interface Description (if=) 9 How 9 e.g. eg do I access this resource? Sensor resource accessible with GET ifif=“core.s” “core s” • Content Type (ct=) 9 What 9 e.g. is the data format of the resource payloads? text/plain (0) ©Sensinode 2012 Resource Directory • CoRE Link Format only defines 9 The link format 9 Peer-to-peer discovery • A directory approach is also useful 9 Supports sleeping nodes 9 No multicast traffic, longer battery life 9 Remote lookup, hierarchical and federated distribution • The CoRE Link Format can be used to build Resource Directories 9 Nodes POST (register) their link-format to an RD 9 Nodes PUT (refresh) to the RD periodically 9 Nodes may DELETE (remove) ( ) their RD entry 9 Nodes may GET (lookup) the RD or resource of other nodes See draft-shelby-core-resource-directory ©Sensinode 2012 IPSO Application Framework • RESTful profile from the IP Smart Object alliance +--------------------+-----------+--------------+ | Function Set | Root Path | Resouce Type | +--------------------+-----------+--------------+ | Device | / /dev | ipso.dev p | | General Purpose IO | /gpio | ipso.gpio | | Power | /pwr | ipso.pwr | | Load Control | /load | ipso.load | | Sensors | /sen | ipso.sen | | Light Control | /lt | ipso.lt ipso lt | | Message | /msg | ipso.msg | | Location | /loc | ipso.loc | | Configuration | /cfg | ipso.cfg | +--------------------+-----------+--------------+ ©Sensinode 2012 OMA Lightweight M2M ©Sensinode 2012 8 OMA Lightweight Object Model • A Client has one or more Objects • An Object is a collection of Resources • A Resource is an atomic piece of information that can be 9 Read, Written or Executed • Resources can have multiple instances • Objects and Resources are identified by a 16-bit Integer, g Instances by y an 8-bit Integer g • Objects/Resources are accessed with simple p URIs: /{Object ID}/{Resource ID} e.g. /12/3 ©Sensinode 2012 9 Sensinode Semantics Demo ©Sensinode 2012 10