evrythng: concepts, technologies and applications for connecting physical objects to the web - icwe

104
ICWE 01.07.14 Iker Larizgoitia Research Developer Dom Guinard CTO & Co-founder Web of Things: Concepts, technologies and applications for connecting physical objects to the Web © EVRYTHNG Limited | 2014 @EVRYTHNG | @webofthings

Upload: evrythng

Post on 16-Apr-2017

8.979 views

Category:

Internet


0 download

TRANSCRIPT

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

ICWE 01.07.14 Iker Larizgoitia Research Developer Dom Guinard CTO & Co-founder

Web of Things: Concepts, technologies and applications for connecting physical objects to the Web

© EVRYTHNG Limited | 2014

@EVRYTHNG | @webofthings

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

What’s on the menu?

§  Introduction §  Web of Things §  EVRYTHNG’s Web of Things

–  Technologies –  Connected products –  Case studies

§  Current Research §  Showcases

–  Connected Products: Cross selling product demo –  Connected Devices: Street Lamp –  WoT-a-mashup + Node-RED –  COMPOSE and Scanthng integration for Smart Products

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

INTRODUCTION

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

The Internet of Things Era

EVRYTHNG Started here!

Nest goes Google

Web of Things

Internet of Things

1999

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

The Internet of Things Era

In 2020, Over 30 Billion Connected Devices Will

Be In Use Source: IBM Investor Briefing ‘Making Markets: Smarter Planet’

Source: Cisco

One trillion connected devices by 2015.

Source: Gartner

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Who are the Things in the IoT?

Connected Devices

Hands-on coming

later

Connected Products

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Smart Machines and Appliances

Monitor Diagnose

Predict Recommend

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Smart Health

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

The charge will be completed by 2:15am. Is that OK? See you tomorrow.

Smart cars

“ ”

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Smart health for plants

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Wifi Hockey Light

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Smart Home

Valleywag’s Sam Biddle tweeted: “If your house is burning down, you’ll now get gmail ads for fire

extinguishers.”

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

New connected business models

Real-time risk-adjusted, pay-as-you-go insurance.

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

New connected interfaces

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Smart things for simpler, more social lives

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

You won’t need to hunt anxiously for your missing shoes in the morning, you’ll Google them.

“ ”

Source: Bruce Sterling, ‘Shaping Things’

Real objects part of the real-time web

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Source: Bruce Sterling, ‘Shaping Things’

Real objects part of the real-time web

Things that are persist & discoverable online, query-able, permission aware, relationship aware & actuate-able via the Web.

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

WEB OF THINGS

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Web of Things

Internet of Things

Web of Things vs. Internet of Things

How do we connect things to the Internet?

How do we connect applications & things?

Applications? §  OSI Layer 7 + : -) §  HTTP, REST,

JSON §  Social nets,

semantics §  Mashups

Networking? §  OSI Layer 4 – §  IPv6lowpan,

EPC, WiFi, BLE Zigbee / 800.15.04

“Uniquely identifiable objects and their virtual representations in an Internet-like structure” §  Auto-ID Labs (K.

Ashton, S. Sarma, F. Mattern) ~ 1999

“Application architecture for physical objects” §  D. Guinard, V. Trifa,

E. Wilde, D. Raggett ~ 2007

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Connected Smart Objects Mayhem…

A very large ecosystem of smart things, complex application development

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Connecting Objects to the Web

Web of Things Platform

Connected Devices Sensors Tagged Products

Data from and about a diversity of products can connect with applications in a consistent and persistent way.

RESTful APIs & Application Tools

Persistent URI & URLs

TheEVRYTHNGEngine

An Active Digital Identity™for every thing

App Space

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Simplifying Application Development in the Internet of Things

[flickr.com/photos/docman]

Web of Things Application Architecture

Bridging the gap between things and applications.

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Web of Things Application Architecture

http://webofthings.org/publications

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Device Accessibility Layer

§  How do we make smart things accessible on the Web? §  Generic design process for smart things as Web resources:

–  Based on REST and Resource Oriented Architectures –  Extend with Pub/Sub

