Web of things introduction

承翰 蔡
承翰 蔡Engineer at Foxconn
Web of Things
Roger
既生IoT 何生WoT
❖ WoT 是 IoT 的 Application Layer,
使用 Web 技術來打造 application。
❖ 以 URL 來表示 IoT 裝置,為 IoT 加
入 URL 的觀念,就是 Google 提出
的 Physical Web 計畫。
❖ 在物聯網之後,各種異質網路之
間的通訊與融合成為一種趨勢,
從而增加現實世界事物與其網路
相應事物之間的協同互動。
WoT vs IoT
Future
WoT Architecture
Layer 1 - Access
❖ Based on REST and
Resource Oriented
Architecture
❖ Extend with Pub/Sub
➢ MQTT,
➢ XMPP
➢ CoAP
Layer 2 - Find
❖ How do we enable users to find the right
service for their application?
❖ Enabling Smart Things to be indexed by
search engines.
➢ microdata
➢ schema.org
➢ Swagger
➢ JSON-LD
Layer 3 - Share
❖ How do we share smart things with friends?
❖ Social Access Controller (SAC) as proxy between clients and smart things.
Layer 4 - Compose
❖ How do we enable their easy
composition by non-specialists into
new applications?
❖ Physical Mashups
❖ Tools
➢ IFTTT
➢ Node-RED
➢ WoT-a-Mashup
Web Things integration patterns (1)
❖直接連接
➢ 每個裝置都有專屬的URL,直接與裝置連結
Web Things integration patterns (2)
❖基於Gateway連接
➢ 當裝置無法提供internet protocol時,只能先透過其他協定例如CoAP與Router連結後,再把資
料由Router回傳給Client端。
Web Things integration patterns (3)
❖基於雲端服務連接
➢ 與第2種類似,把Router替換成雲端服務,再透過雲端server與各個WoT連結。
Web Things requirements - Must Should
May❖A Web Thing must at least be an HTTP/1.1 server.
❖A Web Thing must have a root resource accessible via an HTTP URL.
❖A Web Thing must support GET, POST, PUT and DELETE HTTP verbs.
❖A Web Thing must implement HTTP status codes 200, 400, 500.
➢ 2XX Success. 4XX Client Error. 5XX Server Error.
❖A Web Thing must support JSON as default representation.
➢ include error message
❖A Web Thing must support GET on its root URL.
EXAMPLE : Valid root URLs
http://gateway.api.com/devices/TV
http://kitchen-raspberry.device-lab.co.uk
https://192.168.10.10:9002
https://kitchen:3000/fridge/root
Web Things requirements - Must Should
May❖A Web Thing should use secure HTTP connections (HTTPS).
❖A Web Thing should implement the WebSocket Protocol.
❖A Web Thing should support the Web Things model.
❖A Web Thing should return a 204 for all write operations.
➢ By default, all PUT, POST, and DELETE requests to a Web Thing should return a 204 NO
CONTENT response and no response body.
❖A Web Thing should provide a default human-readable documentation.
Web Things requirements - Must Should
May❖A Web Thing may support the HTTP OPTIONS verb for each of its resources.
❖A Web Thing may provide additional representation mechanisms (RDF, XML,
JSON-LD).
❖A Web Thing may offer a HTML-based user interface.
❖A Web Thing may provide precise information about the intended meaning of
individual parts of the model.
Web Thing Model
❖The Web Thing follows the Web Things Requirements.
❖The Web Things model is a contract between clients and Things in the IoT.
URL Description
{wt} The root resource URL
{wt}/model/ The model of a Web Thing
{wt}/properties/ The list of properties
{wt}/properties/{id} A specific property
{wt}/actions/ The list of actions
{wt}/actions/{id} A specific action
{wt}/actions/{id}/{actionId} A specific execution of an action
{wt}/.../ ...
end-points exaples
Web Thing Model - Common Constructs
EXAMPLE 2: Basic JSON payload
{
"id": "myCar", // required
"name": "My great car", // A short human-readable name for the resource.
"description": "This is such a great car.", // A human-readable description of the resource.
"createdAt": "2012-08-24T17:29:11.683Z", // Timestamp when this resource was created
"updatedAt": "2012-08-24T17:29:11.683Z", // Timestamp when this resource was last updated.
"tags": [ // An array of tags.
"cart",
"device",
"test"
],
"customFields": { // A JSON object with key-value pairs to store custom information about this resource.
"size": "20",
"color": "blue"
},
"links": { // A JSON object that lists the sub-resources that this resource links to.
"model": {
"link": "model/",
"title": "Model this Web Thing."
},
"properties": {
"link": "properties/",
"title": "Properties of this Web Thing."
},
"actions": {
"link": "actions/",
"title": "Actions of this Web Thing."
},
...
}
}
Example - Retrieve a Web Thing
EXAMPLE 8: Get the Root Resource of a Web Thing
--> REQUEST
GET {wt}
<-- RESPONSE
200 OK
Link: <model/>; rel="model"
Link: <properties/>; rel="properties"
Link: <actions/>; rel="actions"
Link: <product/>; rel="product"
Link: <type/>; rel="type"
Link: <help/>; rel="help"
Link: <ui/>; rel="ui"
Link: <_myCustomLinkRelType/>; rel="_myCustomLinkRelType"
{
"id": "myCar",
"name": "My super great car",
"description": "This is such a great car.",
"createdAd": "2012-08-24T17:29:11.683Z",
"updatedAd": "2012-08-24T17:29:11.683Z",
"tags":["cart", "device", "test"],
"customFields":{
"size": "20",
"color":"blue"
}
}
Example - Update a Web Thing
EXAMPLE 9: Update my super great car
--> REQUEST
PUT {wt}
{
"name":"My really super great car"
}
<-- RESPONSE
204 NO CONTENT
Example - Retrieve a list of actions
EXAMPLE 15: List of actions
--> REQUEST
GET {wt}/actions
<-- RESPONSE
200 OK
Link: <http://webofthings.org/actions/upgradefirmware>; rel="type"
[
{
"id":"upgradeFirmware",
"name":"Upgrade Device Firmware"
},
{
"id":"reboot",
"name":"Reboot"
}
]
Example - Execute an action
EXAMPLE 17: Schedule a reboot
--> REQUEST
POST {wt}/actions/reboot
{
"delay":50,
"mode":"debug"
}
<-- RESPONSE
204 NO RESPONSE
Location: {wt}/actions/reboot/233
Q & A
chenghan780213@gmail.com
1 of 22

