SlideShare ist ein Scribd-Unternehmen logo
1 von 22
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

Weitere ähnliche Inhalte

Was ist angesagt?

Web of Things Application Architecture
Web of Things Application ArchitectureWeb of Things Application Architecture
Web of Things Application ArchitectureDominique Guinard
 
ISWC 2013 Tutorial on the Web of Things
ISWC 2013 Tutorial on the Web of ThingsISWC 2013 Tutorial on the Web of Things
ISWC 2013 Tutorial on the Web of Thingscarolninap
 
Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009
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
 
Physical Mashups in the Web-Home
Physical Mashups in the Web-HomePhysical Mashups in the Web-Home
Physical Mashups in the Web-HomeDominique Guinard
 
The Web of Things: Enabling the Physical World to the Web
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
 
RESTifyng Physical Products
RESTifyng Physical ProductsRESTifyng Physical Products
RESTifyng Physical ProductsVlad Trifa
 
Web of Things Book Launch
Web of Things Book LaunchWeb of Things Book Launch
Web of Things Book LaunchVlad Trifa
 
Web of Things - Towards Open and Sharable Networks of Embedded Devices
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 DevicesVlad Trifa
 
WoT 2016 - Seventh International Workshop on the Web of Things
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 ThingsSimon Mayer
 
EPC Cloud: Using the Web to Simplify the Global RFID Network
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 NetworkDominique Guinard
 
Semantics for the Web of Things
Semantics for the Web of ThingsSemantics for the Web of Things
Semantics for the Web of ThingsSimon Mayer
 
IndianaJS - Building spatially aware web sites for the Web of Things
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 ThingsTECO Research Group
 
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...
Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W...Andrei Ciortea
 
The Web of Things - IoTExpo SF - May 2014
The Web of Things - IoTExpo SF - May 2014The Web of Things - IoTExpo SF - May 2014
The Web of Things - IoTExpo SF - May 2014Frank Greco
 
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)
IoT and WoT (Internet of Things and Web of Things)Jonathan Jeon
 
Social Sharing In a Web of Things
Social Sharing In a Web of ThingsSocial Sharing In a Web of Things
Social Sharing In a Web of ThingsDominique Guinard
 
IoT Interoperability: a Hub-based Approach
IoT Interoperability: a Hub-based ApproachIoT Interoperability: a Hub-based Approach
IoT Interoperability: a Hub-based ApproachMichael Blackstock
 
uBox A Distributed Resource Management Architecture for the Web-of-Things
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-ThingsTill Riedel
 
Decentralized internet
Decentralized  internet Decentralized  internet
Decentralized internet abhinavkeesari
 

Was ist angesagt? (20)

Web of Things Application Architecture
Web of Things Application ArchitectureWeb of Things Application Architecture
Web of Things Application Architecture
 
ISWC 2013 Tutorial on the Web of Things
ISWC 2013 Tutorial on the Web of ThingsISWC 2013 Tutorial on the Web of Things
ISWC 2013 Tutorial on the Web of Things
 
Towards the Web of Things: Web Mashups for the Real-World @ MEM 2009
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
 
Physical Mashups in the Web-Home
Physical Mashups in the Web-HomePhysical Mashups in the Web-Home
Physical Mashups in the Web-Home
 
The Web of Things: Enabling the Physical World to the Web
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
 
RESTifyng Physical Products
RESTifyng Physical ProductsRESTifyng Physical Products
RESTifyng Physical Products
 
Web of Things Book Launch
Web of Things Book LaunchWeb of Things Book Launch
Web of Things Book Launch
 
Web of Things - Towards Open and Sharable Networks of Embedded Devices
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
 
WoT 2016 - Seventh International Workshop on the Web of Things
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
 
EPC Cloud: Using the Web to Simplify the Global RFID Network
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
 
Semantics for the Web of Things
Semantics for the Web of ThingsSemantics for the Web of Things
Semantics for the Web of Things
 
IndianaJS - Building spatially aware web sites for the Web of Things
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
 
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...
Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W...
 
The Web of Things - IoTExpo SF - May 2014
The Web of Things - IoTExpo SF - May 2014The Web of Things - IoTExpo SF - May 2014
The Web of Things - IoTExpo SF - May 2014
 
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)
IoT and WoT (Internet of Things and Web of Things)
 
The Web of Things
The Web of ThingsThe Web of Things
The Web of Things
 
Social Sharing In a Web of Things
Social Sharing In a Web of ThingsSocial Sharing In a Web of Things
Social Sharing In a Web of Things
 
IoT Interoperability: a Hub-based Approach
IoT Interoperability: a Hub-based ApproachIoT Interoperability: a Hub-based Approach
IoT Interoperability: a Hub-based Approach
 
uBox A Distributed Resource Management Architecture for the Web-of-Things
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
 
Decentralized internet
Decentralized  internet Decentralized  internet
Decentralized internet
 

Andere mochten auch

