SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
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
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
Cloud
Gateway
Make data smart with intelligent gateways
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
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
Cloud
Gateway
JVM
A 1 A 2 A 3
Cloud
Gateway
JVM
A 1 A 2 A 3
App App
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
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
11
Air VentilationMotor
Control
Battery
WiFi
dongle
Distance
sensor
Camera
12
This is the top level of
the application
13
Inside the MQTT
interface block. It is
composed of 5 blocks
from the library of
block
14
The CoAP interface
block interacts wih the
front-end application
via CoAP server
15
Server Client
The front end
application used to vie
and interact with the
data was also
implemented with
Reactive Blocks. We
used Java Swing.
16
Inside the CoAP
interface block which
is composed of 6 block
from the library of
blocks
17
18
The motor control is
composed of 4 blocks
from the library of
blocks
19
20
proximity limit
The proximity detector
is composed of 3
blocks from the library
of blocks
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
22
Manually written code
Reusable code
Generated code
~98%
~2%
+ Runtime
24
Generic Functionality
■ Buffering
■ Counters
■ Flow Logic
■ Session Utilities
■ Iterator
Timers
■ Timers
■ Periodic Timers
■ Watchdogs
Application Prototyping
■ Java Swing
■ Java FX
■ Speech (Free TTS)
■ Properties
Hardware Connections
■ Modbus
■ Serial I/O
■ Raspberry Pi GPIO
■ Berryclip for Raspberry Pi
■ Gertboard for Raspberry Pi
■ USB Camera
Files
■ Files Utilities
■ File I/O
■ Properties
End-User Communication
■ SMS: Twilio, Keyteq, Clickatell
■ Email
■ CMPP Client (Smack)
Communication
■ HTTP/HTTPS
■ MQTT
■ CoAP
■ JSON-RPC
■ AMQP
■ Network Monitoring
■ OPC-UA
Data Collection Services
■ Sierra Wireless AirVantage
■ IBM IoT Foundation
■ Eurotech ESF
■ Xively
■ Solair
Security
■ Cryptography
■ OAuth 2.0
Transformation of Data
■ GSON
■ XML Parsing (DOM4J)
■ XSL Transformation
Eclipse Kura and OSGi
■ Configuration Listener
■ Cloud Client Handler
■ Event Admin
■ Service Tracker
■ Termination
■ Service Register
Location
■ Geofence
■ KML
Data Processing
■ Video Recording
■ Image Processing
Not just a tool but also a growing library of ready-to-use
building blocks

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

Understanding IoT with Cloud IoT Core
Understanding IoT with Cloud IoT CoreUnderstanding IoT with Cloud IoT Core
Understanding IoT with Cloud IoT Core
 
Understanding IoT Data Protocol - PyCon ID 2018
Understanding IoT Data Protocol - PyCon ID 2018Understanding IoT Data Protocol - PyCon ID 2018
Understanding IoT Data Protocol - PyCon ID 2018
 
Getting Physical with Web Bluetooth - Uri Shaked, BlackBerry
Getting Physical with Web Bluetooth - Uri Shaked, BlackBerryGetting Physical with Web Bluetooth - Uri Shaked, BlackBerry
Getting Physical with Web Bluetooth - Uri Shaked, BlackBerry
 
IoT Fundamentals - Global Azure Bootcamp 2018 - Malta
IoT Fundamentals - Global Azure Bootcamp 2018 - MaltaIoT Fundamentals - Global Azure Bootcamp 2018 - Malta
IoT Fundamentals - Global Azure Bootcamp 2018 - Malta
 
How to build & run a SaaS with a team of two
How to build & run a SaaS with a team of twoHow to build & run a SaaS with a team of two
How to build & run a SaaS with a team of two
 
How I built a ml human hybrid workflow using computer vision - Amir Shitrit
How I built a ml human hybrid workflow using computer vision - Amir ShitritHow I built a ml human hybrid workflow using computer vision - Amir Shitrit
How I built a ml human hybrid workflow using computer vision - Amir Shitrit
 
IoT
IoTIoT
IoT
 
