SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
Building Blocks of
The Internet of Things
@ Home
Wednesday, 17 July, 13
IMO
David Janes
@dpjanes
davidjanes@davidjanes.com
http://imadeit.davidjanes.com/
July 2013
Wednesday, 17 July, 13
AKA “The Intranet of
Things”
Wednesday, 17 July, 13
Important!
The Internet of Machines
is just
The Internet with Machines!
Wednesday, 17 July, 13
The Building Blocks of
the Internet @ Home?
• Wi-Fi
• TCP/IP
• URLs / DNS
• HTTP
• HTML / JS / CSS
• JSON / XML
Wednesday, 17 July, 13
The same tech enables
The Intranet of Things
... more or less ...
Wednesday, 17 July, 13
What are the issues?
• Communication
• Discovery
• Control
• Interoperability
• Security
Wednesday, 17 July, 13
Communications
Wednesday, 17 July, 13
Communications
• How will things talk to things?
• How will we talk to things?
Wednesday, 17 July, 13
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
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
BLE purpose
• for small sensors and devices
• for personal area networks
• for health stuff ... scales, heart-rate
monitors, etc.
Wednesday, 17 July, 13
BLE use
• Think of it as “invisible wires”
• Will be controlled...
• directly by mobile devices
• indirectly through hubs
Wednesday, 17 July, 13
Discovery
Wednesday, 17 July, 13
“Google for my home”
• find what’s available...
• ... and what can I do with it?
Wednesday, 17 July, 13
Bonjour
• Lightweight Service Discovery
• Standard needed for specifying how to find
IoT services / APIs
Wednesday, 17 July, 13
Control
Wednesday, 17 July, 13
APIs
• IoT devices are controlled by APIs
• URLs ... from Bonjour Discovery
• HTTP
• JSON
Wednesday, 17 July, 13
REST
• URLs describe things ... not actions
• /api/light-2 ✓
• /api/light-2/off ✗
• Stateless
• ... lots of other stuff ...
Wednesday, 17 July, 13
HATEOAS
• Always explicitly use URLs ... not numbers
or special codes
• “devices” : [ “/api/light-1”,“/api/light-2” ] ✓
• “devices” : [ 1, 2 ] ✗
Wednesday, 17 July, 13
JSON
GET /api/devices
{
"devices" : [
"/api/light-1",
"/api/light-2"
]
}
Wednesday, 17 July, 13
JSON
GET /api/light-1
{
"on" : true,
"brightness" : 0.5,
"color" : "#FFFFFF"
}
Wednesday, 17 July, 13
JSON
PUT /api/light-1
{
"on" : false
}
Wednesday, 17 July, 13
Interoperability
Wednesday, 17 July, 13
Can...
• devices easily talk to each other?
• devices be controlled from one UI?
• “novel” devices be effortlessly introduced?
Wednesday, 17 July, 13
Standards?
• Fine grained / line level ... not on
• Everyone always does their own thing
Wednesday, 17 July, 13
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
The Semantic Web
• A kind of wide-open database, use what
you need, infinitely extendable
• Everything described by URLs
Wednesday, 17 July, 13
schema.org
• Vocabulary for describing things and
products (and more)
• e.g. this is aToshiba 42” FlatscreenTV
Wednesday, 17 July, 13
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
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
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
Security
Wednesday, 17 July, 13
We Can’t...
• Hide the devices / APIs
• Make everyone log into every device
• Get this wrong!
Wednesday, 17 July, 13
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
Wide open
• Sorry, I’ve got nothing
• This can’t be half-baked
Wednesday, 17 July, 13
Device Limitations
Wednesday, 17 July, 13
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
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
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
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
Get in touch!
David Janes
@dpjanes
davidjanes@davidjanes.com
http://imadeit.davidjanes.com/
Wednesday, 17 July, 13

Más contenido relacionado

Similar a Building Blocks for the Internet of Things @ Home

eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
PatrickCrompton
 
Engineering culture
Engineering cultureEngineering culture
Engineering culture
Pamela Fox
 
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Murat Yener
 

Similar a Building Blocks for the Internet of Things @ Home (20)

Ab(Using) the MetaCPAN API for Fun and Profit v2013
Ab(Using) the MetaCPAN API for Fun and Profit v2013Ab(Using) the MetaCPAN API for Fun and Profit v2013
Ab(Using) the MetaCPAN API for Fun and Profit v2013
 
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
eSynergy Andy Hawkins - Enabling DevOps through next generation configuration...
 
Native Javascript apps with PhoneGap
Native Javascript apps with PhoneGapNative Javascript apps with PhoneGap
Native Javascript apps with PhoneGap
 
Engineering culture
Engineering cultureEngineering culture
Engineering culture
 
GGUG:Practical DSL Design
GGUG:Practical DSL DesignGGUG:Practical DSL Design
GGUG:Practical DSL Design
 
