현재 값을 가져오거나 동작 상태를 설정하는 등의 파라미터를 감지하고 제어
물리적(따라서 시간이 많이 소요되는) 프로세스의 호출이지만, 기존 플랫폼의 RPC와 같은 호출을 추상화하는 데 사용될 수 있음
알림, 이산 이벤트 또는 값의 스트림이 수신기에 비동기적으로 전송되는 통신의 푸시 모델에 사용
{
"@context": "https://www.w3.org/2022/wot/td/v1.1",
"id": "urn:uuid:0804d572-cce8-422a-bb7c-4412fcd56f06",
"title": "MyLampThing",
"securityDefinitions": {
"basic_sc": {"scheme": "basic", "in": "header"}
},
"security": "basic_sc",
"properties": {
"status": {
"type": "string",
"forms": [{"href": "https://mylamp.example.com/status"}]
}
},
"actions": {
"toggle": {
"forms": [{"href": "https://mylamp.example.com/toggle"}]
}
},
"events": {
"overheating": {
"data": {"type": "string"},
"forms": [{
"href": "https://mylamp.example.com/oh",
"subprotocol": "longpoll"
}]
}
}
}
{
"@context": [
"https://www.w3.org/2022/wot/td/v1.1",
{ "saref": "https://w3id.org/saref#" }
],
"id": "urn:uuid:300f4c4b-ca6b-484a-88cf-fd5224a9a61d",
"title": "MyLampThing",
"@type": "saref:LightSwitch",
"securityDefinitions": {
"basic_sc": {"scheme": "basic", "in": "header"}
},
"security": "basic_sc",
"properties": {
"status": {
"@type": "saref:OnOffState",
"type": "string",
"forms": [{
"href": "https://mylamp.example.com/status"
}]
}
},
"actions": {
"toggle": {
"@type": "saref:ToggleCommand",
"forms": [{
"href": "https://mylamp.example.com/toggle"
}]
}
},
"events": {
"overheating": {
"data": {"type": "string"},
"forms": [{
"href": "https://mylamp.example.com/oh"
}]
}
}
}
Vocabulary | Namespace IRI |
---|---|
Core | https://www.w3.org/2019/wot/td# |
Data Schema | https://www.w3.org/2019/wot/json-schema# |
Security | https://www.w3.org/2019/wot/security# |
Hypermedia Controls | https://www.w3.org/2019/wot/hypermedia# |
Vocabulary | Namespace IRI |
---|---|
Thing Model | https://www.w3.org/2022/wot/tm# |
{
"@context": ["https://www.w3.org/2022/wot/td/v1.1"],
"@type": "tm:ThingModel",
"title": "Lamp Thing Model",
"properties": {
"status": {
"description": "current status of the lamp (on|off)",
"type": "string",
"readOnly": true
}
},
"actions": {
"toggle": {
"description": "Turn the lamp on or off"
}
},
"events": {
"overheating": {
"description": "Lamp reaches a critical temperature (overheating)",
"data": {"type": "string"}
}
}
}
ㅋㅋ