Recommended

Imagining the Web of Things by
Imagining the Web of ThingsImagining the Web of Things
Imagining the Web of ThingsDavid Keene
1.4K views17 slides
The Web of Things by
The Web of ThingsThe Web of Things
The Web of ThingsFrank Greco
944 views26 slides
The Web of Things in Practice by
The Web of Things in PracticeThe Web of Things in Practice
The Web of Things in PracticeDominique Guinard
2.8K views11 slides
EVRYTHNG: Concepts, technologies and applications for connecting physical obj... by
EVRYTHNG: Concepts, technologies and applications for connecting physical obj...EVRYTHNG: Concepts, technologies and applications for connecting physical obj...
EVRYTHNG: Concepts, technologies and applications for connecting physical obj...EVRYTHNG
10.1K views104 slides
5 Years of Web of Things Workshops by
5 Years of Web of Things Workshops5 Years of Web of Things Workshops
5 Years of Web of Things WorkshopsDominique Guinard
17.5K views24 slides
Web of Things - Connecting People and Objects on the Web by
Web of Things - Connecting People and Objects on the WebWeb of Things - Connecting People and Objects on the Web
Web of Things - Connecting People and Objects on the WebDominique Guinard
4.8K views44 slides

More Related Content

What's hot

Web of Things Application Architecture by
Web of Things Application ArchitectureWeb of Things Application Architecture
Web of Things Application ArchitectureDominique Guinard
22K views62 slides
ISWC 2013 Tutorial on the Web of Things by
ISWC 2013 Tutorial on the Web of ThingsISWC 2013 Tutorial on the Web of Things
ISWC 2013 Tutorial on the Web of Thingscarolninap
7K views193 slides
Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009 by
Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009
Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009Dominique Guinard
4.1K views31 slides
Physical Mashups in the Web-Home by
Physical Mashups in the Web-HomePhysical Mashups in the Web-Home
Physical Mashups in the Web-HomeDominique Guinard
2.9K views26 slides
The Web of Things: Enabling the Physical World to the Web by
The Web of Things: Enabling the Physical World to the WebThe Web of Things: Enabling the Physical World to the Web
The Web of Things: Enabling the Physical World to the WebAndreas Kamilaris
3.1K views77 slides
RESTifyng Physical Products by
RESTifyng Physical ProductsRESTifyng Physical Products
RESTifyng Physical ProductsVlad Trifa
1.3K views14 slides

