SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
M2M	
  Protocol	
  Interoperability	
  	
  
MQTT	
  CoAP	
  HTTP	
  REST	
  Bridge	
  Using	
  	
  
IoT	
  Toolkit	
  and	
  the	
  Smart	
  Object	
  API	
  
Michael	
  J	
  Koster	
  
michaeljohnkoster@gmail.com	
  
IoT	
  Toolkit	
  Goals	
  
•  Interoperability	
  –	
  Any	
  ApplicaJon,	
  any	
  connected	
  
object,	
  using	
  any	
  M2M	
  protocol	
  
•  Simple	
  API	
  arJculated	
  through	
  data	
  models	
  and	
  
high	
  level	
  informaJon	
  models	
  
•  PlaOorm-­‐as-­‐a-­‐Service	
  and	
  gateway	
  enabled	
  
•  Open	
  Source,	
  IPR-­‐free	
  	
  
•  Distributed,	
  event-­‐driven	
  applicaJon	
  soSware	
  
runs	
  anywhere	
  in	
  the	
  network	
  
•  Web	
  standard	
  protocols	
  and	
  best	
  pracJces	
  
API	
  
IoT	
  1.0	
  –	
  Things	
  Connected	
  to	
  Apps	
  
M2M	
  
CoAP	
  
M2M	
  
MQ	
  
M2M	
  
XMPP	
  
M2M	
  
HTTP	
  
App	
  
API	
  
App	
  
API	
  
App	
  
API	
  
App	
  
•  App	
  runs	
  on	
  single	
  service	
  –	
  
Single	
  Points	
  Of	
  Failure	
  
•  Each	
  app	
  wriYen	
  to	
  a	
  
custom	
  API	
  
•  Diverse	
  M2M	
  is	
  someJmes	
  
required	
  but	
  can	
  inhibit	
  
interoperability	
  
•  SoSware,	
  User	
  data,	
  and	
  
Things	
  are	
  trapped	
  in	
  Silos	
  
•  Difficult	
  to	
  connect	
  new	
  
types	
  of	
  things	
  and	
  deploy	
  
new	
  plaOorms	
  
•  Very	
  difficult	
  to	
  share	
  
resources	
  or	
  connect	
  across	
  
plaOorms	
  
•  Apps	
  are	
  not	
  network-­‐
effect	
  enabled	
  
Connected	
  Things,	
  Sensors,	
  Actuators,	
  Data	
  Sources	
  
IoT	
  2.0	
  –	
  Interoperability	
  
M2M	
  
CoAP	
   M2M	
  
MQTT	
  
M2M	
  
XMPP	
  
M2M	
  
HTTP	
  
Smart	
  Object	
  API	
  
IoT	
  Toolkit	
  
Discovery	
  
ApplicaJons	
  
Data	
  
Models	
  
•  Object	
  Model	
  
•  REST	
  +	
  Event	
  Model	
  
•  M2M	
  Abstrac9ons	
  
IoT	
  Toolkit	
  
Connected	
  Things,	
  Sensors,	
  Actuators,	
  Data	
  Sources	
  
Model	
  
Database	
  
•  Easy	
  to	
  deploy	
  new	
  
things	
  and	
  
applicaJons	
  using	
  data	
  
models	
  
•  Write	
  once,	
  run	
  
anywhere	
  soSware	
  
•  Any	
  app	
  to	
  any	
  thing	
  
via	
  any	
  M2M,	
  use-­‐
case	
  appropriate	
  M2M	
  	
  
•  Network	
  effect	
  
enabled	
   Machine	
  
Models	
  
Graph-­‐Structured,	
  Event-­‐Driven,	
  	
  
Real	
  Time	
  Distributed	
  ApplicaJons	
  
SO	
  
SO	
  
SO	
  
Gateways	
   Server	
  
Cloud	
  
Endpoints	
  
•  Sensors	
  
•  Devices	
  
ApplicaJon	
  	
  
Components	
  	
  
And	
  	
  
Resources	
  
Databases	
  
Registry	
  -­‐	
  Instances	
  
Repository	
  -­‐	
  Models	
  
Models	
  
• Discovery	
  
• Persistence	
  
• ReplicaJon	
  
• Resource	
  Access	
  
• Data	
  Models	
  	
  
• Sensor	
  Models	
  
• Machine	
  Models	
  
• Templates	
  
HTTP	
  
MQTT	
  
CoAP	
  
XMPP	
  
HTTP	
  
CoAP	
  
MQTT	
  
Smart	
  	
  
Objects	
  
What	
  Is	
  The	
  Smart	
  Object	
  API?	
  
•  Virtual	
  RepresentaJon	
  of	
  a	
  physical	
  Smart	
  Object	
  
•  Object	
  Model	
  –	
  Web	
  Object	
  EncapsulaJon	
  of	
  
properJes	
  
•  REST	
  API	
  using	
  JSON,	
  XML,	
  RDF,	
  core-­‐link-­‐format	
  
representaJons	
  
•  Data	
  Models	
  –	
  Linked	
  Data	
  descripJons,	
  
Resource	
  Discovery	
  and	
  Linkage	
  