APIdays Paris 2018 - What a Mesh! Laurent Doguin, DevRel VP, Clever Cloud
APIdays Paris 2018 - What a Mesh! Laurent Doguin, DevRel VP, Clever CloudAPIdays Paris 2018 - What a Mesh! Laurent Doguin, DevRel VP, Clever Cloud
APIdays Paris 2018 - What a Mesh! Laurent Doguin, DevRel VP, Clever Cloud
 
Brillo operating system(os)
Brillo operating system(os)Brillo operating system(os)
Brillo operating system(os)
 
Spring Cloud Kubernetes
Spring Cloud KubernetesSpring Cloud Kubernetes
Spring Cloud Kubernetes
 
Mininet Research Projects Help
Mininet Research Projects Help Mininet Research Projects Help
Mininet Research Projects Help
 
IoT with Google ecosystem
IoT with Google ecosystemIoT with Google ecosystem
IoT with Google ecosystem
 
ATT&CK Updates- ATT&CK's Open Source
ATT&CK Updates- ATT&CK's Open SourceATT&CK Updates- ATT&CK's Open Source
ATT&CK Updates- ATT&CK's Open Source
 
SAVI-IoT: A Self-managing Containerized IoT Platform
SAVI-IoT: A Self-managing Containerized IoT PlatformSAVI-IoT: A Self-managing Containerized IoT Platform
SAVI-IoT: A Self-managing Containerized IoT Platform
 
IoT Seminar (Oct. 2016) Pilgrim Beart - DevicePilot & Duncan Purves - Connect...
IoT Seminar (Oct. 2016) Pilgrim Beart - DevicePilot & Duncan Purves - Connect...IoT Seminar (Oct. 2016) Pilgrim Beart - DevicePilot & Duncan Purves - Connect...
IoT Seminar (Oct. 2016) Pilgrim Beart - DevicePilot & Duncan Purves - Connect...
 
apidays LIVE Hong Kong 2021 - Zero Trust security with Service Mesh by Lauren...
apidays LIVE Hong Kong 2021 - Zero Trust security with Service Mesh by Lauren...apidays LIVE Hong Kong 2021 - Zero Trust security with Service Mesh by Lauren...
apidays LIVE Hong Kong 2021 - Zero Trust security with Service Mesh by Lauren...
 
Azure IoT Edge with real-time Machine Learning and Azure IoT Central - Vincen...
Azure IoT Edge with real-time Machine Learning and Azure IoT Central - Vincen...Azure IoT Edge with real-time Machine Learning and Azure IoT Central - Vincen...
Azure IoT Edge with real-time Machine Learning and Azure IoT Central - Vincen...
 
Always-On Web of Things Infrastructure Dynamic Software Updating
Always-On Web of Things Infrastructure Dynamic Software UpdatingAlways-On Web of Things Infrastructure Dynamic Software Updating
Always-On Web of Things Infrastructure Dynamic Software Updating
 

Destacado

Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014
Benjamin Cabé
 
Eclipse IoT Edje project: the software foundation for IoT devices
Eclipse IoT Edje project: the software foundation for IoT devicesEclipse IoT Edje project: the software foundation for IoT devices
Eclipse IoT Edje project: the software foundation for IoT devices
MicroEJ
 

Destacado (20)

Creating end-to-end IoT applications with Eclipse Kura & Solair IoT Platform
Creating end-to-end IoT applications with Eclipse Kura & Solair IoT PlatformCreating end-to-end IoT applications with Eclipse Kura & Solair IoT Platform
Creating end-to-end IoT applications with Eclipse Kura & Solair IoT Platform
 
Open source IoT
Open source IoTOpen source IoT
Open source IoT
 
IoTWorld 2016 OSS Keynote Param Singh, Ian Skerrett
IoTWorld 2016 OSS Keynote Param Singh, Ian SkerrettIoTWorld 2016 OSS Keynote Param Singh, Ian Skerrett
IoTWorld 2016 OSS Keynote Param Singh, Ian Skerrett
 
2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit
 
Eclipse Edje: A Java API for Microcontrollers
Eclipse Edje: A Java API for MicrocontrollersEclipse Edje: A Java API for Microcontrollers
Eclipse Edje: A Java API for Microcontrollers
 
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
 
Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014Building the Internet of Things with Eclipse IoT - JavaLand 2014
Building the Internet of Things with Eclipse IoT - JavaLand 2014
 
