Upload
david-janes
View
117
Download
3
Embed Size (px)
DESCRIPTION
Citation preview
IOTDB.org•
The Internet of Things Database
Thursday, 3 April, 14
#iotdb
Thursday, 3 April, 14
10,000 ft view
Thursday, 3 April, 14
“Control the World”
• “Turn off all the lights in the basement”
• “Heat the stove to 350°F”
• “I’m going to bed” - turn of the lights, close the blinds, set the “at home” alarm
• “Watch Apple TV” - turn on the TV, set to HDM12, turn on Apple TV
Thursday, 3 April, 14
Solve “the Basket Full of Remotes Apps
Problem”
Thursday, 3 April, 14
Thursday, 3 April, 14
The IOTDB Database
• The IOTDB describes:
• how to control things
• what things are
• where things are
• … and eventually more
Thursday, 3 April, 14
IOTDB Code
• Uses the IOTDB Database
• Cross platform
• Node, iOS, Android, Python...
Thursday, 3 April, 14
Main Concepts
Thursday, 3 April, 14
Models
• A shared descriptions of things
• A Phillips Hue
• A WeMo
• A Bluetooth Smart kettle
• GitHub like updating model
Thursday, 3 April, 14
Places
• Where I put things
• Unique to me
• Lightly structured
• My Bedroom on the 2nd floor
• The kitchen
Thursday, 3 April, 14
Devices
• Unique to me
• Actual things - with a Model and Place(s)
• My Phillips Hue, in the front porch
• My Bluetooth Kettle, in the kitchen
Thursday, 3 April, 14
Attributes
• A vocabulary of how to control devices
• “on” - turn it on or off
• “channel” - the channel
• “temperature”…
• Also sensing and notification
Thursday, 3 April, 14
Facets
• A vocabulary of what devices do
• lighting
• climate control / heating / cooling
• appliance
• toy
• …
Thursday, 3 April, 14
“me” / my account
• Everyone gets their own IOTDB account which describes “their world”
• Share your world with others in a controlled fashion
Thursday, 3 April, 14
What it does
Thursday, 3 April, 14
Warning!Pseudocode
• This is what developers see
• End users will get apps, programs…
• Names starting with “_” are shorthands (don’t worry about it too much!)
Thursday, 3 April, 14
“Turn off the lights in the Kitchen”
iot .things() .room(“Kitchen”) .select(“lighting”) .set(“_on”, false)
Thursday, 3 April, 14
“Put the stove to 350”
iot .things() .named(“Kitchen Oven”) .set( “_temperature”, _fahrenheit(350) )
Thursday, 3 April, 14
Describes data
• pulse means heartbeats per second
• speed is speed in km/h
{ “pulse”: 130 “speed”: 6.7}
Thursday, 3 April, 14
What IOTDB is not
Thursday, 3 April, 14
Not a cloud service!
• The IOTDB doesn’t control things … it describes how to control things
• but we has software to use these descriptions
Thursday, 3 April, 14
Not (another) protocol!
• There’s lots of great protocols and efforts out there
• MQTT, CoAP, …
• Allseen, SkyNet, …
• Bluetooth Smart, ZigBee, Z-Wave
• The world doesn’t need another
Thursday, 3 April, 14
Thursday, 3 April, 14
Not just about the home
• Can describe anything you want
• The power of Linked Data
• Everything is IRIs
Thursday, 3 April, 14
Not Magic
• Something still has to do the heavy lifting!
• IOTDB describes how to operate things
• Software does the work (send Bluetooth or ZigBee messages, UPnP connects, etc.)
• Batteries included - we provide code
Thursday, 3 April, 14
Demos
Thursday, 3 April, 14
Connected OrphanageHome
Thursday, 3 April, 14
IOTDB website
Thursday, 3 April, 14
What Problems Does IOTDB Solve?
Thursday, 3 April, 14
Description
• Solid semantic description of all Things
• what it does
• how is does it
• where it is
• Interfaces can be built by Introspection
Thursday, 3 April, 14
Discovery
• Very tricky identity issues
• MAC address availability
• BLE UUID: vendors don’t play by rules
• Same IP on different NATted LANs
Thursday, 3 April, 14
Integration
• “Bypass Standards” - we’re in the Internet Video era
• This is how we solve the “Basket of Remotes” issue
Thursday, 3 April, 14
Composite Objects
• e.g. a Stove consists of many sub-things
• 4 burners
• a clock
• an oven
• an oven light
Thursday, 3 April, 14
Cross-platform
• Models encapsulate in JSON-LD how things work (&c)
• a small amount of glue JavaScript needed
• intended to go to mobile, especially Android & iOS
Thursday, 3 April, 14
Distribution
• Everything can be downloaded at will
• including Models!
• Models can be forked & merged
• github model
• Everyone controls their own “worldview”
Thursday, 3 April, 14
What I’m looking for
Thursday, 3 April, 14
IOT Enthusiasts
• Owners of WeMos, Lutrons, Bluetooth Smart, Quantified Self, SmartThings, …
• Looking to try something new
• People who are comfortable with Node
Thursday, 3 April, 14
Hardware Makers
• Who don’t want to write apps
Thursday, 3 April, 14
Community
• People passionate about the IOT
• Developers who want to work with (or with me)
Thursday, 3 April, 14
Where this going
Thursday, 3 April, 14
IOTDB.org website
• Alpha - users by invite only
• Beta - wider (but controlled) release
Thursday, 3 April, 14
Software
• Node-JS Release
• Desktop Application
• Android
• iOS
Thursday, 3 April, 14
There’s far more to the IOTDB than this
…for another time
Thursday, 3 April, 14
There’s far more to the IOTDB than this
…
Thursday, 3 April, 14
#iotdb
Thursday, 3 April, 14