The Dog Gateway
A SHORT INTRODUCTION
A brief overview on the Dog gateway, starting from the design principles and going deep into the gateway architecture and modules, with some application sample
http://dog-gateway.github.io/
Gateway A SHORT INTRODUCTION A brief overview on the Dog gateway, - - PowerPoint PPT Presentation
T he Dog Gateway A SHORT INTRODUCTION A brief overview on the Dog gateway, starting from the design principles and going deep into the gateway architecture and modules, with some application sample http://dog-gateway.github.io/ WIRELESS
A SHORT INTRODUCTION
A brief overview on the Dog gateway, starting from the design principles and going deep into the gateway architecture and modules, with some application sample
http://dog-gateway.github.io/
WIRELESS WIRED WIRED
4/3/2014 The Dog Gateway - Dario Bonino
2013/2014 Ambient intelligence: technology and design 3
D D D D D D D D D D D D Application Application Application Application Neutral representation Basic services API Protocol interfaces/drivers Data exchange Real time processing Intelligence Application (service, agent) Intelligence
2013/2014 Ambient intelligence: technology and design 4
D D D D D D D D
Domotic devices (switches, buttons, relays, sensors, meters, …) Domotic bus (wired, wireless)
GW
Bus-to-IP gateway Bus-to-serial gateway
GW
Ethernet, Wi-Fi, USB
User Interface
Mobile, Web, Home Display, Multi Touch, Accessibility, Natural language, …
Data analysis
ERP, Web services, Stream processors, Datawarehouse Dog Bundles Device abstraction, Event abstraction, State abstraction, Rules engine, …
User Interface User Interface Smart Applianc e
4/3/2014 The Dog Gateway - Dario Bonino
SINGLE POINT OF ACCESS SINGLE LANGUAGE / PROTOCOL FULLY INTEGRATED SYSTEM FLEXIBILITY EASY DEVELOPMENT (EXTERNAL APPLICATIONS) NETWORK-LEVEL INDEPENDENCE SUPPORT FOR MANY TECHNOLOGIES
SEGREGATION OF THE “PARTS” THAT ARE MOST LIKELY TO CHANGE, THUS PROTECTING OTHER COMPONENTS FROM EXTENSIVE MODIFICATION IF THE “PARTS” ARE CHANGED
4/3/2014 The Dog Gateway - Dario Bonino
NETWORK CHANGES IN TIME APPLICATION PROGRAMMING INTERFACE CHANGES IN FEATURES CHANGES IN PARADIGMS SINGLE SLOWLY EVOLVING
INFORMATION HIDING
TECHNOLOGY INDEPEDENT HOME MODELING Representing devices, appliances, furniture and home environments in a technology independent, yet actionable manner.
4/3/2014 The Dog Gateway - Dario Bonino
4/3/2014 The Dog Gateway - Dario Bonino
4/3/2014 The Dog Gateway - Dario Bonino
4/3/2014 The Dog Gateway - Dario Bonino
4/3/2014 The Dog Gateway - Dario Bonino
4/3/2014 The Dog Gateway - Dario Bonino
Sample Room
Lamp Switch
OnOffFunctionality OnNotification OffCommand OnOffNotification Functionality OffNotification OnOffState OnOffState hasState OnCommand hasFunctionality hasCommand hasCommand isIn isIn hasState hasFunctionality hasNotification hasNotification OnStateValue OffStateValue OffStateValue OnStateValue
4/3/2014 The Dog Gateway - Dario Bonino
THE GATEWAY
Architecture, technology and APIs
4/3/2014 The Dog Gateway - Dario Bonino
D D D D D D D A GW GW Application Dog IP-Network
Rest API
Wireless Protocol (e.g., ZigBee) Wired Protocol (e.g., KNX) e.g., /devices/lamp1/commands/on
Initiative) which facilitates:
– componentization of software modules and applications – assures remote management and interoperability – provides specifications, reference implementations (Eclipse Equinox, Apache Felix), test suites and certification
– Core – Drivers – Communication – Addons
4/3/2014 The Dog Gateway - Dario Bonino
Communication Core Addons Drivers
4/3/2014 The Dog Gateway - Dario Bonino
Communication: Rest API Core functions: house model, device model, unit of measure support, device management Addons: Rules, Historic Storage, … Drivers: Support to different technologies
4/3/2014 The Dog Gateway - Dario Bonino
Rest API Web Socket API Core Library Measure Library Stream Library Log Helper House Model Device Manager Monitor Admin Clock JAXB Library RXTX Rule Engine Event Store Xively Client KNX Z-Wave Echelon MyHome Texas ZigBee EnOcea n
4/3/2014 The Dog Gateway - Dario Bonino
http://dog.example.com:8080/admin/ui/index.html
PROGRAMMING DOG
Architecture, technology and APIs
– Devices – Environment – Rules
http://dog-gateway.github.io/rest-api.html
4/3/2014 The Dog Gateway - Dario Bonino
location, functionalities and configurations; – require execution of commands to existing devices; – monitor device statuses and measures in real-time;
4/3/2014 The Dog Gateway - Dario Bonino
4/3/2014 The Dog Gateway - Dario Bonino
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <dhc:dogHomeConfiguration> <dhc:controllables> <dhc:device domoticSystem="ELITE" id="oven1" class="ElectricalOven"> <dhc:description>A ElectricalOven instance named oven1</dhc:description> <dhc:isIn>kitchen</dhc:isIn> <dhc:pluggedIn>MainsPowerOutlet_p12_kitchen</dhc:pluggedIn> <dhc:controlFunctionality class="OnOffFunctionality"> <dhc:commands> <dhc:command name="on" class="OnCommand"/> <dhc:command name="off" class="OffCommand"/> </dhc:commands>
Resource: /devices
4/3/2014 The Dog Gateway - Dario Bonino
http://dog/devices /lamp1/commands/on
Resource: /devices/{device-id}/commands/{command-name}
4/3/2014 The Dog Gateway - Dario Bonino
http://dog/devices/lamp1/status
Resource: /devices/status Resource: /devices/{device-id}/status
{ “id" : “lamp1", "description" : " The lamp over the closet near to the livingroom armchair", "active" : true, "status":[ { “OnOffstate" : "on" } ] }
4/3/2014 The Dog Gateway - Dario Bonino
A lamp The Lamp near to the armchair
http://dog/devices/lamp1 { "description" : "The Lamp near to the armchair " }
information about the environment:
– insert, update or delete rooms; – insert, update or delete flats;
– GET http://www.mydog.com/en vironment/flats/flat/rooms
4/3/2014 The Dog Gateway - Dario Bonino
{ "rooms":[ { "id" : "kitchen", "class" : "Kitchen", "description" : "The best room in the house“ }, { "id" : "sam_bedroom", "class": "Bedroom“, "description" : "Sam's bedroom" } ] }
4/3/2014 The Dog Gateway - Dario Bonino
HANDS-ON
Architecture, technology and APIs