What's hot(20)

ISWC 2013 Tutorial on the Web of Things by carolninap
ISWC 2013 Tutorial on the Web of ThingsISWC 2013 Tutorial on the Web of Things
ISWC 2013 Tutorial on the Web of Things
carolninap7K views
Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009 by Dominique Guinard
Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009
Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009
Dominique Guinard4.1K views
The Web of Things: Enabling the Physical World to the Web by Andreas Kamilaris
The Web of Things: Enabling the Physical World to the WebThe Web of Things: Enabling the Physical World to the Web
The Web of Things: Enabling the Physical World to the Web
Andreas Kamilaris3.1K views
RESTifyng Physical Products by Vlad Trifa
RESTifyng Physical ProductsRESTifyng Physical Products
RESTifyng Physical Products
Vlad Trifa1.3K views
Web of Things Book Launch by Vlad Trifa
Web of Things Book LaunchWeb of Things Book Launch
Web of Things Book Launch
Vlad Trifa889 views
Web of Things - Towards Open and Sharable Networks of Embedded Devices by Vlad Trifa
Web of Things - Towards Open and Sharable Networks of Embedded DevicesWeb of Things - Towards Open and Sharable Networks of Embedded Devices
Web of Things - Towards Open and Sharable Networks of Embedded Devices
Vlad Trifa10.5K views
WoT 2016 - Seventh International Workshop on the Web of Things by Simon Mayer
WoT 2016 - Seventh International Workshop on the Web of ThingsWoT 2016 - Seventh International Workshop on the Web of Things
WoT 2016 - Seventh International Workshop on the Web of Things
Simon Mayer2.4K views
EPC Cloud: Using the Web to Simplify the Global RFID Network by Dominique Guinard
EPC Cloud: Using the Web to Simplify the Global RFID NetworkEPC Cloud: Using the Web to Simplify the Global RFID Network
EPC Cloud: Using the Web to Simplify the Global RFID Network
Dominique Guinard5.3K views
Semantics for the Web of Things by Simon Mayer
Semantics for the Web of ThingsSemantics for the Web of Things
Semantics for the Web of Things
Simon Mayer1.8K views
IndianaJS - Building spatially aware web sites for the Web of Things by TECO Research Group
IndianaJS - Building spatially aware web sites for the Web of ThingsIndianaJS - Building spatially aware web sites for the Web of Things
IndianaJS - Building spatially aware web sites for the Web of Things
TECO Research Group1.7K views
Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W... by Andrei Ciortea
Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W...Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W...
Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W...
Andrei Ciortea372 views
The Web of Things - IoTExpo SF - May 2014 by Frank Greco
The Web of Things - IoTExpo SF - May 2014The Web of Things - IoTExpo SF - May 2014
The Web of Things - IoTExpo SF - May 2014
Frank Greco947 views
IoT and WoT (Internet of Things and Web of Things) by Jonathan Jeon
IoT and WoT (Internet of Things and Web of Things)IoT and WoT (Internet of Things and Web of Things)
IoT and WoT (Internet of Things and Web of Things)
Jonathan Jeon8.2K views
uBox A Distributed Resource Management Architecture for the Web-of-Things by Till Riedel
uBox A Distributed Resource Management Architecture for the Web-of-ThingsuBox A Distributed Resource Management Architecture for the Web-of-Things
uBox A Distributed Resource Management Architecture for the Web-of-Things
Till Riedel1.5K views

