Matthias Kovatsch, Simon Duquennoy, and Adam Dunkels kovatsch@inf.ethz.ch simonduq@sics.se adam@sics.se
Monday, 17 Oct 2011
Internet of Things Protocol Stack
Layer
Application Transport Network Adaption MAC Radio Duty Cycling Physical
Matthias Kovatsch – ETH Zürich
Protocol
CoAP / REST Engine (Erbium) UDP IPv6 / RPL 6LoWPAN CSMA / link-layer bursts ContikiMAC IEEE 802.15.4
A Low-Power CoAP for Contiki 2
ContikiMAC
Radio on
D Data frame A ACK frame
Sender
D
D
D
D A
Receiver Channel check
D A
Transmission detected
Matthias Kovatsch – ETH Zürich
A Low-Power CoAP for Contiki
3
Link-layer Bursts
Radio on
D Data frame A ACK frame
Sender
D
D
D
D A D A D A D A
Receiver Channel check
D A D A D A D A
Transmission detected
Matthias Kovatsch – ETH Zürich
A Low-Power CoAP for Contiki
4
Constrained Application Protocol (CoAP)
RESTful Web services for networked embedded devices
Idealized architectural style of the Web HTTP for the Internet of Things coap://sky2/ coap://sky1/
coap://sky3/
Matthias Kovatsch – ETH Zürich
A Low-Power CoAP for Contiki
5
«Erbium» CoAP for Contiki
Implements draft-ietf-core-coap-07 Available in the Contiki repository on SourceForge
Matthias Kovatsch – ETH Zürich
A Low-Power CoAP for Contiki
6
«Erbium» CoAP
Reliable UDP transport Observing resources Blockwise transfers Resource discovery Separate responses
Blocking client requests
Matthias Kovatsch – ETH Zürich A Low-Power CoAP for Contiki 7
«Erbium» REST Engine
Resource abstraction
CoRE Link Format title="Hello world"; rt="TemperatureC";
RESOURCE(handle, METHODs, URI-Path, Web Linking info); Resource handler PERIODIC_RESOURCE(handle, METHODs, URI-Path, info, period); Additional periodic handler EVENT_RESOURCE(handle, METHODs, URI-Path, info); Additional event handler Observable
Matthias