introduction to w3c web of thingsdifelice/iot/iot6.pdf · w3c web of things: wot working group the...
TRANSCRIPT
![Page 1: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/1.jpg)
Introduction to
W3C Web of Things
Prof. Marco Di Felice,
Luca Sciullo
Department of
Computer Science
and Engineering
![Page 2: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/2.jpg)
Outline
•Introduction
•W3C Web of Things
•WoT Store
•Demo time
2
![Page 3: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/3.jpg)
Internet of Things
When we talk about the Internet of Things, it’s not just
putting RFID tags on some dumb thing so we smart
people know where that dumb thing is. It’s about
embedding intelligence so things become smarter
and do more than they were proposed to do.”
Nicholas Negroponte
3
![Page 4: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/4.jpg)
Internet of Things: Communication
4https://www.postscapes.com/
![Page 5: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/5.jpg)
IoT interoperability: example
5
HOME
CLOUD
https://icons8.com
![Page 6: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/6.jpg)
From IoT to WoT: open problems
•Data silos
•Privacy
•High Latency
•Dependency from third party
•Thing Discovery
6
![Page 7: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/7.jpg)
WoT interoperability: example
7
HOME
https://icons8.com
![Page 8: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/8.jpg)
WoT interoperability: example
8
HOME
https://icons8.com
![Page 9: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/9.jpg)
Why do we need Web of Things?
•Standard way for describing: things, interfaces, applications, environments, interactions and
security requirements
•Same meaning when exchanging data
•Easy way for interpreting data
•Lower costs of development and integration
9
![Page 10: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/10.jpg)
W3C Web of Things: WoT Working Group
The Web of Things seeks to counter the fragmentation of IoT through standard complementing building blocks (e.g., metadata and APIs) that enable easy integration across IoT platforms and application domains.
10
![Page 11: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/11.jpg)
11
W3C Thing Definition
An abstraction of a physical or virtual entity whose metadata and interfaces are described by a WoT Thing Description.
This entity can be:• an existing device• a logical component of a device • a local hardware component• logical entity (e.g., location)
Everything that has a Thing Descriptor is a Thing
![Page 12: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/12.jpg)
12
Building Blocks: Thing Descriptor
It is the entry point of a thing and it consists of acollection of semantic metadata that describe itsinteraction patterns. It can have semantic annotationsto make data models machine understandable and aninteraction model based on WoT's Properties, Actions,and Events paradigm. Its default serialization is JSON-LD
LampName: MyLamp
StatusLocationVendorConsumption
ToggleDimBlink
OverHeating
Properties Actions Events
![Page 13: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/13.jpg)
13
Conceptional Architecture of a W3C Thing
![Page 14: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/14.jpg)
W3C WoT Architecture
14
![Page 15: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/15.jpg)
15
Building Blocks: Binding Templates
Problem: enable interactions with a myriad of different IoT Platforms
Solution: define multiple vocabularies (Binding Template) to describe communication between Things and provide extension points in the Thing Descriptor.
![Page 16: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/16.jpg)
16
Building Blocks: Scripting API
• It improves productivity
• It reduces the integration costs
• It enables portabilityfor application modules
WoT APIDiscoverProduceConsume…
ExposeThing APIStartStopSetActionHandler…
ConsumeThingInvokeActionReadPropertyWriteProperty…
Application Script
The WoT Scripting API is the runtime system forIoT applications.
![Page 17: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/17.jpg)
17
Servient
• Application: Thing business logic;
implement or using a script or in the firmware
• WoT Scripting API: contract
between applications and the runtime system (Optional
Component)
• WoT Runtime: contains Thing and
interaction model abstractions.
(Optional Component)
• Protocol Bindings:
implementations of Binding
templates, the actual network interface between things
• System API: things can access
local hardware or system services.
(out of scope of WoT standardization)
![Page 18: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/18.jpg)
18
Servient – exposing Web Thing
Servient exposes a Thing, making it available to the world
![Page 19: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/19.jpg)
19
Minimal Servient
![Page 20: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/20.jpg)
Client – consuming a Thing
Client consumes a Thing and it is now ready to interact with the Thing. It can for instance read a property, invoke an action or subscribe to an event.
![Page 21: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/21.jpg)
Minimal Client
Servient
Client retrieves the Thing Description in order to understand how to interact with the Thing, then invokes the "move" action to make the arm move
![Page 22: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/22.jpg)
WoT Store
WoT Store is a platform that enables the semantic discovery of applications for the W3C WoT,
by strictly adhering to the W3C architecture.
Main features:
•Semantic discovery of Thing Applications (TAs)
•Semantic discovery of Mashup Applications (MAs)
•Automatic deploy of TA software on Things
22
![Page 23: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/23.jpg)
Thing Application (TD) and Mashup Application (MA)
•Thing application: it is the source code that implements the behavior of a Thing, i.e. the list of properties, actions and events formally defined in its Thing Description.
•Mashup Applications: applications producing new outputs or providing new services from a set of existing Things
23
![Page 24: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/24.jpg)
UPDATE ALL
24
Automatic deploy of TA software on Things
WoT STORE enables the automatic installation and
execution of the application code on target Thing(s). This is implemented through an additional Thing search
engine, which allows users to issue semantic queries (e.g. indicating the Thing type and capabilities)
HTTP
COAP
MQTT
https://icons8.com
![Page 25: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/25.jpg)
UPDATE-ALL: Industrial use case
25
Room A
Room B
FACTORY
HTTP
HTTP
COAP
RS485 COAPRS485
RS485
Servient for RS485
Servient for RS485
RS485
![Page 26: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/26.jpg)
UPDATE-ALL: Industrial use case
26
Room A
Room B
FACTORY
HTTP
HTTP
COAP
RS485 COAPRS485
RS485
Update all the Actuators speaking RS485 that are in Room A
Servient for RS485
Servient for RS485
RS485
![Page 27: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/27.jpg)
UPDATE-ALL: Industrial use case
27
Room A
Room B
FACTORY
HTTP
HTTP
COAP
RS485 COAPRS485
RS485
Servient for RS485
Servient for RS485
RS485
Update all the RED Actuators
![Page 28: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/28.jpg)
UPDATE-ALL: Industrial use case
28
Room A
Room B
FACTORY
HTTP
HTTP
COAP
RS485 COAPRS485
RS485
Servient for RS485
Servient for RS485
RS485
Update all the Actuators
![Page 29: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/29.jpg)
DemoServient for Sensor
Mashup subscribes to sensor's events. If gets a temperature value below a threshold, then it invokes an action on the buzzer to make it play.
MashupServient for Buzzer
if temperature value < threshold
![Page 30: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/30.jpg)
Understand the programming flow with node-wot
30
3. Retrieve the Thing Description
2. Instantiate and run a servient
1.Install node-wot as a library
4. Consume the Thing
5. Interact with the Thing
![Page 31: Introduction to W3C Web of Thingsdifelice/iot/iot6.pdf · W3C Web of Things: WoT Working Group The Web of Things seeks to counter the fragmentation of IoT through standard complementing](https://reader035.vdocuments.mx/reader035/viewer/2022062506/5f6e520e415b1a74925acbbc/html5/thumbnails/31.jpg)
www.unibo.it
Thank you for the attention!
Prof. Marco Di Felice, Luca Sciullo