Viewers also liked

Node mcu x raspberrypi2 x mqtt by
Node mcu x raspberrypi2 x mqttNode mcu x raspberrypi2 x mqtt
Node mcu x raspberrypi2 x mqtt承翰 蔡
3.2K views12 slides
IoT開發平台NodeMCU by
IoT開發平台NodeMCUIoT開發平台NodeMCU
IoT開發平台NodeMCU承翰 蔡
1.4K views19 slides
The Web of Things - Giving physical products a digital voice. by
The Web of Things - Giving physical products a digital voice.The Web of Things - Giving physical products a digital voice.
The Web of Things - Giving physical products a digital voice.EVRYTHNG
3.7K views31 slides
Abstract pi by
Abstract piAbstract pi
Abstract pinipunmaster
9.3K views7 slides
IEEE 2015 Projects for M.Tech & B.Tech Embedded Systems, VLSI, Communication,... by
IEEE 2015 Projects for M.Tech & B.Tech Embedded Systems, VLSI, Communication,...IEEE 2015 Projects for M.Tech & B.Tech Embedded Systems, VLSI, Communication,...
IEEE 2015 Projects for M.Tech & B.Tech Embedded Systems, VLSI, Communication,...Maryala Srinivas
2.5K views13 slides
AWS IoT introduction by
AWS IoT introductionAWS IoT introduction
AWS IoT introduction承翰 蔡
2.4K views46 slides

Viewers also liked(16)

Node mcu x raspberrypi2 x mqtt by 承翰 蔡
Node mcu x raspberrypi2 x mqttNode mcu x raspberrypi2 x mqtt
Node mcu x raspberrypi2 x mqtt
承翰 蔡3.2K views
IoT開發平台NodeMCU by 承翰 蔡
IoT開發平台NodeMCUIoT開發平台NodeMCU
IoT開發平台NodeMCU
承翰 蔡1.4K views
The Web of Things - Giving physical products a digital voice. by EVRYTHNG
The Web of Things - Giving physical products a digital voice.The Web of Things - Giving physical products a digital voice.
The Web of Things - Giving physical products a digital voice.
EVRYTHNG3.7K views
IEEE 2015 Projects for M.Tech & B.Tech Embedded Systems, VLSI, Communication,... by Maryala Srinivas
IEEE 2015 Projects for M.Tech & B.Tech Embedded Systems, VLSI, Communication,...IEEE 2015 Projects for M.Tech & B.Tech Embedded Systems, VLSI, Communication,...
IEEE 2015 Projects for M.Tech & B.Tech Embedded Systems, VLSI, Communication,...
Maryala Srinivas2.5K views
AWS IoT introduction by 承翰 蔡
AWS IoT introductionAWS IoT introduction
AWS IoT introduction
承翰 蔡2.4K views
Pattern recognition Tutorial 2 by Aly Abdelkareem
Pattern recognition Tutorial 2Pattern recognition Tutorial 2
Pattern recognition Tutorial 2
Aly Abdelkareem1.9K views
Internet of Things, Innovation and India by Syam Madanapalli by Syam Madanapalli
Internet of Things, Innovation and India by Syam MadanapalliInternet of Things, Innovation and India by Syam Madanapalli
Internet of Things, Innovation and India by Syam Madanapalli
Syam Madanapalli23.6K views
A seminar report on Raspberry Pi by nipunmaster
A seminar report on Raspberry PiA seminar report on Raspberry Pi
A seminar report on Raspberry Pi
nipunmaster48.9K views
Smart Wireless Surveillance Monitoring using RASPBERRY PI by Krishna Kumar
Smart Wireless Surveillance Monitoring using RASPBERRY PISmart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PI
Krishna Kumar58.5K views
Internet of Things and its applications by Pasquale Puzio
Internet of Things and its applicationsInternet of Things and its applications
Internet of Things and its applications
Pasquale Puzio299.6K views
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g by Mohan Kumar G
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-gInternet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Mohan Kumar G622.5K views