•  E.g., MQTT, XMPP, CoAP

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Web-Enabling Smart Things

Resource Design

Representation Design

Interface Design

Implementation Strategy

•  Based on REST and Resource Oriented Architecture.

GET, POST, PUT, DELETE, OPTIONS

Content Negotiation, Status Codes

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

•  Identify Resources: –  Any component of an

application that needs to be used and addressed.

•  Link resources together

Resource Design

Representation Design

Interface Design

Implementation Strategy

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

•  Smart things should offer different representations: –  HTML for browsability –  JSON for mashups

Resource Design

Representation Design

Interface Design

Implementation Strategy

{ "resource": { "methods":["GET"], "name":"Temperature", "links":["/feed", "/rules"], "content": [ { "description":"Current Temperature", "name":"Current Ambient Temperature", "value":"24.0", "unit": "celsius“ } ] } }

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Resource Design

Representation Design

Interface Design

Implementation Strategy

§  Leverage content negotiation: –  Accept: application/json

§  Use the HTTP Verbs extensively: –  GET, PUT, POST, OPTIONS, DELETE –  GET /genericNodes/2/sensors/temperature –  PUT /genericNodes/2/actuators /led/1

§  Map status codes: –  200 OK, 201 Created, 400 Bad Request, etc.

§  The presented design process can be automated

API

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Resource Design

Representation Design

Interface Design

Implementation Strategy

Mediated (Smart Gateways)

•  The API is served via mediator(s): –  Mobile phone –  Smart Gateways (e.g.,

CISCO iOX, Intel IoT Gateway, Open WRT)

–  EVRYTHNG API

§  The API is served by the device itself: •  IP connectivity

•  6lowpan •  CoAP •  Ethernet + PoE •  GSM •  Etc.

•  + Webserver

Direct access

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Resource Design

Representation Design

Interface Design

Implementation Strategy

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Findability Layer

•  Once smart things are accessible on the Web, how do we enable users to find the right service for their application?

•  Enabling Smart Things to be indexed by search engines (lightweight semantic metadata: microdata, schema.org, JSON-LD)

•  Local lookup and discovery infrastructure

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Swagger

The goal of Swagger™ is to define a standard, language-agnostic interface to REST APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection. When properly defined via Swagger, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interfaces have done for lower-level programming, Swagger removes the guesswork in calling the service.

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Swagger Example

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Sharing Layer

•  Once smart things are accessible and findable on the Web, how do we share them?

•  Sharing implies security issues have to be addressed. •  As much end to end as possible. •  Novel approach “Social Web of Things”

15.08.2011 35 Dominique Guinard

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Social Access Controller (SAC)

§  Existing systems: –  Require dedicated access

control lists (e.g., HTTP Digest or Basic Authentication, ACL… )

§  OR …Leverage social graphs of social networks: –  Are walled-gardens [Ber2009]

–  Allow sharing data, not services

§  Social Access Controller as proxy between clients and smart things

[Ber2009] Tim Berners-Lee. Twenty years: Looking forward, looking back. WWW 2009

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Social Access Controller (SAC)

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Sharing in Friends and Things

http://SOCIAL-ACCSES-CONTROLLER-URL/gateways/GATEWAYURL/ /resources/sunspots/spot1/sensors/temperature

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Composition Layer

•  Once smart things are accessible, findable, shareable on the Web, how do we enable their easy composition by non-specialists, into new applications?

•  Physical Mashups

15.08.2011 39 Dominique Guinard

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

From Web 2.0 Mashups to Physical Mashups

§  Web 2.0 Mashups: –  “Web applications

generated by combining […] disparate Web sources […] to create useful new services” [Yu2008]

–  Ad-hoc applications accessible to a larger public

§  Physical Mashups: –  Composite Web

applications involving smart things and virtual Web services

–  Three development approaches [Yu2008] Yu, J., Benatallah, B., Casati, F., &

Daniel, F. Understanding Mashup Development. IEEE Internet Computing

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Energie Visible: An Energy-Aware Mashup

•  Developers: –  Smart Meters as a

RESTful Web API: –  Mashup with any

language supporting HTTP

•  Users: –  Used by several

families around the world (Energie Visible)

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

EPC Mashup Dashboard: RFID Business Intelligence

•  Developers: –  RFID Readers & Data in a

black-board approach –  Wizard-based creation of

Widgets –  Merging Web data and

real-world RFID data •  Users:

–  Simple Web page providing real-time business intelligence

–  Deployed at the SAP future store

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Electronic Article Surveillance as a Physical Mashup

15.08.2011 43 Dominique Guinard

[Naef2009] Naef, L. ClickScript a visual programming language in the browser. Master Thesis, ETH Zurich

[Gui2010d] Guinard, D., Floerkemeier, C., & Sarma, S. Cloud Computing, REST and Mashups to Simplify RFID Applications, WoT 2011

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Physical Mashups WoT-a-mashup

github.com/webofthings/wot-a-mashup

Condition if bought or not RFID reader

ERP EPCIS

Camera and websocket push

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Physical Mashups – nodered.org

nodered.org

Node-RED is an application based on node.js, a server side JavaScript platform that uses an event-driven, non-blocking I/O model suited to creating data-intensive, real-time applications that run across distributed devices. For a device or a service to work with Node-RED there needs to be a node.js library or module capable of talking to them. But the number of compatible services and devices is extensive, thanks in part to a tendency for many modern platforms to expose their data and functional via open APIs that accept HTTP requests.

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Complete Web of Things Application Architecture

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Web of Things Follow up

§  Blog: www.webofthings.com §  Software: www.webofthings.com/projects §  Publications: www.webofthings.com/publications

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

W3C Community Group

§  http://www.w3.org/community/wot/

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

EVRYTHNG

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

How It Works

WATCH VIDEO HERE: http://bitly.com/77secs

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

CH.LINKEDIN.COM/IN/CONNECTEDBEING

Unique ID is the key

www.facebook.com/[Andy’sNikonD50]

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

EVRYTHNG’s Vision

The Web is the global application integration platform.

Every Thing Connected : Every physical object with an identity on the Web.

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

The consumer experience

1. Product ID Product has unique identity tag or identified at an SKU-level using image recognition or barcode.

2. Personal ID Consumer connects using mobile device and social network login, mobile number or CRM Identity.

3. Personalization Our smart product profile delivers contextual & relationship-based Web experiences and captures analytics.

1. Product IDProduct has unique identity tag or identified at an SKU-level using image recognition or barcode.

2. Personal IDConsumer connects using mobile device and social network login, mobile number or CRM Identity.

3. PersonalizationOur smart product profile delivers contextual & relationship-based Web experiences and captures analytics.

Product Profile2D Barcode

NFC Tag

Imagerecognition

Barcode

Embedded Chip

Rules, Analytics n Data Aggregation n Real-Time Response

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Making a guitar ‘smart’

Buy Activate Augment

Check-in

Manuals/How-Tos

Info, news

Offers/upgrades

(Geo)Social

Analytics

Brandedservices

ProductApps

Making a guitar smart

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

EVRYTHNG’s Web of Things Approach

RESTful APIs & Application Tools

Persistent URI & URLs

TheEVRYTHNGEngine

An Active Digital Identity™for every thing

Active Digital Identities™ - online identities for physical things.

Technology : REST web services protocol, light-weight and highly scalable, programmable, standards-based

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

EVRYTHNG ENGINE for the WoT

Object ADI

Connectingsocial networkand product IDs.

Object data exchangewith enterprise systems

Apps interactwith object data.

scanned to accessADIs. Connectedproducts talk direct to ADIs.

Products with smart tags orembedded chips.

From a developer standpoint, the EVRYTHNG ENGINE aims to provide a comprehensive set of Web services, data models and tools to make building Web of Things applications fast and easy.

§  Abstraction of product or device connectivity from application interaction for Web APIs.

§  Flexible data structures for individual THNGs, large-scale data store, temporal data-sets.

§  Real-time programming and analytics.

§  Scalable, on-demand and federated platform as a service online environment.

§  Fine-grained access control, at a THNG-attribute level.

§  Open to integration with enterprise and 3rd party Web services through standards-based Web protocols.

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

EVRYTHNG ENGINE for the WoT

§  Connected Devices communicate with the ENGINE via HTTP/HTTPs using REST calls §  Wrapper Libraries manage device specific interfaces, actuations & ENGINE polling §  Device data is stored by the ENGINE with temporal properties §  Applications communicate with Device ADIs via REST APIs & JSON data formats

EVRYTHNG.js Wrapper

BLE Sensor

NFC Sensor

WSNs

EVRYTHNG Android iOS

SDK

Mbed Wrapper

Arudino Wrapper

ARM Mbed

Arduino

Flyport Wrapper FlyPort

RaspberryPi

HTTP Library

Others

REST call over HTTP / HTTPs

Visualization via Portal

3rd Party Applications

App App App App App REST + JSON APIs

Development roadmap includes implementation of outbound messaging for ENGINE / device push and actuation.

EVRYTHNG ENGINE •  Device data stored as Temporal Properties •  Device & application actions with ENGINE

rules trigger events •  Secure access control

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

TECHNOLOGY

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

EVERYTHNG API in a Nutshell

§  Products: –  SKU

§  Thngs: –  Item level

§  Properties: –  Temporal values

§  Products & Thngs: –  Identified by a short URL:

tn.gg/JH8Bdf5v | .qr §  Actions on Thngs &

Products: –  Checkin, scan, etc.

§  User management –  Social profiles –  Auth

§  Custom fields: –  Extension points

https://dev.evrythng.com/documentation/api

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

REST-based Environment

All EVRYTHNG APIs offer REST endpoints : §  Scalable, stateless protocol §  Lightweight Web-service standard §  Embedded and mobile devices friendly §  API supports all languages => HTTP is a REST implementation §  Services can call each-other internally using REST

Access control is managed inherently at the API layer for each individual object and service : §  Thng-access service with

domain specific language support (DSL)

§  Unique access control component & security component based on REST

§  HTTPs supported

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Identity Management

Crypto-secure unique identities for any product : §  Alphanumeric strings with persistent URIs §  QR and NFC compatible §  Batch and on-demand generate tools

Short URL & dynamic re-direction services : §  Short code and URL generator for SMS, QR and URL generation §  Dynamically programmable re-direction directly linked to the EVRYTHNG

ENGINE™ Rules Engine

Wrappers providing support for connected devices : §  Boot-strap and auto-instantiation §  API key security management for device / ENGINE communication

EVRYTHNG provides extensive services to generate, manage and operate product identities.

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Connected Device Support

§  Connected Devices communicate with the ENGINE via HTTP/HTTPs using REST calls

§  Wrapper Libraries manage device specific interfaces, actuations & ENGINE polling

§  Applications communicate with Device ADIs via REST APIs & JSON data formats

§  Under development :::Pub/sub protocols support with MQTT and Websockets, etc.

Connected devices communicate with the EVRYTHNG ENGINE to feed data and actuate based on events driven by their Active Digital Identities™.

EVRYTHNG.js Wrapper

BLE Sensor

NFC Sensor

WSNs

EVRYTHNG Android iOS

SDK

Mbed Wrapper

Arudino Wrapper

ARM Mbed

Arduino

Flyport Wrapper

FlyPort

RspbryPi

HTTP Library

Others

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Rules Engine

Action / reaction model : §  Rules Engine responds to Action events generated externally or

internally §  Hierarchy of rules manageable, applying multiple variables e.g. user

identity, location, product type, event history, state, algorithm §  Reaction package generated by the ENGINE driving application or

devices events

Extensible, customizable : §  System and user defined Actions §  Capabilities to incorporate external data sources

Server-side defined rules to drive application events or product actuation based on complex user actions and product states.

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Analytics & Visualization

§  Setup projects and associated rules and products

§  Define and administer products and individual identities

§  Manage users §  Visual rules editor §  Visualize individual things and

project analytics §  Manage user generated content

Dashboard environment supports business decision making with analytics visualization, and administration for product, application and security management.

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

CONNECTED PRODUCTS

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Our world is being tagged today!

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Bootstrap Technologies

Mediated Directly connected

QR

NFC

1D

Connectivity / Required Power

Image Rec BLE

EPC

WSN & 6lowpan

WSN Sigfox, Neul, et.c

WSN & 800.15.04

ibeacon

WSN & Wifi

WSN & 3G

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Level 1: QR Codes

§  Royality-free encoding algorithm (Toyota’s Denso Wave)

§  40 different levels §  4 error correction

levels §  Add a logo!

§  Standardized content: URLs, v-card, etc.

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Level 2: NFC: Because touching feels better

§  13.56 MHz, “Touch” technology

§  Driven by NFC Forum (Google, Nokia, Intel, Visa, etc.)

§  NDEF: Data standard (URLs, Text, Poster, etc.)

§  Supported on Android since 2.3+ [Image courtesy of Timo Arnall www.elasticspaces.com]

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Lowering the costs: printed NFC

•  NFC tags can be printed (Thinfilm) –  Lowers the costs by

•  Sensors can be added to the tags –  E.g., Thinfilm

temperature sensor

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Level 3: EPC: Don’t touch me!

§  Electronic Product Code §  96 bits world-wide

unique product identifier & standards

§  Commercial attribution of codes (GS1)

§  EPC can be written to NFC tags

§  EPC Gen2 tags enable distant reading

§  EPC likes Java: §  fosstrak.org

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Say Hello to BLE: Bluetooth 4.0

Bluetooth (<4.0)

Buetooth Low Energy (4.0)

Radio power

max 100 mW

max 10 mW

Range max 100 m <50 m Band-width

up to 3 Mbit/s

up to 1 Mbit/s

Boot-strap

100 ms 6 ms

•  Not quite NFC, not quite EPC, not quite WSN, best of all? –  Low-power => long

battery life (years) –  Active => reading from

a distance

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

BLE BT 4.0 : Examples

§  Lot’s of applications: –  Smart lost&found –  Active tagging –  Sports trackers –  Smart watches –  Wireless payments –  etc.

§  However $$$ > NFC, Barcodes, EPC

[sticknfind.com]

[thetileapp.com]

[getpeeble.com]

[ jawbone.com]

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 00

iBeacons != BLE

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

iBeacons

§  Not (yet) a standard Bluetooth profile –  Sort of an active NFC –  Several iBeacons

providers §  Usage

–  Micro-location based services

–  Ideal bootstrap or call to action

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Resolving the bootstrap problem: SCANTHNG

QR Code – Reads all QR Codes, exactly the same as any QR reader app available to download.

Rich Media – Can be used to trigger rich HTML5 animated, personal experiences, or Augmented Reality

1D Barcode – Can also use existing on-pack barcodes as a unique identifier to deliver online experiences

IoT boostrap problem: how do you get people to scan products? SCANTHNG is an in-browser product recognition SDK (pat. pending)

Image Recognition – Can be programmed to use product packaging as a trigger to the web.

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

The EVT Toolbox

Web / Mobile Web

EVRYTHNG.js Wrapper

EVRYTHNG Android Wrapper

Embedded

Mbed, Arduino, etc. Wrappers

EVRYTHNG Java Wrapper

Portal

Thng, Products creator

Analytics

Actions visualizer

Social Profiles

Properties visualizer

Customized Views

ADI generator

Mobile

Scan-thng

Engine APIs

Thngs, Products, Collections API

Auth + Security (Social nets)

API

Users + social profiles API

Rules configurator

Rule engine

Temporal properties API Anayltics API

Dynamic + contextual redirection

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

The EVRYTHNG Open API

§  Give your things a digital identity: –  Products friendly

(QR & NFC) –  Sensors friendly (ADK/ADB,

BLE) §  Mgt/testing/vizu portal §  Lightweight REST API §  SDKs for:

–  Android –  JS –  Arduino (community) –  .Net –  Flyport (community) –  Etc.

[dev.evrythng.com]

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

CASE STUDIES

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Connecting some of the worlds best brands

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Case study on Connected Products: Father’s Day

•  Marketing campaign for father’s day in Brazil/Chile/Venezuela/ Australia/Vietnam, etc. –  Built on top of the

EVRYTHNG API –  Mobile Web and Desktop

apps •  500k+ whisky bottles

tagged with unique QR codes

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Results

RESULTS:'24'ARTICLES'&''ROI'='342%''%

'76,853''

'339,382''

Investment' Return'

Investment'vs.'Return'(R$)'

342%'

+more%generated%PR%buzz:%342%%PR%ROI%%

§  72% sales increase from previous year in Brazil!

§  ROI metrics ahead of target.

§  Brand equity measures successfully delivered.

§  Rolling out in 4 other markets 2013/14.

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Case study on Connected Devices: Dom Perignon at The Savoy Hotel

https://www.youtube.com/watch?v=MnTeR7X6H-k

•  Physical button placed in room orders a bottle of champagne. –  Physical device based

on Open Picus –  Built on top of the

EVRYTHNG API

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

CURRENT RESEARCH

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

W3C Workshop last week

§  Core Technologies –  What are the foundational technologies and how will these be

expected to evolve? §  Domain Challenges

–  What are the challenges for particular domains of use and how would open standards help?

§  From Things to the Web of Things –  What runtime environment is needed for services on devices. –  The role of scripting from microcontrollers to super computers. –  What kinds of APIs are needed for implementing device drivers? –  What is needed for locally installed applications and services. –  How to bridge firewalls and network address translation? –  How to address provisioning and management of devices and

services? –  How to describe and bind services into a web of coupled services?

http://www.w3.org/2014/02/wot/

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

W3C Workshop last week

§  The Role of Semantics –  Interpreting sensor input, and determining how to control actuators is

very much dependent on the context and access to accurate up to date information, for instance, descriptions of people, places, tasks and things.

–  Semantics are key to ensuring interoperability, e.g. as a basis for describing physical units. What is needed to encourage use of common vocabularies and how should these be standardized?

–  What is the relationship between services and the Web of data? §  Security, Trust and Privacy

–  Systems of identifiers for people, devices, services and applications. –  The role of identity providers in enabling the Web of Trust. –  Proactive measures such as encryption, authentication, access control,

and approaches for handling privacy and provenance. –  Retroactive measures such as monitoring, defense in depth, graceful

degradation in the presence of faults, and mechanisms for isolating and limiting the effects of attacks.

–  Social relationships between people, devices, services and applications.

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

W3C Workshop last week

§  User Interfaces –  What is needed for the next generation of user interfaces for the Web

of Things? §  Scalability

–  What are the challenges and potential solutions for scalable services, and how do these vary according to the domain of use?

–  Extracting meaning from progressive interpretation of ambiguous or noisy data in combination with access to contextual information, including goals and current priorities.

–  Mapping high level intent to coordinated and synchronized control of actuators.

§  Open Markets –  What is needed to enable open markets of services, e.g. payments,

discovery, reviews, reputation, developer tools and so forth?

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Collaborative Open Market to Place Objects at your Service

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Open and Scalable Marketplace infrastructure

Internet of Things

Internet of Services

from Smart Objects

to Services

to Applications & Store

FROM the Internet of Things TO the Internet of Services…

COMPOSE Project

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

COMPOSE

Ease the task of developers creating applications based on Internet-connected smart objects

- Easily: o  register and absorb data from smart

objects o  access historical and real-time data o  provide analytics services on

incoming data o  send notifications based on incoming

data o  control smart objects (PubSub) o  discover and re-use existing building

blocks o  combine existing building blocks o  build new applications o  deploy new applications

- Cloud deployment – CloudFoundry

- Do all the above in a secure manner

PaaS and MarketPlace for IoT

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

COMPOSE Platform in a nutshell

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

COMPOSE: Stream Processing

§  Provide simple data processing logic •  JSON for definition •  Descriptive language

•  For each CSO code is injected in STORM bolts •  JavaScript for processing logic (no loops – finite computation)

§  Design principles •  Event-driven •  Lock-free •  Stream-oriented

–  Sources can be: •  SOs •  Other CSOs

COMPOSE  Consor-um   93  

SO CSO Location

WO

Inside

GeoFence?

UserID

Discard

CSO

SO

Sunny

I want to be notified of users near my location

on a suny day!

Location

Inside GeoFence

and Sunny?

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

COMPOSE: Stream Processing

COMPOSE  Consor-um   94  

{ "groups": { "group1": { "soIds": [ "1393322724658c4f69d27627f496bbb6fadf64bb65f4c", "13933230199264843a282ca8c471e962b4c61c53dadf5" ], "stream": "location" }, "group2": { "soIds": [ "139332303660140b55563e1b34751a9496ecffb0c64a5", "139332304556888d068cef3e645fd803bb4d2a60a15ea" ], "stream": "location" } }, … }

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

COMPOSE: Stream Processing

"streams": { "proximity": {

"pre-filter": "{$group1.}!=null && {$group2.}!=null", "channels": {

"p": {

"current-value": "Math.sqrt(Math.pow({$group1.channels.latitude.current-value} - {$group2.channels.latitude.current-value}, 2) + Math.pow({$group1.channels.longitude.current-value} - {$group2.channels.longitude.current-value}, 2))", "type": "number"

}

},

"post-filter": "{$proximity.} == null || {$proximity.channels.p.current-value} != {$result.channels.p.current-value}" },

"near": {

"channels": {

"n": { "current-value": "{$proximity.channels.p.current-value} <= 0.0001",

"type": "boolean"

}

},

"post-filter": "{$near.} == null || {$near.channels.n.current-value} != {$result.channels.n.current-value}" }

}

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

COMPOSE: Security and Privacy

•  Unified and integrated security architecture –  Identity management –  Policy specifications

•  Data provenance •  Trust and reputation •  Secure information flow

–  Analysis and monitoring –  Instrumentation and reconfiguration

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

COMPOSE PUB/SUB

§  Support for MQTT and STOMP –  servIoTicy allows for the interaction with the platform

through protocols that are not HTTP/REST. –  Support for MQTT and STOMP.

§  They can be used in three different forms –  For cient/server interaction with servIoTicy, emulating the

behaviour of the REST API –  For data streams subscriptions: A client can subscribe to a

data stream and receive all the updates being send to a SO stream.

–  For actuations: requesting actions on devices. Actuations allow for the invocation of remote action on a device connected to the platform.

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

COMPOSE The Open Source parts

https://github.com/compose-eu servIoTicy IoT streaming made easy

COMPOSE SDKs http://www.servioticy.com

http://www.gluethings.com

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Available software

servIoTicy -  RESTful API for storing/retrieving sensor data (api.servioticy.com) -  MQTT and STOMP binding to REST -  ElasticSearch queries http://www.servioticy.com

glue.things -  Create users/Register smart objects -  NodeRED visual workflow editor http://www.gluethings.com

COMPOSE SDK -  Node.js & JavaScript libraries -  Native Android Library -  Cross platform (Titanium Appcelerator) -  Devices Libraries (Arduino, Flyport, SparkCores) https://github.com/compose-eu

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

SHOW TIME

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Connected Products Demo

§  Idea: Cross selling products 1.  Scan one can of soda 2.  Get content 3.  Share on facebook 4.  Scan one savoury snack right after 5.  Get a reward 6.  Get social and share the reward with a friend!

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Connected Devices Demo

§  Idea: Smart Street Lamp 1.  Street lamps come with NFC tags 2.  Scan lamp 3.  Get real time information 4.  Get actuation possibilities 5.  Get additional services (reporting status) 6.  Dashboard

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

COMPOSE SMART PRODUCT INTERACTION

§  Create the virtual identity of a product §  Make it recognizable §  Define streams of information to capture and

configuration §  User interaction

@EVRYTHNG | @webofthings © Evrythng Limited | 2014

Dominique Guinard Co-Founder & CTO [email protected] skype: mr_dom128

Thank you

Iker Larizgoitia Research Developer [email protected]

skype: iker.larizgoitia