iottoolkit wot

11
WoT Implementation With IoT Toolkit Implementing the Web of Things Virtual Entity using IoT Toolkit

Upload: michael-koster

Post on 02-Aug-2015

186 views

Category:

Internet


3 download

TRANSCRIPT

Page 1: Iottoolkit wot

WoT Implementation With IoT Toolkit

Implementing the Web of Things Virtual Entity using IoT Toolkit

Page 2: Iottoolkit wot

IoT Toolkit• https://github.com/connectIOT/iottoolkit • Project started in 2012• Experimental framework to investigate web

architecture for IoT• Core Ideas:– Web Objects – REST + Events– Hypermedia – Linked Data

Page 3: Iottoolkit wot

Smart Object API• Web Object API to encapsulate a thing’s:– Properties – Events– Actions– Description

• Based on a core object model with protocol bindings and semantic bindings– HTTP, CoAP, MQTT– RDF, JSON-LD, CoRE Link-format

Page 4: Iottoolkit wot

High Level SchemaSmartObject

Description

Agent

ObservableProperty

Description

Observer

PropertyOfInterest

Page 5: Iottoolkit wot

SmartObject ClassOperation Action Data

Read Read Description Linked Data

Update Update Description Linked Data

Create Add New Resource Constructor

Delete Remove Resource

• Represents a thing• Container for encapsulation of other

resources• Can contain instances of SmartObjects• API reflects the thing description

Page 6: Iottoolkit wot

Description ClassOperation Action Data

Read Read Description Linked Data

Update Update Description Linked Data

Create Add New Links Linked Data

Delete Remove Links Link Template

• Describes a thing or a resource in a thing• Sub-resource of SmartObject or

ObservableProperty• Links to resources, links about resources

Page 7: Iottoolkit wot

Agent ClassOperation Action Data

Read List Handlers List of Handlers

Update N/A

Create Add New Handler Constructor Object

Delete Remove Handler

• Contains Handlers, which are actions invoked within an object

• Rules, filters, transforms, aggregations…• Handlers contain pointers to input and

output ObservableProperties

Page 8: Iottoolkit wot

ObservableProperty ClassOperation Action Data

Read Get value Property Value

Update Replace Value New Value

Create Add New Resource e.g. Observer

Constructor Object

Delete Remove resource

• Represents a property of a thing• API reflects the value of the property• Zero or more per SmartObject• Can generate Events and invoke actions

through Observers

Page 9: Iottoolkit wot

Observer ClassOperation Action Data

Read Get constructor Constructor Object

Update Modify Constructor Constructor Template

Create N/A

Delete Remove Self

• Endpoint for Events, sub resource of ObservableProperty

• Publisher, Subscriber, or Handler invoker• Describes the event to be generated or

received• Specifies conditions for generating events

Page 10: Iottoolkit wot

PropertyOfInterest ClassOperation Action Data

Read Get value Property Value

Update Update Value New Value

Create N/A

Delete N/A

• Optional within ObservableProperty• Enables complex data types by invoking

custom methods • Time series data, structured objects

Page 11: Iottoolkit wot

IoT Toolkit – Protocol Bindings

HTTP Server HTTP Client

CoAP ServerCoAP Client

MQTT Client

/

OP

OBS

OBS

OBS

Server Bindings to Object Tree

Client (Observer) Bindings to Resource Endpoints

IoT Toolkit Core - Objects and Resources