My dotJS Talk
My dotJS TalkMy dotJS Talk
My dotJS Talk
 
PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010
 
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
 
7 things one should learn from iOS
7 things one should learn from iOS7 things one should learn from iOS
7 things one should learn from iOS
 
Programming the Real World: Javascript for Makers
Programming the Real World: Javascript for MakersProgramming the Real World: Javascript for Makers
Programming the Real World: Javascript for Makers
 
Puppet Keynote
Puppet KeynotePuppet Keynote
Puppet Keynote
 
From HTML5 to Hardware - Simonyi Conference Budapest April 15
From HTML5 to Hardware - Simonyi Conference Budapest April 15From HTML5 to Hardware - Simonyi Conference Budapest April 15
From HTML5 to Hardware - Simonyi Conference Budapest April 15
 
Panning for Gold: Sifting through Emerging Technologies to Find the Real Trea...
Panning for Gold: Sifting through Emerging Technologies to Find the Real Trea...Panning for Gold: Sifting through Emerging Technologies to Find the Real Trea...
Panning for Gold: Sifting through Emerging Technologies to Find the Real Trea...
 
PhoneGap in a Day
PhoneGap in a DayPhoneGap in a Day
PhoneGap in a Day
 
Using Erlang on the RaspberryPi to interact with the physical world
Using Erlang on the RaspberryPi to interact with the physical worldUsing Erlang on the RaspberryPi to interact with the physical world
Using Erlang on the RaspberryPi to interact with the physical world
 
Node.js Patterns and Opinions
Node.js Patterns and OpinionsNode.js Patterns and Opinions
Node.js Patterns and Opinions
 
OpenSSL rands (fork-safe)
OpenSSL rands (fork-safe)OpenSSL rands (fork-safe)
OpenSSL rands (fork-safe)
 
Introduction to node.js by Ran Mizrahi @ Reversim Summit
Introduction to node.js by Ran Mizrahi @ Reversim SummitIntroduction to node.js by Ran Mizrahi @ Reversim Summit
Introduction to node.js by Ran Mizrahi @ Reversim Summit
 
DevOps: Getting Started with Puppet on Windows
DevOps: Getting Started with Puppet on WindowsDevOps: Getting Started with Puppet on Windows
DevOps: Getting Started with Puppet on Windows
 
Proyecto OP^2: Open Pi Phone
Proyecto OP^2: Open Pi PhoneProyecto OP^2: Open Pi Phone
Proyecto OP^2: Open Pi Phone
 

Más de David Janes

Más de David Janes (11)

Writing Alexa Voice Skills With NodeJS (with a little IoT)
Writing Alexa Voice Skills With NodeJS (with a little IoT)Writing Alexa Voice Skills With NodeJS (with a little IoT)
Writing Alexa Voice Skills With NodeJS (with a little IoT)
 
IOTDB, Semantics and the Internet of Things
IOTDB, Semantics and the Internet of ThingsIOTDB, Semantics and the Internet of Things
IOTDB, Semantics and the Internet of Things
 
Atoms - Semantic Interoperability
Atoms - Semantic InteroperabilityAtoms - Semantic Interoperability
Atoms - Semantic Interoperability
 
Semantic and the Internet of Things
Semantic and the Internet of ThingsSemantic and the Internet of Things
Semantic and the Internet of Things
 
Semantic Metastandards will Unlock IoT Interoperability
Semantic Metastandards will Unlock IoT InteroperabilitySemantic Metastandards will Unlock IoT Interoperability
Semantic Metastandards will Unlock IoT Interoperability
 
Interoperability with Standardless IoT (Global IoT Day Wien)
Interoperability with Standardless IoT (Global IoT Day Wien)Interoperability with Standardless IoT (Global IoT Day Wien)
Interoperability with Standardless IoT (Global IoT Day Wien)
 
What a Thing API Should Look Like (Global IoT Day Wien)
What a Thing API Should Look Like (Global IoT Day Wien)What a Thing API Should Look Like (Global IoT Day Wien)
What a Thing API Should Look Like (Global IoT Day Wien)
 
Control all the Things with Node-JS
Control all the Things with Node-JSControl all the Things with Node-JS
Control all the Things with Node-JS
 
IOTDB - Semantic Metadata for the Internet of Things
IOTDB - Semantic Metadata for the Internet of ThingsIOTDB - Semantic Metadata for the Internet of Things
IOTDB - Semantic Metadata for the Internet of Things
 
IOTDB - #IoTDay 2014 Presentation
IOTDB - #IoTDay 2014 PresentationIOTDB - #IoTDay 2014 Presentation
IOTDB - #IoTDay 2014 Presentation
 
Connecting the Internet of Things to the Semantic Web
Connecting the Internet of Things to the Semantic WebConnecting the Internet of Things to the Semantic Web
Connecting the Internet of Things to the Semantic Web
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Building Blocks for the Internet of Things @ Home