open source iot building blocks for startups

23
Open Source IoT Building Blocks for Startups {datastore, app hosting, discovery} Charalampos Doukas @buildingiot

Upload: charalampos-doukas

Post on 14-Jul-2015

117 views

Category:

Technology


3 download

TRANSCRIPT

Open Source IoT Building Blocks for Startups

{datastore, app hosting, discovery}

Charalampos Doukas

@buildingiot

ServIoTicy Datastore

• Another IoT data cloud platform?

– Yes, sort of

• But why?

– Fully Open Source

– Free forever

– Download & Install

– Some special features

ServIoTicy Datastore

• Special Features:

– Store any kind of data {sensor values, media,..}

– Search & Fetch:

• Time values

• Features like location

– Define actions

• Trigger over HTTP/MQTT/STOMP/…

– Subscriptions

ServIoTicy Datastore

• Special Features:

– Subscriptions:

• Know when your device has posted data

• New data delivered over:– STOMP/WS (Web)

– MQTT (devices)

ServIoTicy Datastore

• An example:{

"name": "device","description": "COMPOSE device","URL": "Web Object URL ","streams": {

"sensor": {"channels": {

"light": {"type": "string","unit": "string"

},"sound": {

"type": "string","unit": "string"

}},"description": "cheap sensor","type": "sensor"

}},

"customFields": {},"actions": [

{"name": "sound","action": "buzzer"

}],"properties": [

{"location": {

"x": 1234,"y": 1245

}}

]}

ServIoTicy Datastore

• API: http://api.servioticy.com

• Store:

– PUThttp://api.servioticy.com/14168401605449a94ccf74f9d49a29ee0ce5f414c8938/streams/sensor

{"channels": {"light": {"current-value": "0.96774193548387"}},"lastUpdate": 1417016693212}

authorization: NDAwNmZjNWYtNTYxMS00YjVkLTllYzMtZTIxNTNhMzAwYjA0Njg5NjJjNDctMWUzNC00ZDY4LTgyZDItODkzMjVjNDI0YTli

ServIoTicy Datastore

• API: http://api.servioticy.com

• Store:

– GEThttp://api.servioticy.com/14168401605449a94ccf74f9d49a29ee0ce5f414c8938/streams/sensor

authorization: NDAwNmZjNWYtNTYxMS00YjVkLTllYzMtZTIxNTNhMzAwYjA0Njg5NjJjNDctMWUzNC00ZDY4LTgyZDItODkzMjVjNDI0YTli

ServIoTicy Datastore

• API: http://api.servioticy.com

• Actuate:

– POSThttp://api.servioticy.com/1417107154049186fff1f06b04ab59082aa84557a9f51/actuations/buzzer

{paramerters…}

authorization: NDAwNmZjNWYtNTYxMS00YjVkLTllYzMtZTIxNTNhMzAwYjA0Njg5NjJjNDctMWUzNC00ZDY4LTgyZDItODkzMjVjNDI0YTli

ServIoTicy Datastore

• API: http://api.servioticy.com

• Subscribe to notification on new data:

– MQTT/STOMP/WS

{topic: /topic/MDgwOTMxMDQtMTM3NS00ZWQ1LTk5Y2UtZjJhYjFlZjE0YjcwNmQyZjA2MGYtMzhiZS00MjAzLWE

zYzItZjRiNzdhYjg0MGIx.1417107154049186fff1f06b04ab59082aa84557a9f51.streams.sensor.updates}

ServIoTicy Datastore

• API: http://api.servioticy.com

• Subscribe to notification on new data and act:

ServIoTicy Datastore

• What is made of?

– Apache STORM

– CouchBase DB

– Apache Apollo

– Jetty

– ElasticSearch

– …

ServIoTicy Datastore

• Download it:

– Virtual Box VDI

– Vagrant script to install everything

• Documentation, samples, links:

• http://www.servioticy.com/

App Hosting

• CloudFoundry PaaS

• What is the easiest way to create IoTworkflows?

• Node-RED {www.nodered.org}

App Hosting

• Node-RED

App Hosting

• UI for creating users and Objects (Service Objects)

• Integrated Node-RED environment

• Runs on top of Cloudfoundry

• Communicates with servIoTicy

App Hosting

• Glue.things {www.gluethings.com}

App Hosting

• Glue.things {www.gluethings.com}

Discovery

• Why ?

– You know your own stuff but what about others?

• Sensing services

• Services

• …

Discovery

• Integrate iServe:

– Registry for discovering APIs and Services

• Work with API descriptors

– Swagger

• Expose a way to make text queries

– Node-RED node: work in progress

Discovery

• Currently:

– Find an API using iServe

– Grab swagger descriptor

– Use the custom Node-RED node

Discovery

Where is the Security?

• Data provenance

– Log all data transactions {users, devices} inside servIoTicy and make them available to device owners

– Authentication through API

– Identity Management system (work in progress):

• Allow users authorise apps for accessing their data

• Generate API tokens with different rights

Links

• www.compose-project.eu

• www.servioticy.com

• www.gluethings.com

• http://iserve.kmi.open.ac.uk