•  Event	
  Model	
  –	
  Asynchronous	
  M2M	
  and	
  
applicaJon	
  soSware	
  event	
  handlers	
  
Object	
  Model	
  
Web	
  Object	
  EncapsulaJon	
  	
  
Smart	
  Object	
  
Web	
  protocol	
  interfaces,	
  also	
  M2M	
  e.g.	
  MQTT,	
  XMPP,	
  …	
  
Event	
  Model	
  
Links	
  data	
  with	
  acJons	
  
Pub-­‐Sub	
  and	
  event	
  handlers	
  
Encapsulates	
  local	
  soSware	
  	
  
components	
  and	
  handlers	
  
Self-­‐describing	
  data	
  model	
  
For	
  Resource	
  Discovery	
  	
  
and	
  Linkage,	
  RDF	
  and	
  core-­‐
link-­‐format	
  
Sensor	
  or	
  other	
  data	
  	
  
JSON,	
  XML,	
  data	
  feeds	
  
API	
  –	
  DescripJon	
  	
  
(Data	
  Model)	
  
•  Contains	
  graphs	
  describing	
  the	
  resource	
  data	
  
model	
  	
  
•  RDF	
  triples	
  in	
  many	
  popular	
  representaJons	
  
– create	
  (POST)	
  loads	
  a	
  graph	
  into	
  the	
  descripJon	
  
delete	
  (DELETE)	
  removes	
  a	
  graph	
  or	
  subgraph	
  from	
  
the	
  descripJon	
  
– set	
  (PUT)	
  updates	
  a	
  graph	
  or	
  subgraph	
  
– get	
  (GET)	
  returns	
  a	
  graph	
  or	
  subgraph	
  
•  SemanJc	
  Proxy	
  for	
  core-­‐link-­‐format	
  
compaJbility	
  
API	
  –	
  Observable	
  
Property	
  	
  
•  Represents	
  sensor	
  data	
  or	
  a	
  data	
  feed	
  
•  Can	
  be	
  JSON,	
  xml,	
  text,	
  or	
  other	
  content	
  type	
  
– create	
  (POST):	
  make	
  new	
  observable	
  property	
  
– delete	
  (DELETE)	
  remove	
  observable	
  property	
  
– set	
  (PUT)	
  update	
  ObservaJon	
  Value	
  or	
  data	
  feed	
  
– get	
  (GET)	
  returns	
  the	
  current	
  ObservaJon	
  Value	
  
•  Formats	
  for	
  embedded	
  Jme	
  +	
  locaJon	
  data	
  
API	
  –	
  Agent	
  
•  Container	
  for	
  Event	
  Handlers,	
  soSware	
  
components	
  invoked	
  within	
  the	
  local	
  context	
  of	
  a	
  
Smart	
  Object	
  
•  Observer	
  class	
  invokes	
  Event	
  Handler	
  code	
  in	
  the	
  
Agent	
  
•  Reference	
  ImplementaJon	
  
–  create	
  (POST)	
  make	
  a	
  new	
  code	
  object	
  instance	
  
•  handler	
  or	
  daemon	
  
–  delete	
  (DELETE)	
  remove	
  	
  code	
  instance	
  
–  set	
  (PUT)	
  updates	
  segng	
  of	
  a	
  code	
  instance	
  
–  get	
  (GET)	
  returns	
  segng	
  of	
  a	
  code	
  instance	
  
API	
  –	
  Observers	
  
•  Contains	
  graphs	
  which	
  define	
  the	
  nodes	
  and	
  
endpoints	
  of	
  event	
  driven	
  processing	
  
•  Publish,	
  Subscribe,	
  and	
  Event	
  Handler	
  paYerns	
  
•  Reference	
  ImplementaJon	
  
– create	
  (POST)	
  make	
  a	
  new	
  Observer	
  	
  
– set	
  (PUT)	
  update	
  an	
  Observer’s	
  segngs	
  
– get	
  (GET)	
  return	
  an	
  Observer’s	
  segngs	
  
– delete	
  (DELETE)	
  remove	
  an	
  Observer	
  
Smart	
  Object	
  Structure	
  –	
  Object	
  Model	
  
Smart	
  Object	
  
DescripJon	
  
ObservableProperty	
  
ObservableProperty…	
  
Agent	
  
Publisher	
  
Subscriber	
  
Handler	
  
PropertyOfInterest	
  
DescripJon	
  
Observers	
  
Handler	
  Instance	
  
Daemon	
  
Default	
  Property	
  
REST	
  API	
  
•  Python	
  API	
  –	
  Local	
  SoSware,	
  Agents	
  and	
  Handlers	
  
–  Resources	
  (objects)	
  are	
  hierarchical	
  properJes	
  of	
  other	
  
resources	
  
–  self.indoorTempValue = sensors.weather.indoor_temp.get()!
•  Web	
  API	
  –	
  HYp	
  and	
  CoAP	
  REST	
  Client	
  access,	
  MQTT	
  
topics	
  
–  Resources	
  are	
  organized	
  in	
  hierarchical	
  path	
  
