osiot13 iot buildout
TRANSCRIPT
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
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/