IoT Aquarium 2
IoT Aquarium 2IoT Aquarium 2
IoT Aquarium 2
 
Eclipse IoT Edje project: the software foundation for IoT devices
Eclipse IoT Edje project: the software foundation for IoT devicesEclipse IoT Edje project: the software foundation for IoT devices
Eclipse IoT Edje project: the software foundation for IoT devices
 
End-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoTEnd-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoT
 
Eclipse IoT: Open source technology for IoT developers
Eclipse IoT: Open source technology for IoT developersEclipse IoT: Open source technology for IoT developers
Eclipse IoT: Open source technology for IoT developers
 
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoTDevoxx 2015 - Building the Internet of Things with Eclipse IoT
Devoxx 2015 - Building the Internet of Things with Eclipse IoT
 
IoT Microservices at the Edge with Eclipse ioFog
IoT Microservices at the Edge with Eclipse ioFogIoT Microservices at the Edge with Eclipse ioFog
IoT Microservices at the Edge with Eclipse ioFog
 
MQTT with Eclipse Paho: A protocol for IoT and M2M communication
MQTT with Eclipse Paho: A protocol for IoT and M2M communicationMQTT with Eclipse Paho: A protocol for IoT and M2M communication
MQTT with Eclipse Paho: A protocol for IoT and M2M communication
 
Got Python I/O: IoT Develoment in Python via GPIO
Got Python I/O: IoT Develoment in Python via GPIOGot Python I/O: IoT Develoment in Python via GPIO
Got Python I/O: IoT Develoment in Python via GPIO
 
InterCon 2016 - Backend do IoT com RethinkDB e Python
InterCon 2016 - Backend do IoT com RethinkDB e PythonInterCon 2016 - Backend do IoT com RethinkDB e Python
InterCon 2016 - Backend do IoT com RethinkDB e Python
 
Real World IoT Architectures and Projects with Eclipse IoT
Real World IoT Architectures and Projects with Eclipse IoTReal World IoT Architectures and Projects with Eclipse IoT
Real World IoT Architectures and Projects with Eclipse IoT
 
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura WiresBuilding IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
 
Creating the open source building blocks for IoT
Creating the open source building blocks for IoT Creating the open source building blocks for IoT
Creating the open source building blocks for IoT
 
Open Source IoT at Eclipse
Open Source IoT at EclipseOpen Source IoT at Eclipse
Open Source IoT at Eclipse
 

Similar a Building Applications with Eclipse IoT, Block by Block

Similar a Building Applications with Eclipse IoT, Block by Block (20)

Embedded system & IoT Course | certification Program | Learn and Build
Embedded system & IoT Course | certification Program | Learn and BuildEmbedded system & IoT Course | certification Program | Learn and Build
Embedded system & IoT Course | certification Program | Learn and Build
 
Singapore_IEEE_power_self-supply_based_on_an_io_t_driven_ platform
Singapore_IEEE_power_self-supply_based_on_an_io_t_driven_ platformSingapore_IEEE_power_self-supply_based_on_an_io_t_driven_ platform
Singapore_IEEE_power_self-supply_based_on_an_io_t_driven_ platform
 
Best Embedded Systems Projects Ideas In 2015
Best Embedded Systems Projects Ideas In 2015Best Embedded Systems Projects Ideas In 2015
Best Embedded Systems Projects Ideas In 2015
 
IoT Programmable Block
IoT Programmable BlockIoT Programmable Block
IoT Programmable Block
 
SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech
 
How to Create Blockchain Products by Fr8 Network Lead Engineer
How to Create Blockchain Products by Fr8 Network Lead EngineerHow to Create Blockchain Products by Fr8 Network Lead Engineer
How to Create Blockchain Products by Fr8 Network Lead Engineer
 
IEEE 2018 Java Projects | B-Tech Major Projects | M-Tech Major Projects | Mac...
IEEE 2018 Java Projects | B-Tech Major Projects | M-Tech Major Projects | Mac...IEEE 2018 Java Projects | B-Tech Major Projects | M-Tech Major Projects | Mac...
IEEE 2018 Java Projects | B-Tech Major Projects | M-Tech Major Projects | Mac...
 
Microservices: The Future-Proof Framework for IoT
Microservices: The Future-Proof Framework for IoTMicroservices: The Future-Proof Framework for IoT
Microservices: The Future-Proof Framework for IoT
 