–  GET http:my_server:8000/sensors/weather/indoor_temp!
–  GET coap:my_server:5683/sensors/weather/indoor_temp!
–  MQTT subscribe my_server:1883 /sensors/weather/indoor_temp!
•  Default	
  Property	
  
–  Returns	
  a	
  resource	
  associated	
  with	
  a	
  higher	
  level	
  resource	
  
–  GET	
  of	
  Smart	
  Object	
  returns	
  it’s	
  DescripJon;	
  GET	
  of	
  
Observable	
  Property	
  returns	
  it’s	
  ObservaJon	
  Value	
  
Protocol	
  Bridge	
  Examples	
  
•  MQTT	
  Endpoints	
  and	
  Bridge	
  using	
  Observer	
  
•  CoAP	
  Server	
  Endpoint	
  and	
  link-­‐data	
  Proxy	
  
MQTT	
  Observer	
  
MQTT	
  Broker	
  
REST	
  Endpoint	
  
ObservableProperty	
  
mqYObserver	
  
PUT	
   GET	
  
Publish	
  from	
  
data	
  producer	
  
Publish	
  From	
  
REST	
  API	
  
Publish	
  to	
  Other	
  
Subscribers	
  
SUB	
  
Publish	
  to	
  
REST	
  API	
  	
  
Connects	
  REST	
  Resource	
  to	
  MQTT	
  Topic	
  
Publish	
  and	
  Subscribe	
  
MQTT	
  Observer	
  
MQTT	
  Broker	
  
REST	
  Endpoint	
  
ObservableProperty	
  
mqYObserver	
  
PUT	
   GET	
  
Publish	
  from	
  
data	
  producer	
  
Publish	
  From	
  
REST	
  API	
  
Publish	
  to	
  Other	
  
Subscribers	
  
SUB	
  
Publish	
  to	
  
REST	
  API	
  	
  
Publisher	
  	
  
Publishes	
  REST	
  Resource	
  updates	
  to	
  the	
  broker	
  
MQTT	
  Observer	
  
MQTT	
  Broker	
  
REST	
  Endpoint	
  
ObservableProperty	
  
mqYObserver	
  
PUT	
   GET	
  
Publish	
  from	
  
data	
  producer	
  
Publish	
  From	
  
REST	
  API	
  
Publish	
  to	
  Other	
  
Subscribers	
  
SUB	
  
Publish	
  to	
  
REST	
  API	
  	
  
Subscriber	
  	
  
Makes	
  last	
  published	
  data	
  available	
  at	
  the	
  REST	
  endpoint	
  
MQTT	
  Observer	
  
MQTT	
  Broker	
  
REST	
  Endpoint	
  
ObservableProperty	
  
mqYObserver	
  
PUT	
   GET	
  
Publish	
  from	
  
data	
  producer	
  
Publish	
  From	
  
REST	
  API	
  
Publish	
  to	
  Other	
  
Subscribers	
  
SUB	
  
Publish	
  to	
  
REST	
  API	
  	
  
Pub+Sub	
  
Repeats	
  data	
  updates	
  in	
  both	
  direcJons	
  
MQTT	
  Bridge	
  to	
  mulJple	
  REST	
  endpoints	
  
MQTT	
  Broker	
  
REST	
  Endpoint	
  
ObservableProperty	
  
mqYObserver	
  
PUT	
   GET	
  
Publish	
  from	
  
data	
  producer	
  
Publish	
  to	
  Other	
  
Subscribers	
  
REST	
  Endpoint	
  
ObservableProperty	
  
mqYObserver	
  
PUT	
   GET	
  
CoAP	
  Server	
  Endpoint	
  
Smart	
  Object	
  
JSON	
  
JSON	
  
JSON	
  
RDF	
  
SemanJc	
  
Proxy	
  
RDF	
  
link-­‐format	
  
•  CompaJble	
  Object	
  
Models	
  
•  Observer	
  paYern	
  
•  Standard	
  JSON	
  
Resources	
  
•  SemanJc	
  Proxy	
  
exposes	
  stored	
  RDF	
  
via	
  core-­‐link-­‐format	
  
GET/POST	
  operaJons	
  
IoT	
  Toolkit	
  Protocol	
  Interoperability	
  
CoAP	
  
MQTT	
  
MQTT	
  
HTTP	
  
smartobjectservice.com	
  
ec2-­‐54-­‐200-­‐106-­‐25.us-­‐
west-­‐2.compute.amazonaws.com	
  
IoT	
  Toolkit	
  
•  IoT	
  Toolkit	
  is	
  a	
  reference	
  implementaJon	
  of	
  
the	
  Smart	
  Object	
  API	
  and	
  related	
  tools	
  
•  REST	
  API	
  with	
  real-­‐Jme	
  event	
  model	
  for	
  the	
  
Internet	
  of	
  Things	
  
•  Lightweight	
  server	
  that	
  can	
  run	
  on	
  small	
  
computers	
  e.g.	
  Raspberry	
  Pi,	
  ARM/Linux	
  PC,	
  
AWS	
  t1.micro	
  
•  M2M	
  using	
  HTTP,	
  MQTT,	
  and	
  CoAP,	
  others	
  
