td extended with iotschema org
play

TD extended with iotschema.org Darko Anicic, Michael Koster WoT F2F - PowerPoint PPT Presentation

Web of Things TD extended with iotschema.org Darko Anicic, Michael Koster WoT F2F Meeting Burlingame, USA Motivation: Thing Discovery TD Directory Need AirConditioner Problem Statement Discovery of Things suitable for a WoT


  1. Web of Things TD extended with iotschema.org Darko Anicic, Michael Koster WoT F2F Meeting Burlingame, USA

  2. Motivation: Thing Discovery TD Directory Need AirConditioner • Problem Statement – Discovery of Things suitable for a WoT application; – Interop client can discover Things in order to dynamically adapt applications to changes, e.g., to replace malfunctioning sensor with an equivalent one;

  3. Motivation: Thing Discovery TD Directory MyAirConditionerP1 TD Need AirConditioner • Problem Statement – Discovery of Things suitable for a WoT application; – Interop client can discover Things in order to dynamically adapt applications to changes, e.g., to replace malfunctioning sensor with an equivalent one;

  4. Motivation: Thing Discovery TD Directory AirConditioner TD Need AirConditioner • Problem Statement – Discovery of Things suitable for a WoT application; – Interop client can discover Things in order to dynamically adapt applications to changes, e.g., to replace malfunctioning sensor with an equivalent one;

  5. Air Conditioner Uniquely Identifiable

  6. Interaction Patterns of AirConditioner Capability

  7. Overview IOT SCHEMA

  8. Narrow Waist in System Design Many Applications. App App App App Local and Remote Web of Semantic Interoperability Common Things (Software Adaptation) Infrastructure (Protocols, Internet of IP Networks Formats, and Things LAN/WAN (WiFi, Meta Models) Thread) Many Devices, Fairhair OCF dotdot Z-Wave Different Ecosystems

  9. What needs to be built? • Application level semantic interoperability – Well known formats to describe common affordances of connected things (What does it do? What can I control?) – A way to describe how to interact with connected things from different device ecosystems, which use similar protocols but diverse data models – Enable easy implementation of Bridges, Libraries, Translators, Mappings, Bindings, Proxies

  10. Layers in the Semantic Stack Diverse Interoperable Applications Applications Applications iotschema.org, ontologies Semantic Vocab Web of Things Semantic Abstract Semantics W3C Thing Description, Narrow Waist hypermedia controls Concrete Protocols Diverse Device Ecosystems OCF, Zigbee, Z-Wave, Fairhair Devices IETF CoAP, CBOR, Link-Format Protocols, Formats Internet of Things Transport UDP/TCP Protocol Narrow Waist Networks WiFi, IPV6, Bluetooth

  11. Capability Abstraction • Connected things expose simple "traits" and functional affordances like REST resources, common command sets • A capability is an abstraction of something a connected thing can do, like measure temperature or switch on and off • Capability descriptions can be layered and composed for instances of connected things

  12. Examples of Capabilities Thing Capabilities Properties Type Actions Motion Motion Motion Boolean (read) Sensor Sensing Temperature Temperature Temperature Number (read) Sensing Light Switch SwitchState Boolean TurnOn TurnOff Light Level Control Level Number MoveToLevel TransitionTime Number MoveLevel StepLevel

  13. Different Layers of iotschema.org Capabilities Interaction Patterns Data Types

  14. Available Resources for iotschema • Current schema location: http://iotschema.org/ • A stable version should be moved to: http://iot.schema.org/ • GitHub repo: • https://github.com/iot-schema-collab • Working document and notes: • https://docs.google.com/document/d/1p8KIUEcQYse oPzvjtkfvVCNAXx3OfyuTUEReB3H2B5M/edit

  15. Overview TD RECIPES

  16. Motivation: Thing Discovery TD Directory AirConditioner TD Need AirConditioner • TD Directory: – Method: POST – URI: /td-lookup/sem – Payload: ?td a <http://iotschema.org/AirConditioner> . • For users familiar with SPARQL and semantic models

  17. Recipe • How to easily create WoT applications based on application templates • JSON-LD specification similar to Thing Description Interaction Patterns Discovery (Events, Properties, Actions) Script Interactions Generation (Event A Action B)

  18. Recipe Example Motion Detector Light Switch Turn a light on when motion is detected in a room. Ingredients Interactions MotionStatus Property SUBSCRIBE MotionStatus TurnOn Action UPDATE TurnOn or TurnOff Action UPDATE TurnOff

  19. Recipe Example Motion Detector Light Switch Turn a light on when motion is detected in a room. Ingredients Interactions MotionStatus Property SUBSCRIBE MotionStatus TurnOn Action UPDATE TurnOn or TurnOff Action UPDATE TurnOff Light Switch Motion Sensor yes MotionStatus Prop. status TurnOnAction TurnOffAction no

  20. Recipe Example Motion Detector Light Switch Turn a light on when motion is detected in a room. Implemented TD Interaction Ingredients Interactions with W3C WoT Patterns & Script API iotschema.org MotionStatus Property SUBSCRIBE MotionStatus TurnOn Action UPDATE TurnOn or Capability TurnOff Action UPDATE TurnOff Light Switch Motion Sensor yes MotionStatus Prop. status TurnOnAction TurnOffAction no

  21. Recipe Example Motion Detector Light Switch Turn a light on when motion is detected in a room. Implemented TD Interaction Ingredients Interactions with W3C WoT Patterns & Script API iotschema.org MotionStatus Property SUBSCRIBE MotionStatus TurnOn Action UPDATE TurnOn or Capability TurnOff Action UPDATE TurnOff Discovery & Binding Light Switch Motion Sensor yes MotionStatus Prop. status TurnOn Action TurnOffAction no

  22. Recipe Example Motion Detector Light Switch Turn a light on when motion is detected in a room. Implemented TD Interaction Ingredients Interactions with W3C WoT Patterns & Script API iotschema.org MotionStatus Property SUBSCRIBE MotionStatus TurnOn Action UPDATE TurnOn or Capability TurnOff Action UPDATE TurnOff Discovery & Binding Light Switch Light Switch Motion Sensor Motion Sensor yes yes MotionStatus Prop. MotionStatus Prop. status status lightOn TurnOnAction Action TurnOffAction lightOffAction no no

  23. {"@context " :… Example Recipe "name" : " LightControlOnMotionDetection ", "recipeId" : ["http://www.w3.org/ns/td-recipe/LightControlOnMotionDetection"], "comment": " The recipe for detecting the motion in a room and controls the lamp in a room. ", "hasIngredient" : [ {"@type" : "ThingIngredient", "thingIngredient" : [ Interaction Patterns { "@type" : "http://iotschema.org/MotionDetected", "http://iotschema.org/Capability" : {"@type" : "http://iotschema.org/MotionControl"}}]}, {"@type" : "ThingIngredient", "thingIngredient" : [ { "@type": "http://iotschema.org/BinarySwitch", iotschema Capability "iot:Capability" : {"@type" : "http://iotschema.org/LightControl"}} ]}], "t2TInteraction":[ {"@type" : "T2TInteraction", "t2TInteractsWith":[ {"@type" : "http://iotschema.org/MotionDetected", Interactions "operation" : "Subscribe"}, {"@type" : "http://iotschema.org/BinarySwitch", "operation" : "Update"}]}]}

  24. Tool: Recipe Workbench

  25. Thank You! Questions please…

Recommend


More recommend