Similar to Web of things introduction

Guillotina: The Asyncio REST Resource API by
Guillotina: The Asyncio REST Resource APIGuillotina: The Asyncio REST Resource API
Guillotina: The Asyncio REST Resource APINathan Van Gheem
1K views59 slides
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things... by
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...FIWARE
365 views22 slides
Building APIs in an easy way using API Platform by
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformAntonio Peric-Mazar
2.6K views88 slides
Hypermedia for Machine APIs by
Hypermedia for Machine APIsHypermedia for Machine APIs
Hypermedia for Machine APIsMichael Koster
1K views39 slides
CTS Conference Web 2.0 Tutorial Part 2 by
CTS Conference Web 2.0 Tutorial Part 2CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2Geoffrey Fox
5.9K views122 slides
Towards Interoperability between W3C Web of Things and NGSI-LD by
Towards Interoperability between W3C Web of Things and NGSI-LDTowards Interoperability between W3C Web of Things and NGSI-LD
Towards Interoperability between W3C Web of Things and NGSI-LDJosé Manuel Cantera Fonseca
159 views22 slides

Similar to Web of things introduction(20)

Guillotina: The Asyncio REST Resource API by Nathan Van Gheem
Guillotina: The Asyncio REST Resource APIGuillotina: The Asyncio REST Resource API
Guillotina: The Asyncio REST Resource API
Nathan Van Gheem1K views
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things... by FIWARE
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
FIWARE365 views
Building APIs in an easy way using API Platform by Antonio Peric-Mazar
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
Antonio Peric-Mazar2.6K views
CTS Conference Web 2.0 Tutorial Part 2 by Geoffrey Fox
CTS Conference Web 2.0 Tutorial Part 2CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2
Geoffrey Fox5.9K views
REST vs WS-*: Myths Facts and Lies by Paul Fremantle
REST vs WS-*: Myths Facts and LiesREST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and Lies
Paul Fremantle8.9K views
Session 2 - NGSI-LD primer & Smart Data Models | Train the Trainers Program by FIWARE
Session 2 - NGSI-LD primer & Smart Data Models | Train the Trainers ProgramSession 2 - NGSI-LD primer & Smart Data Models | Train the Trainers Program
Session 2 - NGSI-LD primer & Smart Data Models | Train the Trainers Program
FIWARE302 views
FIWARE Training: JSON-LD and NGSI-LD by FIWARE
FIWARE Training: JSON-LD and NGSI-LDFIWARE Training: JSON-LD and NGSI-LD
FIWARE Training: JSON-LD and NGSI-LD
FIWARE609 views
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T... by FIWARE
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
FIWARE164 views
Document Databases & RavenDB by Brian Ritchie
Document Databases & RavenDBDocument Databases & RavenDB
Document Databases & RavenDB
Brian Ritchie4.7K views
REST APIs for the Internet of Things by Michael Koster
REST APIs for the Internet of ThingsREST APIs for the Internet of Things
REST APIs for the Internet of Things
Michael Koster19.9K views
REST APIs for an Internet of Things by Michael Koster
REST APIs for an Internet of ThingsREST APIs for an Internet of Things
REST APIs for an Internet of Things
Michael Koster902 views
Consuming RESTful services in PHP by Zoran Jeremic
Consuming RESTful services in PHPConsuming RESTful services in PHP
Consuming RESTful services in PHP
Zoran Jeremic27.9K views
Consuming RESTful Web services in PHP by Zoran Jeremic
Consuming RESTful Web services in PHPConsuming RESTful Web services in PHP
Consuming RESTful Web services in PHP
Zoran Jeremic22.6K views
Lies you have been told about REST by darrelmiller71
Lies you have been told about RESTLies you have been told about REST
Lies you have been told about REST
darrelmiller71339 views