IoT	
  Toolkit	
  Project	
  Status	
  
•  Smart	
  Object	
  API	
  is	
  complete	
  and	
  stable	
  
•  IoT	
  Toolkit	
  Demo	
  	
  
•  M2M	
  interoperability:	
  MQTT,	
  CoAP,	
  HTTP	
  interfaces	
  	
  
•  Development	
  Roadmap	
  Examples	
  
–  Harden	
  code,	
  excepJon	
  handling,	
  API	
  Tests	
  
–  Scalable	
  server,	
  mulJ-­‐tenancy,	
  persistence	
  models	
  
–  Graph-­‐based	
  resource	
  access	
  control	
  
–  Data	
  model	
  API	
  for	
  resource	
  discovery	
  and	
  linkage	
  
–  XMPP	
  endpoint	
  and	
  proxy	
  for	
  XEP-­‐0060,	
  XEP-­‐0323,	
  
XEP-­‐0325	
  
–  Programming	
  model	
  UI	
  e.g.	
  Node	
  Red	
  
–  Web	
  UI	
  for	
  debug	
  and	
  demo,	
  applicaJons	
  
•  Navigator,	
  Dashboard,	
  AnalyJcs,	
  Graphs	
  and	
  Charts	
  

Mais conteúdo relacionado

Mais procurados

Web of Things to the edge
Web of Things to the edgeWeb of Things to the edge
Web of Things to the edgeMichael Koster
 
Hypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of ThingsHypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of ThingsMichael Koster
 
Research Topics in Machine Hypermedia
Research Topics in Machine HypermediaResearch Topics in Machine Hypermedia
Research Topics in Machine HypermediaMichael Koster
 
Hypermedia for Machine APIs
Hypermedia for Machine APIsHypermedia for Machine APIs
Hypermedia for Machine APIsMichael Koster
 
OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects
OMA LwM2M Workshop - Michael Koster, IPSO Alliance ObjectsOMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects
OMA LwM2M Workshop - Michael Koster, IPSO Alliance ObjectsOpen Mobile Alliance
 
Hypermedia design for machine apis
Hypermedia design for machine apisHypermedia design for machine apis
Hypermedia design for machine apisMichael Koster
 
Ietf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipsoIetf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipsoMichael Koster
 
IoT Toolkit and the Smart Object API Tutorial Introduction
IoT Toolkit and the Smart Object API Tutorial IntroductionIoT Toolkit and the Smart Object API Tutorial Introduction
IoT Toolkit and the Smart Object API Tutorial IntroductionMichael Koster
 
Smart objectapi tutorial 092013
Smart objectapi tutorial 092013Smart objectapi tutorial 092013
Smart objectapi tutorial 092013Michael Koster
 
Ipso application templates
Ipso application templatesIpso application templates
Ipso application templatesMichael Koster
 
A Modular Open Source Platform for IoT
A Modular Open Source Platform for IoTA Modular Open Source Platform for IoT
A Modular Open Source Platform for IoTMichael Koster
 
NGSIv2 Overview for Developers That Already Know NGSIv1
NGSIv2 Overview for Developers That Already Know NGSIv1NGSIv2 Overview for Developers That Already Know NGSIv1
NGSIv2 Overview for Developers That Already Know NGSIv1Fermin Galan
 
Restful Asynchronous Notification
Restful Asynchronous NotificationRestful Asynchronous Notification
Restful Asynchronous NotificationMichael Koster
 
Designing an API for the Internet of Things
Designing an API for the Internet of ThingsDesigning an API for the Internet of Things
Designing an API for the Internet of ThingsKevin Swiber
 
Ietf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipsoIetf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipsoMichael Koster
 

Mais procurados (16)

Web of Things to the edge
Web of Things to the edgeWeb of Things to the edge
Web of Things to the edge
 
Hypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of ThingsHypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of Things
 
Embedded to connected
Embedded to connectedEmbedded to connected
Embedded to connected
 
Research Topics in Machine Hypermedia
Research Topics in Machine HypermediaResearch Topics in Machine Hypermedia
Research Topics in Machine Hypermedia
 
Hypermedia for Machine APIs
Hypermedia for Machine APIsHypermedia for Machine APIs
Hypermedia for Machine APIs
 
OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects
OMA LwM2M Workshop - Michael Koster, IPSO Alliance ObjectsOMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects
OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects
 
Hypermedia design for machine apis
Hypermedia design for machine apisHypermedia design for machine apis
Hypermedia design for machine apis
 
Ietf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipsoIetf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipso
 
IoT Toolkit and the Smart Object API Tutorial Introduction
IoT Toolkit and the Smart Object API Tutorial IntroductionIoT Toolkit and the Smart Object API Tutorial Introduction
IoT Toolkit and the Smart Object API Tutorial Introduction
 
Smart objectapi tutorial 092013
Smart objectapi tutorial 092013Smart objectapi tutorial 092013
Smart objectapi tutorial 092013
 
Ipso application templates
Ipso application templatesIpso application templates
Ipso application templates
 
