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
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
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
The charge will be completed by 2:15am. Is that OK? See you tomorrow.
Smart cars
“ ”
@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
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
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
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
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
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
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
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
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 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
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
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: 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
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