Node mcu x raspberrypi2 x mqtt
Node mcu x raspberrypi2 x mqttNode mcu x raspberrypi2 x mqtt
Node mcu x raspberrypi2 x mqtt承翰 蔡
 
IoT開發平台NodeMCU
IoT開發平台NodeMCUIoT開發平台NodeMCU
IoT開發平台NodeMCU承翰 蔡
 
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.
The Web of Things - Giving physical products a digital voice.EVRYTHNG
 
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,...
IEEE 2015 Projects for M.Tech & B.Tech Embedded Systems, VLSI, Communication,...Maryala Srinivas
 
AWS IoT introduction
AWS IoT introductionAWS IoT introduction
AWS IoT introduction承翰 蔡
 
Raspberry pi based project abstracts
Raspberry pi based project abstractsRaspberry pi based project abstracts
Raspberry pi based project abstractsSoftroniics india
 
Pattern recognition Tutorial 2
Pattern recognition Tutorial 2Pattern recognition Tutorial 2
Pattern recognition Tutorial 2Aly Abdelkareem
 
Internet of Things, Innovation and India 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 MadanapalliSyam Madanapalli
 
Seminar Presentation on raspberry pi
Seminar Presentation on raspberry piSeminar Presentation on raspberry pi
Seminar Presentation on raspberry piGeorgekutty Francis
 
A seminar report on Raspberry Pi
A seminar report on Raspberry PiA seminar report on Raspberry Pi
A seminar report on Raspberry Pinipunmaster
 
Smart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PISmart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PIKrishna Kumar
 
Internet of Things and its applications
Internet of Things and its applicationsInternet of Things and its applications
Internet of Things and its applicationsPasquale Puzio
 
Internet-of-things- (IOT) - a-seminar - ppt - 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-gMohan Kumar G
 

Andere mochten auch (16)

Node mcu x raspberrypi2 x mqtt
Node mcu x raspberrypi2 x mqttNode mcu x raspberrypi2 x mqtt
Node mcu x raspberrypi2 x mqtt
 
IoT開發平台NodeMCU
IoT開發平台NodeMCUIoT開發平台NodeMCU
IoT開發平台NodeMCU
 
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.
The Web of Things - Giving physical products a digital voice.
 
Abstract pi
Abstract piAbstract pi
Abstract pi
 
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,...
IEEE 2015 Projects for M.Tech & B.Tech Embedded Systems, VLSI, Communication,...
 
AWS IoT introduction
AWS IoT introductionAWS IoT introduction
AWS IoT introduction
 
Raspberry pi based project abstracts
Raspberry pi based project abstractsRaspberry pi based project abstracts
Raspberry pi based project abstracts
 
Pattern recognition Tutorial 2
Pattern recognition Tutorial 2Pattern recognition Tutorial 2
Pattern recognition Tutorial 2
 
Internet of Things, Innovation and India 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
 
Seminar Presentation on raspberry pi
Seminar Presentation on raspberry piSeminar Presentation on raspberry pi
Seminar Presentation on raspberry pi
 
A seminar report on Raspberry Pi
A seminar report on Raspberry PiA seminar report on Raspberry Pi
A seminar report on Raspberry Pi
 
Web of things
Web of thingsWeb of things
Web of things
 
Smart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PISmart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PI
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Internet of Things and its applications
Internet of Things and its applicationsInternet of Things and its applications
Internet of Things and its applications
 
Internet-of-things- (IOT) - a-seminar - ppt - 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
 

Ähnlich wie Web of things introduction

Guillotina: The Asyncio REST Resource API
Guillotina: The Asyncio REST Resource APIGuillotina: The Asyncio REST Resource API
Guillotina: The Asyncio REST Resource APINathan Van Gheem
 
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 Global Summit - The Way Towards Interoperability between Web Of Things...FIWARE
 
Building APIs in an easy way using API Platform
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
 
Hypermedia for Machine APIs
Hypermedia for Machine APIsHypermedia for Machine APIs
Hypermedia for Machine APIsMichael Koster
 
CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2Geoffrey Fox
 
Towards Interoperability between W3C Web of Things and NGSI-LD
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
 
REST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and LiesREST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and LiesPaul Fremantle
 
Session 2 - NGSI-LD primer & Smart Data Models | Train the Trainers Program
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 ProgramFIWARE
 
FIWARE Training: JSON-LD and NGSI-LD
FIWARE Training: JSON-LD and NGSI-LDFIWARE Training: JSON-LD and NGSI-LD
FIWARE Training: JSON-LD and NGSI-LDFIWARE
 
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...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...FIWARE
 
Document Databases & RavenDB
Document Databases & RavenDBDocument Databases & RavenDB
Document Databases & RavenDBBrian Ritchie
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web DevelopmentRobert J. Stein
 
REST APIs for the Internet of Things
REST APIs for the Internet of ThingsREST APIs for the Internet of Things
REST APIs for the Internet of ThingsMichael Koster
 
REST APIs for an Internet of Things
REST APIs for an Internet of ThingsREST APIs for an Internet of Things
REST APIs for an Internet of ThingsMichael Koster
 