A Modular Open Source Platform for IoT
A Modular Open Source Platform for IoTA Modular Open Source Platform for IoT
A Modular Open Source Platform for IoT
 
NGSIv2 Overview for Developers That Already Know NGSIv1
NGSIv2 Overview for Developers That Already Know NGSIv1NGSIv2 Overview for Developers That Already Know NGSIv1
NGSIv2 Overview for Developers That Already Know NGSIv1
 
Restful Asynchronous Notification
Restful Asynchronous NotificationRestful Asynchronous Notification
Restful Asynchronous Notification
 
Designing an API for the Internet of Things
Designing an API for the Internet of ThingsDesigning an API for the Internet of Things
Designing an API for the Internet of Things
 
Ietf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipsoIetf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipso
 

Destaque

Semantic Interoperability as Key to IoT Platform Federation
Semantic Interoperability as Key to IoT Platform FederationSemantic Interoperability as Key to IoT Platform Federation
Semantic Interoperability as Key to IoT Platform Federationsymbiote-h2020
 
MQTT-REST Bridge using the Smart Object API
MQTT-REST Bridge using the Smart Object APIMQTT-REST Bridge using the Smart Object API
MQTT-REST Bridge using the Smart Object APIMichael Koster
 
Open Standards for IoT- GSC Workshop on IoT Atlanta 2013
Open Standards for IoT- GSC Workshop on IoT Atlanta 2013Open Standards for IoT- GSC Workshop on IoT Atlanta 2013
Open Standards for IoT- GSC Workshop on IoT Atlanta 2013Michael Koster
 
Tools for the Open Source Internet Of Things
Tools for the Open Source Internet Of ThingsTools for the Open Source Internet Of Things
Tools for the Open Source Internet Of ThingsMichael Koster
 
IoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for InteroperabilityIoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for InteroperabilityMichael Koster
 
IoT Toolkit and Smart Object API Tutorial Introduction
IoT Toolkit and Smart Object API Tutorial IntroductionIoT Toolkit and Smart Object API Tutorial Introduction
IoT Toolkit and Smart Object API Tutorial IntroductionMichael Koster
 
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013Michael Koster
 
The Network Effect - Open Source and the Internet Of Things - Helsinki 2013 K...
The Network Effect - Open Source and the Internet Of Things - Helsinki 2013 K...The Network Effect - Open Source and the Internet Of Things - Helsinki 2013 K...
The Network Effect - Open Source and the Internet Of Things - Helsinki 2013 K...Michael Koster
 
MQTT - REST Bridge using the Smart Object API
MQTT - REST Bridge using the Smart Object APIMQTT - REST Bridge using the Smart Object API
MQTT - REST Bridge using the Smart Object APIMichael Koster
 
A Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT InteroperabilityA Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT InteroperabilityMichael Koster
 
Personal Agency on the IoT
Personal Agency on the IoTPersonal Agency on the IoT
Personal Agency on the IoTMichael Koster
 

Destaque (13)

Semantic Interoperability as Key to IoT Platform Federation
Semantic Interoperability as Key to IoT Platform FederationSemantic Interoperability as Key to IoT Platform Federation
Semantic Interoperability as Key to IoT Platform Federation
 
MQTT-REST Bridge using the Smart Object API
MQTT-REST Bridge using the Smart Object APIMQTT-REST Bridge using the Smart Object API
MQTT-REST Bridge using the Smart Object API
 
Design patternsforiot
Design patternsforiotDesign patternsforiot
Design patternsforiot
 
Open Standards for IoT- GSC Workshop on IoT Atlanta 2013
Open Standards for IoT- GSC Workshop on IoT Atlanta 2013Open Standards for IoT- GSC Workshop on IoT Atlanta 2013
Open Standards for IoT- GSC Workshop on IoT Atlanta 2013
 
Tools for the Open Source Internet Of Things
Tools for the Open Source Internet Of ThingsTools for the Open Source Internet Of Things
Tools for the Open Source Internet Of Things
 
IoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for InteroperabilityIoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for Interoperability
 
IoT Toolkit and Smart Object API Tutorial Introduction
IoT Toolkit and Smart Object API Tutorial IntroductionIoT Toolkit and Smart Object API Tutorial Introduction
IoT Toolkit and Smart Object API Tutorial Introduction
 
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013
 
RESTful Notification
RESTful NotificationRESTful Notification
RESTful Notification
 
The Network Effect - Open Source and the Internet Of Things - Helsinki 2013 K...
The Network Effect - Open Source and the Internet Of Things - Helsinki 2013 K...The Network Effect - Open Source and the Internet Of Things - Helsinki 2013 K...
The Network Effect - Open Source and the Internet Of Things - Helsinki 2013 K...
 
MQTT - REST Bridge using the Smart Object API
MQTT - REST Bridge using the Smart Object APIMQTT - REST Bridge using the Smart Object API
MQTT - REST Bridge using the Smart Object API
 
A Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT InteroperabilityA Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT Interoperability
 
Personal Agency on the IoT
Personal Agency on the IoTPersonal Agency on the IoT
Personal Agency on the IoT
 

