A Modular Open Source Platform for Web Scale IoT Interoperability

Post on 29-Nov-2014

4,492 views 2 download

description

IoT is a macro instance of the M-V-C pattern. Open source software components built from IoT Toolkit, Node-RED, and Dojo Toolkit create an open source stack for the Internet of Things

transcript

A  Modular  Open  Source  Pla1orm    for  Web  Scale  IoT  Interoperability  

Michael  J  Koster  Open  Source  Internet  Of  Things  

IoT  Toolkit  

IoT  Web  Pla1orm  Features  

•  Interoperability  –  Any  ApplicaCon  to  Any  Connected  Thing  using  Any  M2M  Protocol  

•  Data  Models  drive  discovery  and  linking  •  Event  driven,  modular  applicaCon  soJware  •  Web  Programming  Model  •  Internet  and  Web  Standards  •  Web  and  Mobile  UI  hosCng  

IoT  2.0  –  Interoperability  

M2M  CoAP   M2M  

MQTT  M2M  SOA  

M2M  HTTP  

Smart  Object  API  IoT  Toolkit  

Discovery  

ApplicaCons   •  Web  Objects  •  REST  +  Event  Model  •  M2M  Abstrac9ons  •  Model  Driven  

Connected  Things,  Sensors,  Actuators,  Data  Sources  

Models    

•  Any  app  to  any  thing  via  any  M2M,  use-­‐case  decides  M2M    

•  Easy  to  deploy  new  things  and  applicaCons  using  data  models  

•  Write  once,  run  anywhere  soJware  

•  Network  effect  enabled  

IoT  Interoperability  

•  Ability  to  reuse  and  repurpose  resources  •  Choice  of  suitable  M2M  protocols  •  Reusable  soJware  components  •  Ease  of  integraCng  data  from  diverse  sources  •  Common  pla1orm  across  use  cases  •  Diverse  UI  pla1orms  •  Data  models  enable  machine  understanding  independent  of  M2M  protocols  

RDF  

SemanCc  and  Protocol  Interoperability  •  Separate  Control  Plane  and  Data  Plane  –  Common  Data  Models  

Enable  Diverse  M2M  Protocols  Between  Smart  Objects  

•  Any  Original  Catalog  or  SemanCc  Format  –  Smart  Object  stores  

RDFModel  Format,  translates  others  using  a  SemanCc  Proxy  

•  ApplicaCons  see  one  API  –  With  suitable  metadata  

representaCon   SSN  TSB   IPSO  

SemanCc  Proxy  

RDF  

Any  M2M  Protocol  Anywhere  

Common  Data  

Models  

Catalogs,  Diverse  Metadata  

Smart  Object  API  

ApplicaCon  

Smart  Object  API  

ApplicaCon  

Open  Source  IoT  Components  •  Open  Source  Components  Becoming  Available  –  IoT  Toolkit  –  REST  API  +  Data  Models  +  Events  – Node-­‐RED  –  Graphical  ApplicaCon  Tool  – Dojo  UI  Toolkit  –  UI  tools  – MosquiYo  MQTT  Broker  and  Client  –  RDFlib  with  SPARQL  –  Graph  storage    – Neo4J  Graph  Database  –  CoAP  Clients  and  Servers  

•  Sufficient  to  build  a  complete  Pla1orm  Stack  •  Components  allow  ApplicaCon  soJware  to  run  in  Local  Server,  Gateway,  and  Cloud  Service  

Model-­‐View-­‐Controller  Macro  PaYern  IoT  Feedback  Control  Loops  

•  Autonomic  and  cyberneCc  feedback  loops  

•  People’s  intenCons  take  part  in  the  cyberneCc  feedback  loop  

 

Model  

View   Controller  

Informs  

Updates  

Informs  Actuates  

Autonomic  Feedback  Loop  

CyberneCc  Feedback  Loop  

Model-­‐View-­‐Controller  Macro  PaYern  Mapping  to  Open  Source  SoJware  Components  

•  Model  –  Object  Models,  Data  Models  –  Storage,  Discovery,  Formats,  

Protocols,  Binding  to  Objects  

•  Controller  –  Complex  Flow  Graphs  of  

Event-­‐driven  modular  SW  –  Python  and  node.js    

•  View  –  UI  Toolkit  For  ApplicaCons  –  Binding  of  UI  Components  to  

Smart  Object  ProperCes  

IoT  Toolkit  

Node-­‐RED  

Dojo  Dashboard  

Node  Builder  

IPSO  TSB   SSN  

Catalogs  and  Repositories  

Sensors,  Things,  MQTT,  CoAP,  HTTP  REST  API  +  Events  

HTML5,  Mobile  Web  

•  Resource  Discovery  and  Linkage  

•  Builds  Smart  Object  Nodes  

•  Manages,  stores  Flow  Graph  

ApplicaCon  Development  Workflow  

IPSO  

TSB  

SSN  

Data  Models  and  Catalogs  

Node  Builder   Node-­‐RED   Dashboard  

Model   Controller   View  

•  Discovers  Resources  •  Makes  Object  Instances  

•  Builds  Applica9on  Flow  Graphs  

•  UI  Construc9on  

Run  Time  Deployment  Example  

TSB  

SSN  

IPSO  

Data  Models  and  Catalogs  

HTTP/LD  Node-­‐RED  

Node-­‐RED  CoAP/RD  

HTTP  

HTTP  +  MQTT  CoAP    

HTTP  

CoAP    HTTP  

Local  Control  Gateway  

Personal  Service  

IoT  Provider  

UI  Devices  

Gatewayas  a  

Service  

IoT  Toolkit  

IoT  Toolkit  

IoT  Toolkit  

CoAP    

CoAP    

IoT  Toolkit  Interoperability  Demo  

CoAP  

MQTT  

MQTT  

HTTP  

smartobjectservice.com  

ec2-­‐54-­‐200-­‐106-­‐25.us-­‐west-­‐2.compute.amazonaws.com  

Node-­‐RED  

Node-­‐RED  

Thank  You!  

This  PresentaCon:  hYp://www.slideshare.net/michaeljohnkoster/open-­‐source-­‐stack-­‐for-­‐io-­‐t    michaeljohnkoster@gmail.com  hYp://www.linkedin.com/pub/michael-­‐koster/2/36b/317/    hYp://iot-­‐datamodels.blogspot.com/