More from 承翰 蔡

Notes for AWS IoT by
Notes for AWS IoTNotes for AWS IoT
Notes for AWS IoT承翰 蔡
810 views26 slides
Node-red Chatbot module by
Node-red Chatbot moduleNode-red Chatbot module
Node-red Chatbot module承翰 蔡
238 views10 slides
Ipfs by
IpfsIpfs
Ipfs承翰 蔡
3K views27 slides
Bitcoin developer guide by
Bitcoin developer guideBitcoin developer guide
Bitcoin developer guide承翰 蔡
2.1K views85 slides
The 3rd generation blockchain by
The 3rd generation blockchainThe 3rd generation blockchain
The 3rd generation blockchain承翰 蔡
614 views21 slides
How to create ethereum token (A plan coin ico) by
How to create ethereum token (A plan coin ico)How to create ethereum token (A plan coin ico)
How to create ethereum token (A plan coin ico)承翰 蔡
499 views16 slides

More from 承翰 蔡(10)

Notes for AWS IoT by 承翰 蔡
Notes for AWS IoTNotes for AWS IoT
Notes for AWS IoT
承翰 蔡810 views
Node-red Chatbot module by 承翰 蔡
Node-red Chatbot moduleNode-red Chatbot module
Node-red Chatbot module
承翰 蔡238 views
Bitcoin developer guide by 承翰 蔡
Bitcoin developer guideBitcoin developer guide
Bitcoin developer guide
承翰 蔡2.1K views
The 3rd generation blockchain by 承翰 蔡
The 3rd generation blockchainThe 3rd generation blockchain
The 3rd generation blockchain
承翰 蔡614 views
How to create ethereum token (A plan coin ico) by 承翰 蔡
How to create ethereum token (A plan coin ico)How to create ethereum token (A plan coin ico)
How to create ethereum token (A plan coin ico)
承翰 蔡499 views
Arduino mqtt client introduction by 承翰 蔡
Arduino mqtt client introductionArduino mqtt client introduction
Arduino mqtt client introduction
承翰 蔡934 views
Webduino introduction by 承翰 蔡
Webduino introductionWebduino introduction
Webduino introduction
承翰 蔡1K views
MongoDB 3.0.0 vs 2.6.x vs 2.4.x Benchmark by 承翰 蔡
MongoDB 3.0.0 vs 2.6.x vs 2.4.x BenchmarkMongoDB 3.0.0 vs 2.6.x vs 2.4.x Benchmark
MongoDB 3.0.0 vs 2.6.x vs 2.4.x Benchmark
承翰 蔡7.4K views
Kimono sharing by 承翰 蔡
Kimono sharingKimono sharing
Kimono sharing
承翰 蔡779 views

Recently uploaded

EV Charging App Case by
EV Charging App Case EV Charging App Case
EV Charging App Case iCoderz Solutions
9 views1 slide
Introduction to Maven by
Introduction to MavenIntroduction to Maven
Introduction to MavenJohn Valentino
6 views10 slides
.NET Deserialization Attacks by
.NET Deserialization Attacks.NET Deserialization Attacks
.NET Deserialization AttacksDharmalingam Ganesan
5 views50 slides
Quality Assurance by
Quality Assurance Quality Assurance
Quality Assurance interworksoftware2
5 views6 slides
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile... by
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...Stefan Wolpers
42 views38 slides
Introduction to Gradle by
Introduction to GradleIntroduction to Gradle
Introduction to GradleJohn Valentino
6 views7 slides

Recently uploaded(20)