Semelhante a M2M Protocol Interoperability using IoT Toolkit

IoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for InteroperabilityIoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for InteroperabilityMichael Koster
 
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...Michael Koster
 
CCNA-Open-Platform-IoT
CCNA-Open-Platform-IoTCCNA-Open-Platform-IoT
CCNA-Open-Platform-IoTMichael Koster
 
MQTT REST Bridge using the Smart Object API
MQTT REST Bridge using the Smart Object APIMQTT REST Bridge using the Smart Object API
MQTT REST Bridge using the Smart Object APIMichael Koster
 
A Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT InteroperabilityA Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT InteroperabilityMichael Koster
 
Ietf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipsoIetf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipsoMichael Koster
 
REST APIs for an Internet of Things
REST APIs for an Internet of ThingsREST APIs for an Internet of Things
REST APIs for an Internet of ThingsMichael Koster
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiTiago Knoch
 
Arabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, IntroductionArabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, IntroductionJasonRafeMiller
 
ClojuTRE2015: Kekkonen - making your Clojure web APIs more awesome
ClojuTRE2015: Kekkonen - making your Clojure web APIs more awesomeClojuTRE2015: Kekkonen - making your Clojure web APIs more awesome
ClojuTRE2015: Kekkonen - making your Clojure web APIs more awesomeMetosin Oy
 

Semelhante a M2M Protocol Interoperability using IoT Toolkit (17)

IoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for InteroperabilityIoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for Interoperability
 
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...
 
CCNA-Open-Platform-IoT
CCNA-Open-Platform-IoTCCNA-Open-Platform-IoT
CCNA-Open-Platform-IoT
 
MQTT REST Bridge using the Smart Object API
MQTT REST Bridge using the Smart Object APIMQTT REST Bridge using the Smart Object API
MQTT REST Bridge using the Smart Object API
 
A Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT InteroperabilityA Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT Interoperability
 
Ietf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipsoIetf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipso
 
Ipso eclipse-summary
Ipso eclipse-summaryIpso eclipse-summary
Ipso eclipse-summary
 
Windows 8 Metro apps and the outside world
Windows 8 Metro apps and the outside worldWindows 8 Metro apps and the outside world
Windows 8 Metro apps and the outside world
 
REST APIs for an Internet of Things
REST APIs for an Internet of ThingsREST APIs for an Internet of Things
REST APIs for an Internet of Things
 
AWS IoT Deep Dive
AWS IoT Deep DiveAWS IoT Deep Dive
AWS IoT Deep Dive
 
Olist Architecture v2.0
Olist Architecture v2.0Olist Architecture v2.0
Olist Architecture v2.0
 
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
 
Vip2p
Vip2pVip2p
Vip2p
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
Arabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, IntroductionArabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, Introduction
 
L04 base patterns
L04 base patternsL04 base patterns
L04 base patterns
 
ClojuTRE2015: Kekkonen - making your Clojure web APIs more awesome
ClojuTRE2015: Kekkonen - making your Clojure web APIs more awesomeClojuTRE2015: Kekkonen - making your Clojure web APIs more awesome
ClojuTRE2015: Kekkonen - making your Clojure web APIs more awesome
 

Último

Bio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxBio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxnaveenithkrishnan
 
Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Shubham Pant
 
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024Jan Löffler
 
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfLESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfmchristianalwyn
 
Presentation2.pptx - JoyPress Wordpress
Presentation2.pptx -  JoyPress WordpressPresentation2.pptx -  JoyPress Wordpress
Presentation2.pptx - JoyPress Wordpressssuser166378
 
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSLESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSlesteraporado16
 
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsVision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsRoxana Stingu
 
Computer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteComputer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteMavein
 
Zero-day Vulnerabilities
Zero-day VulnerabilitiesZero-day Vulnerabilities
Zero-day Vulnerabilitiesalihassaah1994
 
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSTYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSedrianrheine
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...APNIC
 
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdfIntroduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdfShreedeep Rayamajhi
 

Último (12)

Bio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxBio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptx
 
Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024
 
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
 
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfLESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
 
Presentation2.pptx - JoyPress Wordpress
Presentation2.pptx -  JoyPress WordpressPresentation2.pptx -  JoyPress Wordpress
Presentation2.pptx - JoyPress Wordpress
 
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSLESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
 
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsVision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
 
Computer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteComputer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a Website
 
Zero-day Vulnerabilities
Zero-day VulnerabilitiesZero-day Vulnerabilities
Zero-day Vulnerabilities
 
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSTYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
 
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdfIntroduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdf
 