Consuming RESTful Web services in PHP
Consuming RESTful Web services in PHPConsuming RESTful Web services in PHP
Consuming RESTful Web services in PHPZoran Jeremic
 
Consuming RESTful services in PHP
Consuming RESTful services in PHPConsuming RESTful services in PHP
Consuming RESTful services in PHPZoran Jeremic
 
Lies you have been told about REST
Lies you have been told about RESTLies you have been told about REST
Lies you have been told about RESTdarrelmiller71
 

Ähnlich wie Web of things introduction (20)

Guillotina: The Asyncio REST Resource API
Guillotina: The Asyncio REST Resource APIGuillotina: The Asyncio REST Resource API
Guillotina: The Asyncio REST Resource API
 
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 Global Summit - The Way Towards Interoperability between Web Of Things...
 
Building APIs in an easy way using API Platform
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
 
Hypermedia for Machine APIs
Hypermedia for Machine APIsHypermedia for Machine APIs
Hypermedia for Machine APIs
 
CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2
 
Towards Interoperability between W3C Web of Things and NGSI-LD
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-LD
 
Always on! ... or not?
Always on! ... or not?Always on! ... or not?
Always on! ... or not?
 
REST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and LiesREST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and Lies
 
Always on! Or not?
Always on! Or not?Always on! Or not?
Always on! Or not?
 
Session 2 - NGSI-LD primer & Smart Data Models | Train the Trainers Program
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
 
REST easy with API Platform
REST easy with API PlatformREST easy with API Platform
REST easy with API Platform
 
FIWARE Training: JSON-LD and NGSI-LD
FIWARE Training: JSON-LD and NGSI-LDFIWARE Training: JSON-LD and NGSI-LD
FIWARE Training: JSON-LD and NGSI-LD
 
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...
Session 7 - Connecting to Legacy Systems, IoT and other Systems | Train the T...
 
Document Databases & RavenDB
Document Databases & RavenDBDocument Databases & RavenDB
Document Databases & RavenDB
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
REST APIs for the Internet of Things
REST APIs for the Internet of ThingsREST APIs for the Internet of Things
REST APIs for the Internet of Things
 
REST APIs for an Internet of Things
REST APIs for an Internet of ThingsREST APIs for an Internet of Things
REST APIs for an Internet of Things
 
Consuming RESTful Web services in PHP
Consuming RESTful Web services in PHPConsuming RESTful Web services in PHP
Consuming RESTful Web services in PHP
 
Consuming RESTful services in PHP
Consuming RESTful services in PHPConsuming RESTful services in PHP
Consuming RESTful services in PHP
 
Lies you have been told about REST
Lies you have been told about RESTLies you have been told about REST
Lies you have been told about REST
 

Mehr von 承翰 蔡

Notes for AWS IoT
Notes for AWS IoTNotes for AWS IoT
Notes for AWS IoT承翰 蔡
 
Node-red Chatbot module
Node-red Chatbot moduleNode-red Chatbot module
Node-red Chatbot module承翰 蔡
 
Bitcoin developer guide
Bitcoin developer guideBitcoin developer guide
Bitcoin developer guide承翰 蔡
 
The 3rd generation blockchain
The 3rd generation blockchainThe 3rd generation blockchain
The 3rd generation blockchain承翰 蔡
 
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)
How to create ethereum token (A plan coin ico)承翰 蔡
 
Arduino mqtt client introduction
Arduino mqtt client introductionArduino mqtt client introduction
Arduino mqtt client introduction承翰 蔡
 
Webduino introduction
Webduino introductionWebduino introduction
Webduino introduction承翰 蔡
 
MongoDB 3.0.0 vs 2.6.x vs 2.4.x Benchmark
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承翰 蔡
 
Kimono sharing
Kimono sharingKimono sharing
Kimono sharing承翰 蔡
 

Mehr von 承翰 蔡 (10)

Notes for AWS IoT
Notes for AWS IoTNotes for AWS IoT
Notes for AWS IoT
 
Node-red Chatbot module
Node-red Chatbot moduleNode-red Chatbot module
Node-red Chatbot module
 
Ipfs
IpfsIpfs
Ipfs
 
Bitcoin developer guide
Bitcoin developer guideBitcoin developer guide
Bitcoin developer guide
 
The 3rd generation blockchain
The 3rd generation blockchainThe 3rd generation blockchain
The 3rd generation blockchain
 
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)
How to create ethereum token (A plan coin ico)
 
Arduino mqtt client introduction
Arduino mqtt client introductionArduino mqtt client introduction
Arduino mqtt client introduction
 
Webduino introduction
Webduino introductionWebduino introduction
Webduino introduction
 
MongoDB 3.0.0 vs 2.6.x vs 2.4.x Benchmark
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
 
Kimono sharing
Kimono sharingKimono sharing
Kimono sharing
 

Kürzlich hochgeladen

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 

Kürzlich hochgeladen (20)

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 

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

Hinweis der Redaktion

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