How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile... by Stefan Wolpers
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
Stefan Wolpers42 views
Bootstrapping vs Venture Capital.pptx by Zeljko Svedic
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptx
Zeljko Svedic15 views
tecnologia18.docx by nosi6702
tecnologia18.docxtecnologia18.docx
tecnologia18.docx
nosi67025 views
predicting-m3-devopsconMunich-2023-v2.pptx by Tier1 app
predicting-m3-devopsconMunich-2023-v2.pptxpredicting-m3-devopsconMunich-2023-v2.pptx
predicting-m3-devopsconMunich-2023-v2.pptx
Tier1 app12 views
Transport Management System - Shipment & Container Tracking by Freightoscope
Transport Management System - Shipment & Container TrackingTransport Management System - Shipment & Container Tracking
Transport Management System - Shipment & Container Tracking
Freightoscope 5 views
Generic or specific? Making sensible software design decisions by Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
JioEngage_Presentation.pptx by admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254558 views
Electronic AWB - Electronic Air Waybill by Freightoscope
Electronic AWB - Electronic Air Waybill Electronic AWB - Electronic Air Waybill
Electronic AWB - Electronic Air Waybill
Freightoscope 5 views
Airline Booking Software by SharmiMehta
Airline Booking SoftwareAirline Booking Software
Airline Booking Software
SharmiMehta9 views
AI and Ml presentation .pptx by FayazAli87
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptx
FayazAli8714 views
Top-5-production-devconMunich-2023.pptx by Tier1 app
Top-5-production-devconMunich-2023.pptxTop-5-production-devconMunich-2023.pptx
Top-5-production-devconMunich-2023.pptx
Tier1 app9 views
Introduction to Git Source Control by John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino7 views
aATP - New Correlation Confirmation Feature.pptx by EsatEsenek1
aATP - New Correlation Confirmation Feature.pptxaATP - New Correlation Confirmation Feature.pptx
aATP - New Correlation Confirmation Feature.pptx
EsatEsenek1205 views