M2M Protocol Interoperability using IoT Toolkit

  • 1. M2M  Protocol  Interoperability     MQTT  CoAP  HTTP  REST  Bridge  Using     IoT  Toolkit  and  the  Smart  Object  API   Michael  J  Koster   michaeljohnkoster@gmail.com  
  • 2. IoT  Toolkit  Goals   •  Interoperability  –  Any  ApplicaJon,  any  connected   object,  using  any  M2M  protocol   •  Simple  API  arJculated  through  data  models  and   high  level  informaJon  models   •  PlaOorm-­‐as-­‐a-­‐Service  and  gateway  enabled   •  Open  Source,  IPR-­‐free     •  Distributed,  event-­‐driven  applicaJon  soSware   runs  anywhere  in  the  network   •  Web  standard  protocols  and  best  pracJces  
  • 3. API   IoT  1.0  –  Things  Connected  to  Apps   M2M   CoAP   M2M   MQ   M2M   XMPP   M2M   HTTP   App   API   App   API   App   API   App   •  App  runs  on  single  service  –   Single  Points  Of  Failure   •  Each  app  wriYen  to  a   custom  API   •  Diverse  M2M  is  someJmes   required  but  can  inhibit   interoperability   •  SoSware,  User  data,  and   Things  are  trapped  in  Silos   •  Difficult  to  connect  new   types  of  things  and  deploy   new  plaOorms   •  Very  difficult  to  share   resources  or  connect  across   plaOorms   •  Apps  are  not  network-­‐ effect  enabled   Connected  Things,  Sensors,  Actuators,  Data  Sources  
  • 4. IoT  2.0  –  Interoperability   M2M   CoAP   M2M   MQTT   M2M   XMPP   M2M   HTTP   Smart  Object  API   IoT  Toolkit   Discovery   ApplicaJons   Data   Models   •  Object  Model   •  REST  +  Event  Model   •  M2M  Abstrac9ons   IoT  Toolkit   Connected  Things,  Sensors,  Actuators,  Data  Sources   Model   Database   •  Easy  to  deploy  new   things  and   applicaJons  using  data   models   •  Write  once,  run   anywhere  soSware   •  Any  app  to  any  thing   via  any  M2M,  use-­‐ case  appropriate  M2M     •  Network  effect   enabled   Machine   Models  
  • 5. Graph-­‐Structured,  Event-­‐Driven,     Real  Time  Distributed  ApplicaJons   SO   SO   SO   Gateways   Server   Cloud   Endpoints   •  Sensors   •  Devices   ApplicaJon     Components     And     Resources   Databases   Registry  -­‐  Instances   Repository  -­‐  Models   Models   • Discovery   • Persistence   • ReplicaJon   • Resource  Access   • Data  Models     • Sensor  Models   • Machine  Models   • Templates   HTTP   MQTT   CoAP   XMPP   HTTP   CoAP   MQTT   Smart     Objects  
  • 6. What  Is  The  Smart  Object  API?   •  Virtual  RepresentaJon  of  a  physical  Smart  Object   •  Object  Model  –  Web  Object  EncapsulaJon  of   properJes   •  REST  API  using  JSON,  XML,  RDF,  core-­‐link-­‐format   representaJons   •  Data  Models  –  Linked  Data  descripJons,   Resource  Discovery  and  Linkage   •  Event  Model  –  Asynchronous  M2M  and   applicaJon  soSware  event  handlers  
  • 7. Object  Model   Web  Object  EncapsulaJon     Smart  Object   Web  protocol  interfaces,  also  M2M  e.g.  MQTT,  XMPP,  …   Event  Model   Links  data  with  acJons   Pub-­‐Sub  and  event  handlers   Encapsulates  local  soSware     components  and  handlers   Self-­‐describing  data  model   For  Resource  Discovery     and  Linkage,  RDF  and  core-­‐ link-­‐format   Sensor  or  other  data     JSON,  XML,  data  feeds  
  • 8. API  –  DescripJon     (Data  Model)   •  Contains  graphs  describing  the  resource  data   model     •  RDF  triples  in  many  popular  representaJons   – create  (POST)  loads  a  graph  into  the  descripJon   delete  (DELETE)  removes  a  graph  or  subgraph  from   the  descripJon   – set  (PUT)  updates  a  graph  or  subgraph   – get  (GET)  returns  a  graph  or  subgraph   •  SemanJc  Proxy  for  core-­‐link-­‐format   compaJbility  
  • 9. API  –  Observable   Property     •  Represents  sensor  data  or  a  data  feed   •  Can  be  JSON,  xml,  text,  or  other  content  type   – create  (POST):  make  new  observable  property   – delete  (DELETE)  remove  observable  property   – set  (PUT)  update  ObservaJon  Value  or  data  feed   – get  (GET)  returns  the  current  ObservaJon  Value   •  Formats  for  embedded  Jme  +  locaJon  data  
  • 10. API  –  Agent   •  Container  for  Event  Handlers,  soSware   components  invoked  within  the  local  context  of  a   Smart  Object   •  Observer  class  invokes  Event  Handler  code  in  the   Agent   •  Reference  ImplementaJon   –  create  (POST)  make  a  new  code  object  instance   •  handler  or  daemon   –  delete  (DELETE)  remove    code  instance   –  set  (PUT)  updates  segng  of  a  code  instance   –  get  (GET)  returns  segng  of  a  code  instance  
  • 11. API  –  Observers   •  Contains  graphs  which  define  the  nodes  and   endpoints  of  event  driven  processing   •  Publish,  Subscribe,  and  Event  Handler  paYerns   •  Reference  ImplementaJon   – create  (POST)  make  a  new  Observer     – set  (PUT)  update  an  Observer’s  segngs   – get  (GET)  return  an  Observer’s  segngs   – delete  (DELETE)  remove  an  Observer  
  • 12. Smart  Object  Structure  –  Object  Model   Smart  Object   DescripJon   ObservableProperty   ObservableProperty…   Agent   Publisher   Subscriber   Handler   PropertyOfInterest   DescripJon   Observers   Handler  Instance   Daemon   Default  Property  
  • 13. REST  API   •  Python  API  –  Local  SoSware,  Agents  and  Handlers   –  Resources  (objects)  are  hierarchical  properJes  of  other   resources   –  self.indoorTempValue = sensors.weather.indoor_temp.get()! •  Web  API  –  HYp  and  CoAP  REST  Client  access,  MQTT   topics   –  Resources  are  organized  in  hierarchical  path   –  GET http:my_server:8000/sensors/weather/indoor_temp! –  GET coap:my_server:5683/sensors/weather/indoor_temp! –  MQTT subscribe my_server:1883 /sensors/weather/indoor_temp! •  Default  Property   –  Returns  a  resource  associated  with  a  higher  level  resource   –  GET  of  Smart  Object  returns  it’s  DescripJon;  GET  of   Observable  Property  returns  it’s  ObservaJon  Value  
  • 14. Protocol  Bridge  Examples   •  MQTT  Endpoints  and  Bridge  using  Observer   •  CoAP  Server  Endpoint  and  link-­‐data  Proxy  
  • 15. MQTT  Observer   MQTT  Broker   REST  Endpoint   ObservableProperty   mqYObserver   PUT   GET   Publish  from   data  producer   Publish  From   REST  API   Publish  to  Other   Subscribers   SUB   Publish  to   REST  API     Connects  REST  Resource  to  MQTT  Topic   Publish  and  Subscribe  
  • 16. MQTT  Observer   MQTT  Broker   REST  Endpoint   ObservableProperty   mqYObserver   PUT   GET   Publish  from   data  producer   Publish  From   REST  API   Publish  to  Other   Subscribers   SUB   Publish  to   REST  API     Publisher     Publishes  REST  Resource  updates  to  the  broker  
  • 17. MQTT  Observer   MQTT  Broker   REST  Endpoint   ObservableProperty   mqYObserver   PUT   GET   Publish  from   data  producer   Publish  From   REST  API   Publish  to  Other   Subscribers   SUB   Publish  to   REST  API     Subscriber     Makes  last  published  data  available  at  the  REST  endpoint  
  • 18. MQTT  Observer   MQTT  Broker   REST  Endpoint   ObservableProperty   mqYObserver   PUT   GET   Publish  from   data  producer   Publish  From   REST  API   Publish  to  Other   Subscribers   SUB   Publish  to   REST  API     Pub+Sub   Repeats  data  updates  in  both  direcJons  
  • 19. MQTT  Bridge  to  mulJple  REST  endpoints   MQTT  Broker   REST  Endpoint   ObservableProperty   mqYObserver   PUT   GET   Publish  from   data  producer   Publish  to  Other   Subscribers   REST  Endpoint   ObservableProperty   mqYObserver   PUT   GET  
  • 20. CoAP  Server  Endpoint   Smart  Object   JSON   JSON   JSON   RDF   SemanJc   Proxy   RDF   link-­‐format   •  CompaJble  Object   Models   •  Observer  paYern   •  Standard  JSON   Resources   •  SemanJc  Proxy   exposes  stored  RDF   via  core-­‐link-­‐format   GET/POST  operaJons  
  • 21. IoT  Toolkit  Protocol  Interoperability   CoAP   MQTT   MQTT   HTTP   smartobjectservice.com   ec2-­‐54-­‐200-­‐106-­‐25.us-­‐ west-­‐2.compute.amazonaws.com  
  • 22. IoT  Toolkit   •  IoT  Toolkit  is  a  reference  implementaJon  of   the  Smart  Object  API  and  related  tools   •  REST  API  with  real-­‐Jme  event  model  for  the   Internet  of  Things   •  Lightweight  server  that  can  run  on  small   computers  e.g.  Raspberry  Pi,  ARM/Linux  PC,   AWS  t1.micro   •  M2M  using  HTTP,  MQTT,  and  CoAP,  others  
  • 23. IoT  Toolkit  Project  Status   •  Smart  Object  API  is  complete  and  stable   •  IoT  Toolkit  Demo     •  M2M  interoperability:  MQTT,  CoAP,  HTTP  interfaces     •  Development  Roadmap  Examples   –  Harden  code,  excepJon  handling,  API  Tests   –  Scalable  server,  mulJ-­‐tenancy,  persistence  models   –  Graph-­‐based  resource  access  control   –  Data  model  API  for  resource  discovery  and  linkage   –  XMPP  endpoint  and  proxy  for  XEP-­‐0060,  XEP-­‐0323,   XEP-­‐0325   –  Programming  model  UI  e.g.  Node  Red   –  Web  UI  for  debug  and  demo,  applicaJons   •  Navigator,  Dashboard,  AnalyJcs,  Graphs  and  Charts