4. The Blueprint
• Describe Things by many “facets”
• Describe Actions / Readings...
• by purpose
• by how to manipulate
• Make it easy to link APIs to this description
Friday, 26 July, 13
5. Sentrollers
• Sensors and Controllers
• The “Things” of the Internet of Things
• May not be very intelligent / powerful
• Purpose may vary based on user
Friday, 26 July, 13
6. Make clients
do the work
• sentrollers have to be simple
• let clients “figure it out”
• future proofing!
Friday, 26 July, 13
7. A game plan,
not the game!
• these are ideas
• not the specifics!
• lots of work to be done (sigh)...
Friday, 26 July, 13
8. The IoT @ Home
• My specific interest is the home
• Techniques could work in a larger scope
• Just FYI!
Friday, 26 July, 13
10. The big idea
• describe Things by “facet” sets
• let software automatically create interface
by introspecting facets
• novel devices will “just work”
• provide a core vocabulary...
• ... but make it extensible for new things!
Friday, 26 July, 13
11. Vocabulary (I)
highly abstract
• worker - does stuff
• sensor - senses stuff
• input - get data from humans
• output - present data to humans
• ... closed: 4 things, that’s it ...
Friday, 26 July, 13
12. Note: describe Things
by purpose, not use
• A toaster is a worker: it toasts bread
• It is not an input, even though it has
buttons!
• Buttons are there to help with toasting
Friday, 26 July, 13
13. Vocabulary (2)
abstract general
• appliance - a consumer appliance
• toy - something to play with
• security - part of a security system
• wearable - personal area network
• ... open ended ...
Friday, 26 July, 13
14. Vocabulary (3)
abstract specific
• tv
• toaster
• clothes-dryer
• clock-radio
• etc. etc. - totally open ended...
Friday, 26 July, 13
15. e.g. this describes
a Toaster
• worker
• appliance
• food-cooker
• toaster
Friday, 26 July, 13
30. Linked Data
• Describe data as triples:
• two objects and their relationship
• Use URLs to represent all those things
Friday, 26 July, 13
31. The big idea
• Create a document for each Thing
• describe facets and attributes
• use LD URLs for each of those
• link our JSON to that description
Friday, 26 July, 13
33. The definition
document
• e.g. /definitions/light
• lists all facets
• describes all attributes keyed on the exact
same names as the JSON!
• attribute description includes meaning,
interface (hints), units, etc...
Friday, 26 July, 13
34. More details?
• We won’t go into yet!
• This is a game plan, not the game
• A work in progress
Friday, 26 July, 13
37. Always about purpose
• Is it one thing?
• Or multiple things put together?
Friday, 26 July, 13
38. Oven & Stove
• An oven, and a stove
• ... model as two separate Things
Friday, 26 July, 13
39. Microwave + Clock
• Model as two separate Things also!
• Otherwise your microwave is an output
(the clock) and a worker (the cooking part)
• Not a useful model!
Friday, 26 July, 13
40. Can’t change API?
• If we can’t change the API to add @iot?
• If Thing has a unique URL...
• ... we can associate a description document
with it anyway!
Friday, 26 July, 13
41. Meta?
• What room is it in?
• Who owns it?
• Again:Thing URL → Additional Data
Friday, 26 July, 13
42. Trivial Things?
• e.g. Belkin WeMo
• can turn power on and off
• what is it? it depends what’s hooked up!
• Again:Thing URL → Additional Data
Friday, 26 July, 13
43. Get in touch!
David Janes
@dpjanes
davidjanes@davidjanes.com
http://imadeit.davidjanes.com/
Friday, 26 July, 13