13. 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.
14. 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.
(code pending)
15. 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.
(code pending)
16. 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)
(code pending)
17. Concierge is a lightweight
implementation of OSGi Core R5.
Your project?
J
Concierge
We need to talk! ;-)
(code pending)
19. WHAT IS ZE BEST
LANGUAGE FOR
IOT?!?
I often get asked…
20. ANSWER: It depends! J
For embedded systems…
Codevs.Configuration
Constrained micro-controllers vs. Smart gateways
C
Javascript
Lua
Java/OSGi
21. ANSWER: It depends! J
Infrastructurevs.App.development
Communication enablement vs. Information systems
On the server side…
C
Javascript
Java/OSGi
24. 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
Mosquitto broker
Building… SENSOR NETWORKS
25. 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 (2)
26. 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
Building… DEVICE MANAGEMENT
battery level
avail. memory
…
firmware
reboot
…
31. Is the MQTT API that simple?
MqttClient mqttClient = new MqttClient
(
"tcp://iot.eclipse.org:1883",
MqttClient.generateClientId()
);
mqttClient.setCallback(…);
mqttClient.connect();
mqttClient.subscribe("myGreenhouse/#");
// the rest of your app
32. Is the MQTT API that simple?
mqttClient.setCallback(new MqttCallback() {
@Override
public void messageArrived(String topic,
MqttMessage message)
throws Exception {
// process received message
// e.g. display temperature value
}
// ...
});
Callback code:
33. Data viz. w/ MQTT over Websockets
• Rickshaw is a JavaScript toolkit for
creating interactive time series graphs
• It’s built on top of d3.js
• MQTT over Websockets makes it very
easy to feed data into Rickshaw datasets
– More at http://code.shutterstock.com/rickshaw –
lots of examples to get started
34. In a nutshell
• MQTT is a very versatile protocol for
building your IoT solution from the
ground up. You should try it!
• Eclipse IoT has lots of projects, from
basic building blocks to more complete
solutions
• We have Java, and more! J