Your SlideShare is downloading. ×
Building Blocks for the Internet of Things @ Home
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Building Blocks for the Internet of Things @ Home

691

Published on

Thoughts on how Internet Standards - HTTP, TCP/IP, WiFi, Bonjour - can be used in conjunction with Semantic Web technologies to create the Internet of Things. The emphasis of this document is the home …

Thoughts on how Internet Standards - HTTP, TCP/IP, WiFi, Bonjour - can be used in conjunction with Semantic Web technologies to create the Internet of Things. The emphasis of this document is the home / LAN, hence "The Intranet of Things", but the broad themes are universally applicable.

Things that are up in the air are marked in read. Everything IMO.

Also see http://iotdb.org - a work in progress.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
691
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Building Blocks of The Internet of Things @ Home Wednesday, 17 July, 13
  • 2. IMO David Janes @dpjanes davidjanes@davidjanes.com http://imadeit.davidjanes.com/ July 2013 Wednesday, 17 July, 13
  • 3. AKA “The Intranet of Things” Wednesday, 17 July, 13
  • 4. Important! The Internet of Machines is just The Internet with Machines! Wednesday, 17 July, 13
  • 5. The Building Blocks of the Internet @ Home? • Wi-Fi • TCP/IP • URLs / DNS • HTTP • HTML / JS / CSS • JSON / XML Wednesday, 17 July, 13
  • 6. The same tech enables The Intranet of Things ... more or less ... Wednesday, 17 July, 13
  • 7. What are the issues? • Communication • Discovery • Control • Interoperability • Security Wednesday, 17 July, 13
  • 8. Communications Wednesday, 17 July, 13
  • 9. Communications • How will things talk to things? • How will we talk to things? Wednesday, 17 July, 13
  • 10. Protocols • Wi-Fi • TCP/IP • HTTP • JSON / XML ... for things to things • HTML ... for us to things • Bluetooth Low Energy (special case) Wednesday, 17 July, 13
  • 11. Bluetooth Low Energy • Ships in all modern iOS devices • Ships in many new Androids • 30m range (50m claimed) • Coin-cell-sized devices Wednesday, 17 July, 13
  • 12. BLE purpose • for small sensors and devices • for personal area networks • for health stuff ... scales, heart-rate monitors, etc. Wednesday, 17 July, 13
  • 13. BLE use • Think of it as “invisible wires” • Will be controlled... • directly by mobile devices • indirectly through hubs Wednesday, 17 July, 13
  • 14. Discovery Wednesday, 17 July, 13
  • 15. “Google for my home” • find what’s available... • ... and what can I do with it? Wednesday, 17 July, 13
  • 16. Bonjour • Lightweight Service Discovery • Standard needed for specifying how to find IoT services / APIs Wednesday, 17 July, 13
  • 17. Control Wednesday, 17 July, 13
  • 18. APIs • IoT devices are controlled by APIs • URLs ... from Bonjour Discovery • HTTP • JSON Wednesday, 17 July, 13
  • 19. REST • URLs describe things ... not actions • /api/light-2 ✓ • /api/light-2/off ✗ • Stateless • ... lots of other stuff ... Wednesday, 17 July, 13
  • 20. HATEOAS • Always explicitly use URLs ... not numbers or special codes • “devices” : [ “/api/light-1”,“/api/light-2” ] ✓ • “devices” : [ 1, 2 ] ✗ Wednesday, 17 July, 13
  • 21. JSON GET /api/devices { "devices" : [ "/api/light-1", "/api/light-2" ] } Wednesday, 17 July, 13
  • 22. JSON GET /api/light-1 { "on" : true, "brightness" : 0.5, "color" : "#FFFFFF" } Wednesday, 17 July, 13
  • 23. JSON PUT /api/light-1 { "on" : false } Wednesday, 17 July, 13
  • 24. Interoperability Wednesday, 17 July, 13
  • 25. Can... • devices easily talk to each other? • devices be controlled from one UI? • “novel” devices be effortlessly introduced? Wednesday, 17 July, 13
  • 26. Standards? • Fine grained / line level ... not on • Everyone always does their own thing Wednesday, 17 July, 13
  • 27. But we’re almost there! • Our standards stack gets us a long way • i.e.Wi-Fi, HTTP, REST, HATEOAS, JSON • We just need one last bit of translation Wednesday, 17 July, 13
  • 28. The Semantic Web • A kind of wide-open database, use what you need, infinitely extendable • Everything described by URLs Wednesday, 17 July, 13
  • 29. schema.org • Vocabulary for describing things and products (and more) • e.g. this is aToshiba 42” FlatscreenTV Wednesday, 17 July, 13
  • 30. iotdb.org • A work in progress! • Vocabulary for describing how to control IoT things • e.g. this is a light, this can be turned on and off, this has a brightness control, this has a color Wednesday, 17 July, 13
  • 31. JSON-LD • Links JSON documents to the Semantic Web • Too clumsy / difficult for the IoT • Developers are not likely to adopt ... • ... but the technique is perfect Wednesday, 17 July, 13
  • 32. The Rosetta Stone • Add a single definition term to APIs { "@iot" : "/definitions/light", "on" : true, "brightness" : 0.5, "color" : "#FFFFFF" } • Defines every term in the API semantically with well-known definitions • Another work in progress! Wednesday, 17 July, 13
  • 33. Security Wednesday, 17 July, 13
  • 34. We Can’t... • Hide the devices / APIs • Make everyone log into every device • Get this wrong! Wednesday, 17 July, 13
  • 35. Considerations • Some attributes can be read by everyone but only set by a few ... e.g. temperature • Current implementations are bad • AirPlay: wide open • UPnP: broken Wednesday, 17 July, 13
  • 36. Wide open • Sorry, I’ve got nothing • This can’t be half-baked Wednesday, 17 July, 13
  • 37. Device Limitations Wednesday, 17 July, 13
  • 38. Not that smart • We need information outside the device • e.g. Belkin WeMo: I can be on, I can be off • There’s so much more we need to know! Wednesday, 17 July, 13
  • 39. What is it really? • Consider the WeMo • connected to a table lamp • connected to a space heater • It doesn’t know! • Same interface, effectively / collectively a very different device Wednesday, 17 July, 13
  • 40. Where is it? • Is it in the kitchen? in the living room? • Both? ... e.g. a door open sensor • Many? ... e.g. a HVAC subsystem Wednesday, 17 July, 13
  • 41. Wide open • Assume there’s data that needs to be “outside” the device • But we don’t want to “go to the Internet” to control our house! • Open problem Wednesday, 17 July, 13
  • 42. Get in touch! David Janes @dpjanes davidjanes@davidjanes.com http://imadeit.davidjanes.com/ Wednesday, 17 July, 13

×