Upgrade to Pro — share decks privately, control downloads, hide ads and more …


12a43b001bc8ad3bd1c4da9ebc32bacc?s=47 João Pinho
November 20, 2014


SOA for Building Automation


João Pinho

November 20, 2014


  1. SOA  for  Building  Automation        mail  -­‐  

     jpe.pinho@icodebox.net        blog  -­‐    pinho.icodebox.net   skype  -­‐    jpe.pinho   João  Pinho   MEIC-­‐T  Computer  Science   Smart  Environments  
  2. ¡  Building  Automation  System   §  KNX   §  LonWorks

      §  X10   ¡  Market  Needs:   §  EES  –  Web-­‐based  Enterprise  Energy  Management   §  EIS  –  Web-­‐based  Energy  Information  Systems  
  3.   ¡  Nowadays  there  are  a  huge  number  of  protocols

     and  vendor-­‐specific   devices  in  the  area  of  Building  Automation.     ¡  Technologies  such  as  X10  are  in  the  market  since  the  70’s,  and  since   then  many  things  have  evolved.     ¡  Such  diversity,  is  not  always  a  good  and  can  became  a  major   problem  when  homogeneity  is  a  matter  of  concern.  
  4. ¡  An  well  established  corporation  contracted  an  installation  of  X10

      for  their  entire  head  quarters  in  New  York  on  the  yearly  80’s,  some   decades  later  technologies  such  as  KNX  appeared  and  they   decided  to  hire  a  KNX  installation  for  their  new  building  in  San   Francisco.     ¡  But  when  the  KNX  installers  arrive  at  the  building  they  notice  that   the  building  already  has  some  LonWorks  sensors  scattered   across  some  of  the  offices.     ¡  Faced  with  this  scenario  the  building  managers  of  the  company,   have  now  three  distinct  systems  collecting  data  from  their   buildings,  which  are:  (i)  X10,  (ii)  KNX,  (iii)  LonWorks.    
  5. ¡  Development  of  a  Gateway  Driver  for  interaction  with  KNX

      devices.     ¡  The  Gateway  Driver  is  configurable  from  a  XML  file  containing  all   the  KNX  device  addresses  and  their  underlying  types.     ¡  The  Gateway  Driver  will  be  accessible  via  HTTP  by  exposing  a   REST  interface,  receiving  and  sending  serialized  JSON  data.     ¡  The  Web  Prototype  App  will  make  use  of  this  REST  interface  to   control  and  expose  the  Gateway  Driver  functionalities.    
  6. Core Services Gateway Drivers API Network / Link Layer DEVICES

    << Data Points >> KNX Gateway Driver X10 Gateway Driver ModBus Gateway Driver Other Gateway Driver SOABA API REST Service Application Configuration Connection Pooling Services History Data Data Acquisition Pattern Prediction Energy Consumption Building Automation Applications SOABA Manager Energy Meters Live Feed Meteo Station Live Feed Control Panel TCP/IP Serial Comm Serial Comm Transport Driver
  7. Gateway Driver API Data Sources Connectivity Protocol Abstraction Layer Driver

    1 Protocol 1 Driver 2 Protocol 2 Driver 3 Protocol 1 Driver N Protocol [1..N] Devices History Data Document Users Data External Sources DataPoint DataPoint DataPoint DataPoint W R W R W - Write Data Point R - Read Data Point
  8. Core Services Hardware Abstraction Layer Devices History Data Document Users

    Data External Sources RESTful Management Service (Data Points, Gateways) Application Level Services Building Automation Applications Field Level Automation Level Management Level Proposed Solution Gateway Drivers KNX Driver RESTful Management Service HTML5 Demo App of RESTful Base Management Service
  9. ¡  With  the  intention  of  evaluate  the  solution  and  also

     validate  the  proposed   architecture,   the   implemented   software   is   integrated   in   a   real-­‐world   setting:  the  IST  Taguspark  building.    
  10. ¡  The  project  is  publicly  available  at:   §  https://bitbucket.org/jpinho/soaba

      ¡  You  can  pull  a  copy  for  yourself  using:   §  git  clone  git@bitbucket.org:jpinho/soaba.git   ¡  Want  to  help,  talk  with  me  for  an  heads  up!  
  11. Let’s  see  it  working,  shall  we?     Questions  will

     be  answered  on  the  go!   ?