KEMBAR78
Open-source IoT cookbook | PDF
OPEN SOURCE IOT
COOKBOOK
Benjamin Cabé
@kartben
h"ps://www.flickr.com/photos/quasimondo/5203908319
50
billion
devices
by 2020
50
billion
devices
by 2020
fragmentation
fragmentation
complexity
h"p://www.flickr.com/photos/chiperoni/239435850/
fragmentation
lock-in
h"p://www.flickr.com/photos/photosigh<aces/815279178
complexity
h"p://www.flickr.com/photos/cyberslayer/952953634
protocols
tools
frameworks
services
 Hand	
  by	
  Castor	
  &	
  Pollux	
  from	
  The	
  Noun	
  Project	
  
From 0 to 13+ open-source projects
We call them building blocks for IoT
In less than 3 years…
Wakaama Krikkit Concierge
Mosquitto
Paho provides client implementations of the
MQTT protocol.
Mihini is an embedded Lua runtime
providing HW abstraction and other
services.
Koneki provides tools for embedded Lua
developers.
Eclipse SCADA is a complete Java/OSGi-
based SCADA system (communication,
monitoring, GUI, …)
Kura is a Java/OSGi-based M2M container
for gateways. Has support for Modbus,
CANbus, MQTT, …
Mosquitto is a lightweight server
implementation of the MQTT and MQTT-SN
protocols, written in C.
Ponte bridges M2M/IoT (MQTT, CoAP)
protocols to the Web.
SmartHome provides a complete set of
services for home automation gateways.
OM2M implements the ETSI M2M standard.
Californium is an implementation of the
CoAP protocol written in Java. Includes
DTLS for security.
Wakaama is an implementation of LWM2M
written in C.
Krikkit is a rules system for programming
edge devices just like you’d configure a
router
Wakaama
Krikkit
(code  pending)
(code  pending)
Concierge is a lightweight implementation
of OSGi Core R5.
Your  project?  
J
Concierge
We need to talk! ;-)
 Hand	
  by	
  Castor	
  &	
  Pollux	
  from	
  The	
  Noun	
  Project	
  
From 0 to one million lines of code
In less than 3 years…
 Hand	
  by	
  Castor	
  &	
  Pollux	
  from	
  The	
  Noun	
  Project	
  
•  From 0 to 11 member companies*
* and many participating companies and individual IoT enthusiasts
In less than 3 years…
Building blocks for IoT
… for building what?
Building blocks for IoT
 Cloud	
  by	
  Andrew	
  Lynne	
  from	
  The	
  Noun	
  Project	
  
	
  Thermometer	
  by	
  Lemon	
  Liu	
  from	
  The	
  Noun	
  Project	
  
	
  Fluorescent	
  Light	
  Bulb	
  by	
  Dmitriy	
  Lagunov	
  from	
  The	
  Noun	
  Project	
  
	
  Water	
  by	
  Gilad	
  Fried	
  from	
  The	
  Noun	
  Project	
  
MQTT  Network
Mosqui9o  broker
Building… SENSOR NETWORKS
Building… SENSOR NETWORKS
1. Get a Paho client from:
http://eclipse.org/paho
2. Use Eclipse MQTT sandbox* to
test your app
* http://iot.eclipse.org/sandbox.html
 Cloud	
  by	
  Andrew	
  Lynne	
  from	
  The	
  Noun	
  Project	
  
	
  Thermometer	
  by	
  Lemon	
  Liu	
  from	
  The	
  Noun	
  Project	
  
	
  Fluorescent	
  Light	
  Bulb	
  by	
  Dmitriy	
  Lagunov	
  from	
  The	
  Noun	
  Project	
  
	
  Water	
  by	
  Gilad	
  Fried	
  from	
  The	
  Noun	
  Project	
  
MQTT  Network
Ponte  broker
CoAP  Network
Building… SENSOR NETWORKS
Building… SENSOR NETWORKS
$ npm install ponte
Building… M2M/IOT GATEWAYS
Building… M2M/IOT GATEWAYS
1/ Download Kura code:
https://github.com/eclipse/kura
2/ Follow compilation instructions in
the README
3/ Install on your favorite gateway
(e.g. Raspberry Pi thanks to .deb package)
 Cloud	
  by	
  Andrew	
  Lynne	
  from	
  The	
  Noun	
  Project	
  
	
  Thermometer	
  by	
  Lemon	
  Liu	
  from	
  The	
  Noun	
  Project	
  
	
  Fluorescent	
  Light	
  Bulb	
  by	
  Dmitriy	
  Lagunov	
  from	
  The	
  Noun	
  Project	
  
	
  Water	
  by	
  Gilad	
  Fried	
  from	
  The	
  Noun	
  Project	
  
CoAP  Network
LWM2M  server  
(e.g.  Leshan)
wakaama
wakaama
wakaama
ba6ery  level  
avail.  memory  
…
firmware  
reboot  
…
Building… DEVICE MGMT.
Building… DEVICE MGMT.
1/ Port Wakaama’s LWM2M
callbacks to your device
e.g. “reboot()”
2/ Use Eclipse LWM2M sandbox* or deploy
Leshan on your own server infrastructure
* http://iot.eclipse.org/sandbox.html
Android  UI
X10
Serial
 …
Bluetooth
Building… HOME AUTOMATION
Future of (Eclipse) IoT
Future of (Eclipse) IoT
IoT devices ARE the Cloud (or Fog?)
Future of (Eclipse) IoT
IoT devices ARE the Cloud (or Fog?)
Technologies like Krikkit will help make the
network smarter
Future of (Eclipse) IoT
IoT devices ARE the Cloud (or Fog?)
Technologies like Krikkit will help make the
network smarter
Orion will enable IoT development in the cloud
Future of (Eclipse) IoT
IoT devices ARE the Cloud (or Fog?)
Technologies like Krikkit will help make the
network smarter
Orion will enable IoT development in the cloud
More open protocols implementations will
ensure interoperability
http://iot.eclipse.org
http://iot.eclipse.org
<benjamin@eclipse.org>
@kartben
Thanks! Questions?

Open-source IoT cookbook