Eclipse IoT provides a complete Java stack to build IoT gateway applications, including support for MQTT, CoAP, LWM2M, and remote configuration and management via Kura and OSGI.
With the programming tool Reactive Blocks you can connect these Eclipse technologies by plugging together Java-based building blocks graphically. This makes it much easier to build new applications, or understand and adapt existing ones. This talk shows you how we implemented the software for the Eclipse IoT Car. The demo takes advantage of MQTT, CoAP and Kura so you can experience these technologies in action.
Building Applications with Eclipse IoT, Block by Block
1. March 2012 - Business Confidential - Bitreactive AS
Building Applications with
Eclipse IoT, Block by Block
Anne Nevin
Bitreactive AS, Trondheim
Eclipse DemoCamp Trondheim
August 27th. 2015
2. Bitreactive
■ Founded June 2011, spinoff from NTNU
■ Delivers the software development tool Reactive Blocks which provides
specific solutions to the programming challenges of the IoT industry.
Jone S. Rasmussen
General Manager
M: +47 957 26 339
E: jone@bitreactive.com
www.bitreactive.com
Frank Alexander Kraemer
Technology Manager
M: +47 959 28 555
E: frank@bitreactive.com
www.bitreactive.com
Anne Nevin
Sales
M: +47 930 07
E: anne@bitre
www.bitreactive
Kathrin Winkler
System Architect
M: +4747914350
E: kathrin@bitreactive.com
www.bitreactive.com
Ole Budde
System Architect
M: +47 406 32 522
E: ole@bitreactive.com
www.bitreactive.com
Linda Ariani Gunawan
System Architect
M: +47 463 92 572
E: linda@bitreactive.com
www.bitreactive.com
Alina Isaksen
System Architect
M: +47 980 28 536
E: alina@bitreactive.com
www.bitreactive.com
4. Cloud
Gateway
It is difficult to implement IoT gateway solutions
• Tie together hardware and network resources
• Different standards and legacy systems
• Manage connectivity and network issues
• Device management
• Autonomous operation
• Integrate data with existing enterprise systems and databases
5.
6. Reactive Blocks
6
CoAP Resource
ok
getResponse
init
failed
get
post
Config Listener
initConfig
start
updatedConfig
Kura CloudClient
readypublish
start
stop
waiting
stopped
failed
msgArrived
MQTT Core
initOksubscribe
init
initFailed
publishOk
message
error
stopped
disconnected
unsubscribe
publish
stop
RPi GPIO Digital In
valuestop
init
initError
initOk
isLow
isHigh
stopped
read
initPS
Config Listener
initConfig
start
updatedConfig
playing
Modbus
initOkexecutedReadIn
init
initFailed
readDone
writeDone
readFailed
stopped
writeFailed
deviceId
executedWrite
stop
executeReadHold
registerId
1 2 3
Config Listener
initConfig
start
updatedConfig
Makes it easy to combine Eclipse technologies to make new applications
9. Kura is a Java/OSGi-based container for remote
management and control
MQTT is a lightweight messaging protocol based
on the publish/subscribe model. PAHO provides
the MQTT client implementation.
CoAP (constrained application protocol) is a RESTful
protocol, like HTTP over UDP. Californium
implements the CoAP standard in Java
10. The Raspberry Pi Eclipse IoT Car
Use a remote console to move the car
around in different directions
Publish pictures to an MQTT server
for remote viewing
Configure the proximity limit at
runtime
Kura
MQTT
CoAP
21. 21
Config listener: Listens
to changes in the
configuration property
Proximity limit.
At runtime this
property can be seen
and set via the Kura´s
web-console