2. Constrained Device
2
Class Rough Translation
0 Can’t run IP stack securely.
1
Integrated security but can’t employ full stack using
HTTP over TLS.
2
Small but benefit from efficient protocols that free
resources for application or reduce operational costs.
3. Constrained Environment
3
10 kB RAM
100 kB Flash
40 MHz
Low Cost
Limited Processing
Battery to last many years
Network variable availability
Often low bitrate
10. Observe (example with CON)
10
GET /temp Observe: (empty) Token 0x4a
ACK CON Observe: 1 Token 0x4a “26”
CON Observe: 24 Token 0x4a “28”
CON Observe: 56 Token 0x4a “26”
CLIENT
CON Observe: 56 Token 0x4a “26”
11. Security
! Datagram TLS
! Records are independent so that if the i’th record is lost i+1'th can still be decrptyed
! Handshake messages queued
! Application is responsible for dealing with loss and reordering
11
12. Code to play with
! Cantcoap https://github.com/staropram/cantcoap
! C COAP Erbium github.com/contiki-os/contiki.git
! Firefox plugin https://addons.mozilla.org/en-US/firefox/copper-270430/
! Arduino https://github.com/dgiannakop/ Arduino-COAP
12
15. MQTT
! Binary
! “Lightweight” - not much meta data
! PubSub, Broker is key
! Not a queue, cf. AMQP
- but most recent message can be stored by a broker and a Last Will and Testament can be
set.
! TCP with concomitant TLS/SSL
! (MQTT-S address TCP constraint)
! IBM driven. OASIS MQTT 3.1.1 expected approved in September 2014
15
21. Interesting Flags
! Last Will and Testament (if you think i am dead ….) .
- Optional message with CONNECT.
! Retained Message.
- e.g. New subscriber gets latest message
21
22. Code to play with
! (C, JS, Python etc) http://git.eclipse.org/c/paho/
! Lots of client libraries including .NET, Erlang and Lua. Some are device specific. See
mqtt.org
! Broker http://mosquitto.org/
! More brokers: See http://mqtt.org/wiki/doku.php/public_brokers
22
24. Summary
! Go make things, do it wirelessly and use batteries.
! If you use a Broker look carefully at what assumptions you are making.
- Does an unknown client need full knowledge of the broker?
24