Transcript

IoT  Buildout  

Tools,  Standards,  and  Best  Prac4ces  for  Building  Out  the  Internet  of  Things  

What  is  the  Internet  of  Things?  

Things  

People   So.ware  

Inform  

Command  

Inform  Actuate  

Autonomic  Feedback  Loop  

Cyberne>c  Feedback  Loop  

Observe  

Control  

A  Founda4on  for  the  Internet  of  Things  

Standards  Tools  Best  Prac4ces  

Build  Out  

Web  Design  Pa?erns  

M2M  Extensions  

Open  Source  and  

Commercial  

Open  Internet  

Standards  

Collec>vely  Enable  

The  development  and  evolu>on  of:  

Best  Prac4ces:    Well-­‐Known  Design  Pa?erns  

•  Connected  Intelligence  and  Embedded  Intelligence  •  Discovery  and  Linking  •  Deployment  Pa?erns  –  Device  to  device  – Managed  Devices  –  Servers  and  Gateways  

•  Internet  and  Web  Design  Pa?erns  –  IP  Connec4vity  –  REST  APIs,  device  as  Origin  Server  –  Hypermedia  (Web  Linking)  –  Publish-­‐Subscribe  

Connected  Intelligence  Disrupts  Embedded  Intelligence    

Thing  

SoTware  

Connected  Intelligence  

Embedded  Intelligence  

Network  

Virtualiza4on  of  Things  

Thing  

SoTware  

Network  

SoTware  Abstrac4on  

(Network)  

Firmware,  Middleware  

Device  

Applica4on  

Virtualiza4on  Enables  Many-­‐to-­‐Many  SoTware  Applica4ons  to  Things  

Thing  

SoTware  

SoTware  Abstrac4ons   Middleware  

SoTware   SoTware  

Thing  Thing  

Data  Model  

Thing  

SoTware  

Data  Model  

SoTware   SoTware  

Data  Model  

Thing  

SoTware  

Middleware  

SoTware   SoTware  

Interac4on  Pa?erns  

Applica4on  

Sensor/Actuator  Device  

Service  e.g.  LWM2M  

Device  with  Embedded  Applica4on  

Applica4on  Web  

Applica4on  

Client  Server  

Peer-­‐Peer  

Constrained  Device,  e.g.  16KB  RAM,  128KB  Flash  

Smart  Object  Registra4on,  Discovery  and  Data  Layer  Service,  Device  Proxy  and  Cache  

Applica4ons  can  Discover  and  Interact  with  devices  using  Peer-­‐Peer  networking  or  through  Services,  using  the  Same  Seman4cs  

Device  Registers  With  LWM2M  Server,    Applica4on  Discovers  

App  

LWM2M  Server  

SoT  Endpoints  

IP  Device  

IP  Device  

LWM2M  Clients  

/3303/0/5700  

/domain/endpoints/3303/0/5700  HTTP  

CoAP  

Applica4on  Interacts  With  Device  Through  Stateless  Proxy  Server  

App  

LWM2M  Server  

IP  Device  

IP  Device  

LWM2M  Clients  

/domain/endpoints/3303/0/5700  

/3303/0/5700  

HTTP  

CoAP  

Applica4on  Receives  No4fica4ons  Through  Server  

App  

LWM2M  Server  

IP  Device  

IP  Device  

LWM2M  Clients  

NOTIFY  

LWM2M  Communica4on  Through  NAT  

App  

LWM2M  Server  

CoAP  

IP  Device  

IP  Device  

HW  Device  Endpoints  

REG  UP

DATE  

NAT  Router  GET/PU

T  

Managed  Device  Interac4ons  

TV  

Audio  

DoorLock  

Light  

Washing  Machine  

Router  

LWM2M  Server  

Smart  Phone  

Ethernet,  WiFi,  Thread  

Fitbit  

BTLE  

LWM2M  Server  

Local  Applica4on  Scene  Control  

Binding,  Pairing  

Remote  Applica4on  Energy  Management  

The  Open  Standards  Are  Here    •  All  Levels  of  the  System  –  Radios,  MCUs  –  Arduino,  mbed,  802.15.4  – Network  –  WiFi,  6LowPAN,  Thread,  BLIP  – Wire  Protocol  –  HTTP,  CoAP,  MQTT,  Websockets  – Device  Interac4on  –  OMA  LWM2M,  OIC,  Alljoyn  – Data  Models  –  IPSO  Smart  Objects  – Applica4ons  –  Node-­‐RED  

•  Fragmenta4on  =>  Convergence  – No  New  Standards  – Adopt  and  Integrate  Exis4ng  Standards  –  Converge  on  a  Common  Set  

Layered  Architecture,  Narrow  Waist  

Applica4on  SoTware  

IPSO  Objects  

LWM2M  

CoAP   HTTP  

6LowPAN   IPV4/IPV6  

MCU  –  16KiB  RAM   MPU  

802.15.4   WiFi,  Ethernet  

Hardware  

HW  Network  

IP  Rou4ng  

REST  Protocol  

API  for  data  and  metadata  

Data  Models  

Applica4on  

HTTP  REST  Server  

17  2/10/15  

Device  Management  

The  Tools  Are  Available  Now  •  Tools  – Device  -­‐  mbed  libraries,  Eclipse  Wakaama,  Io4vity  –  Server  -­‐  ARM  mbed  Device  Server,  Eclipse  Leshan  –  Communica4on  -­‐  MQTT  –  Mosqui?o,  Eclipse  Paho  – API  and  Protocol  Conversion  -­‐  IoT  Toolkit  – Applica4ons-­‐  Node-­‐RED    

•  Tools  implement  Standards  –  CoAP,  HTTP,  MQTT  – OMA  LWM2M,  IPSO  Smart  Objects  

Open  IoT  Stack  •  Standards  for  Reuse  and  Interoperability  –  CoAP,  HTTP,  MQTT  – OMA  LWM2M,  IPSO  Smart  Objects  –  C++,  Node.js,  Python  

•  Device  Tools    – ARM  mbed  Open  Source  IDE  and  IoT  Libraries  

•  Server  Tools  – ARM  mbed  Device  Server  – Mosqui?o  MQTT    – Node-­‐RED  –  IoT  Toolkit  

Demonstra4on  

mbed  Device  Server    

mbed  device  

MQTT  Broker    

mbed  device  

No4fica4on  Handler  

Control  Applica4on    Async  Handlers  Node-­‐RED  

All    No4fica4ons    

All  Events  

CoAP  No4fica4ons    

State  Updates  (HTTP  PUT)  

State  Updates  (CoAP  PUT)  

Latency  ~  100  mSec  

Discover  And  Subscribe   Subscribed    No4fica4ons    

Sensor   Actuator  

Local  or  Cloud  

References  Slide  Presenta4ons  

h?p://www.slideshare.net/michaeljohnkoster/presenta4ons  IPSO  Smart  Object  Guideline  

h?p://www.ipso-­‐alliance.org/smart-­‐object-­‐guidelines  OMA  LWM2M  Specifica4on  

h?p://openmobilealliance.hs-­‐sites.com/lightweight-­‐m2m-­‐specifica4on-­‐from-­‐oma  

CoAP  h?p://coap.technology/    

mbed  h?p://mbed.org/  

Node-­‐RED  h?p://nodered.org/  

Eclipse  h?ps://eclipse.org/  


Top Related