Oracle Open World 2018 - Cloud Lift Accelerator Suite
Oracle Open World 2018 - Cloud Lift Accelerator SuiteOracle Open World 2018 - Cloud Lift Accelerator Suite
Oracle Open World 2018 - Cloud Lift Accelerator Suite
 
Using bluemix predictive analytics service in Node-RED
Using bluemix predictive analytics service in Node-REDUsing bluemix predictive analytics service in Node-RED
Using bluemix predictive analytics service in Node-RED
 
modified second review ppt.ppt
modified second review ppt.pptmodified second review ppt.ppt
modified second review ppt.ppt
 
cv2
cv2cv2
cv2
 
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdfAdvanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
 
Blockchain IoT Workshop for the Aviation Planning Conference
Blockchain IoT Workshop for the Aviation Planning ConferenceBlockchain IoT Workshop for the Aviation Planning Conference
Blockchain IoT Workshop for the Aviation Planning Conference
 
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdfAdvanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
 
How to Create Blockchain Products by Slice.Market CTO
How to Create Blockchain Products by Slice.Market CTOHow to Create Blockchain Products by Slice.Market CTO
How to Create Blockchain Products by Slice.Market CTO
 
Track 4 session 6 - st dev con 2016 - samsung artik
Track 4   session 6 - st dev con 2016 - samsung artikTrack 4   session 6 - st dev con 2016 - samsung artik
Track 4 session 6 - st dev con 2016 - samsung artik
 
IoTforReal Seminar slidedeck
IoTforReal Seminar slidedeckIoTforReal Seminar slidedeck
IoTforReal Seminar slidedeck
 
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdfAdvanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
 
Multi-agent controlled building management system
Multi-agent controlled building management systemMulti-agent controlled building management system
Multi-agent controlled building management system
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

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
  • 3. Cloud Gateway Make data smart with intelligent gateways
  • 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
  • 8. Cloud Gateway JVM A 1 A 2 A 3 App App
  • 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
  • 12. 12 This is the top level of the application
  • 13. 13 Inside the MQTT interface block. It is composed of 5 blocks from the library of block
  • 14. 14 The CoAP interface block interacts wih the front-end application via CoAP server
  • 15. 15 Server Client The front end application used to vie and interact with the data was also implemented with Reactive Blocks. We used Java Swing.
  • 16. 16 Inside the CoAP interface block which is composed of 6 block from the library of blocks
  • 17. 17
  • 18. 18 The motor control is composed of 4 blocks from the library of blocks
  • 19. 19
  • 20. 20 proximity limit The proximity detector is composed of 3 blocks from the library of blocks
  • 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
  • 22. 22
  • 23. Manually written code Reusable code Generated code ~98% ~2% + Runtime
  • 24. 24 Generic Functionality ■ Buffering ■ Counters ■ Flow Logic ■ Session Utilities ■ Iterator Timers ■ Timers ■ Periodic Timers ■ Watchdogs Application Prototyping ■ Java Swing ■ Java FX ■ Speech (Free TTS) ■ Properties Hardware Connections ■ Modbus ■ Serial I/O ■ Raspberry Pi GPIO ■ Berryclip for Raspberry Pi ■ Gertboard for Raspberry Pi ■ USB Camera Files ■ Files Utilities ■ File I/O ■ Properties End-User Communication ■ SMS: Twilio, Keyteq, Clickatell ■ Email ■ CMPP Client (Smack) Communication ■ HTTP/HTTPS ■ MQTT ■ CoAP ■ JSON-RPC ■ AMQP ■ Network Monitoring ■ OPC-UA Data Collection Services ■ Sierra Wireless AirVantage ■ IBM IoT Foundation ■ Eurotech ESF ■ Xively ■ Solair Security ■ Cryptography ■ OAuth 2.0 Transformation of Data ■ GSON ■ XML Parsing (DOM4J) ■ XSL Transformation Eclipse Kura and OSGi ■ Configuration Listener ■ Cloud Client Handler ■ Event Admin ■ Service Tracker ■ Termination ■ Service Register Location ■ Geofence ■ KML Data Processing ■ Video Recording ■ Image Processing Not just a tool but also a growing library of ready-to-use building blocks