Analysts predict that in 2020 50 billion devices are connected to the internet. Together with the fact that more and more of these "things" are connected over the cellular network, new challenges are introduced to the communication of Internet of Things (IoT) and machine-to-machine (M2M) scenarios. There are a lot of protocols which claim to be ideal for these use cases, for example MQTT and COAP. In this talk you will get an overview of commonly used protocols and their underlying architectural styles. We will also look at advantages/disadvantages, use cases and the eco-system around them for Java developers.
12. M2M
IoT
IoE
WoT
Web of Things
Internet of Things
Internet of Everything
Machine to Machine
communication
Ubicomp
Ubiquitous computing
CPS
Cyper Physical Systems Pervasive
Computing
32. Tools
Californium and Copper Logo from http://people.inf.ethz.ch/mkovatsc/
Californium & Copper
+
More Implementations
http://en.wikipedia.org/wiki/Constrained_Application_Protocol#Implementations
33.
34. XMPP at a glance
• developed for chat
• based on XML
• extensible
• decentral / inter-server
• TLS and SASL
35. Typical XMPP Flow
<iq type =’get’
from =’client@jax.de’
to =‘tempsensor@jax.de’
id =’S0001’>
<req xmlns =’urn:xmpp:iot:sensordata’
seqnr =’1’ momentary =’true’ >
</iq>
1/3
36. <iq type =’result’
from =’client@jax.de’
to =‘tempsensor@jax.de’
id =’S0001’>
<accepted xmlns =’urn:xmpp:iot:sensordata’
seqnr =’1’/ >
</iq>
2/3
37. <message from =’...’ to =’...’>
<fields xmlns=’urn:xmpp:iot:sensordata’ seqnr =’1’
done =’true’>
<node nodeId =’Device01’>
<timestamp value=‘2013-03-07T16:24:30’>
<numeric name =’Temperature’
momentary =‘true’ automaticReadout =’true’
value =’23.4’ unit =’°C’ >
</timestamp>
</node>
</fields>
</message>
3/3
66. How to choose a protocol
• How constrained are the devices?
• Reliable/unreliable network?
• What is the message rate?
• How is the data processed further?
• Push or Pull ?