Web of things introduction

  • 2. 既生IoT 何生WoT ❖ WoT 是 IoT 的 Application Layer, 使用 Web 技術來打造 application。 ❖ 以 URL 來表示 IoT 裝置,為 IoT 加 入 URL 的觀念,就是 Google 提出 的 Physical Web 計畫。 ❖ 在物聯網之後,各種異質網路之 間的通訊與融合成為一種趨勢, 從而增加現實世界事物與其網路 相應事物之間的協同互動。
  • 6. Layer 1 - Access ❖ Based on REST and Resource Oriented Architecture ❖ Extend with Pub/Sub ➢ MQTT, ➢ XMPP ➢ CoAP
  • 7. Layer 2 - Find ❖ How do we enable users to find the right service for their application? ❖ Enabling Smart Things to be indexed by search engines. ➢ microdata ➢ schema.org ➢ Swagger ➢ JSON-LD
  • 8. Layer 3 - Share ❖ How do we share smart things with friends? ❖ Social Access Controller (SAC) as proxy between clients and smart things.
  • 9. Layer 4 - Compose ❖ How do we enable their easy composition by non-specialists into new applications? ❖ Physical Mashups ❖ Tools ➢ IFTTT ➢ Node-RED ➢ WoT-a-Mashup
  • 10. Web Things integration patterns (1) ❖直接連接 ➢ 每個裝置都有專屬的URL,直接與裝置連結
  • 11. Web Things integration patterns (2) ❖基於Gateway連接 ➢ 當裝置無法提供internet protocol時,只能先透過其他協定例如CoAP與Router連結後,再把資 料由Router回傳給Client端。
  • 12. Web Things integration patterns (3) ❖基於雲端服務連接 ➢ 與第2種類似,把Router替換成雲端服務,再透過雲端server與各個WoT連結。
  • 13. Web Things requirements - Must Should May❖A Web Thing must at least be an HTTP/1.1 server. ❖A Web Thing must have a root resource accessible via an HTTP URL. ❖A Web Thing must support GET, POST, PUT and DELETE HTTP verbs. ❖A Web Thing must implement HTTP status codes 200, 400, 500. ➢ 2XX Success. 4XX Client Error. 5XX Server Error. ❖A Web Thing must support JSON as default representation. ➢ include error message ❖A Web Thing must support GET on its root URL. EXAMPLE : Valid root URLs http://gateway.api.com/devices/TV http://kitchen-raspberry.device-lab.co.uk https://192.168.10.10:9002 https://kitchen:3000/fridge/root
  • 14. Web Things requirements - Must Should May❖A Web Thing should use secure HTTP connections (HTTPS). ❖A Web Thing should implement the WebSocket Protocol. ❖A Web Thing should support the Web Things model. ❖A Web Thing should return a 204 for all write operations. ➢ By default, all PUT, POST, and DELETE requests to a Web Thing should return a 204 NO CONTENT response and no response body. ❖A Web Thing should provide a default human-readable documentation.
  • 15. Web Things requirements - Must Should May❖A Web Thing may support the HTTP OPTIONS verb for each of its resources. ❖A Web Thing may provide additional representation mechanisms (RDF, XML, JSON-LD). ❖A Web Thing may offer a HTML-based user interface. ❖A Web Thing may provide precise information about the intended meaning of individual parts of the model.
  • 16. Web Thing Model ❖The Web Thing follows the Web Things Requirements. ❖The Web Things model is a contract between clients and Things in the IoT. URL Description {wt} The root resource URL {wt}/model/ The model of a Web Thing {wt}/properties/ The list of properties {wt}/properties/{id} A specific property {wt}/actions/ The list of actions {wt}/actions/{id} A specific action {wt}/actions/{id}/{actionId} A specific execution of an action {wt}/.../ ... end-points exaples
  • 17. Web Thing Model - Common Constructs EXAMPLE 2: Basic JSON payload { "id": "myCar", // required "name": "My great car", // A short human-readable name for the resource. "description": "This is such a great car.", // A human-readable description of the resource. "createdAt": "2012-08-24T17:29:11.683Z", // Timestamp when this resource was created "updatedAt": "2012-08-24T17:29:11.683Z", // Timestamp when this resource was last updated. "tags": [ // An array of tags. "cart", "device", "test" ], "customFields": { // A JSON object with key-value pairs to store custom information about this resource. "size": "20", "color": "blue" }, "links": { // A JSON object that lists the sub-resources that this resource links to. "model": { "link": "model/", "title": "Model this Web Thing." }, "properties": { "link": "properties/", "title": "Properties of this Web Thing." }, "actions": { "link": "actions/", "title": "Actions of this Web Thing." }, ... } }
  • 18. Example - Retrieve a Web Thing EXAMPLE 8: Get the Root Resource of a Web Thing --> REQUEST GET {wt} <-- RESPONSE 200 OK Link: <model/>; rel="model" Link: <properties/>; rel="properties" Link: <actions/>; rel="actions" Link: <product/>; rel="product" Link: <type/>; rel="type" Link: <help/>; rel="help" Link: <ui/>; rel="ui" Link: <_myCustomLinkRelType/>; rel="_myCustomLinkRelType" { "id": "myCar", "name": "My super great car", "description": "This is such a great car.", "createdAd": "2012-08-24T17:29:11.683Z", "updatedAd": "2012-08-24T17:29:11.683Z", "tags":["cart", "device", "test"], "customFields":{ "size": "20", "color":"blue" } }
  • 19. Example - Update a Web Thing EXAMPLE 9: Update my super great car --> REQUEST PUT {wt} { "name":"My really super great car" } <-- RESPONSE 204 NO CONTENT
  • 20. Example - Retrieve a list of actions EXAMPLE 15: List of actions --> REQUEST GET {wt}/actions <-- RESPONSE 200 OK Link: <http://webofthings.org/actions/upgradefirmware>; rel="type" [ { "id":"upgradeFirmware", "name":"Upgrade Device Firmware" }, { "id":"reboot", "name":"Reboot" } ]
  • 21. Example - Execute an action EXAMPLE 17: Schedule a reboot --> REQUEST POST {wt}/actions/reboot { "delay":50, "mode":"debug" } <-- RESPONSE 204 NO RESPONSE Location: {wt}/actions/reboot/233

Editor's Notes

  1. http://model.webofthings.io/