The presentation contains a real Industry 4.0 use cases that will take advantage of sensors connected through Modbus and mapped in Kura Wires with corresponding Assets. A complete dataflow model will also be presented
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
1. Building IoT Mashups for Industry 4.0 with
Eclipse Kura and Kura Wires
Amit Kumar Mondal (Technical University of
Munich, Germany)
Matteo Maiero (Eurotech S.p.A, Italy)
Virtual IoT Meetup
12 January 2017
2. Agenda
• Industry 4.0 and IoT Challenges
– Brownfield Engineering
– Problems
• Eclipse Kura
– Introduction
– Encapsulating Complexity
– Architecture
• Kura Wires
– Dataflow Programming
– Terminologies
– Kura Asset Model
• Demo
• Recap
– Current Status
– Next Steps
8. Internet /
TCP/IP
Sometimes M2M Solutions look simple …
Business
Application
Sensors,
Actuators,
Displays, …
Service
Gateway
Single or no special
application on gateway
A single application
to communicate with
Only one type of
Gateway HW & SW
Only one type of
device / sensor
No connectivity
options required
Embracing IoT Complexity
9. Internet /
TCP/IP
Ethernet
WiFi
3G /
LTE Satellite
WiMAX
Other
... but for some of them it gets complex
Business
Application
Sensors,
Actuators,
Displays, …
• Multiple services on the gateway
/ edge node
• Different connectivity options
• Customer specific business
logic
2G /
2.5G
xDSL
Cable
11. Embracing IoT Complexity
How to accelerate overall solution engineering process? How to
include phased, incremental changes?
Business
Applications
Sensors,
Actuators,
Displays, …
?
@
11
13. Upwards Abstraction towards Business Tiers
Complexity tamed bottom up.
Business
Applications@
IoT Integration Platform
Operational
Technologies
Cloud-side
@
Enterprise
Information
Technologies
Data & Analytics Platform
Sensors, Actuators,
HMI, SCADA, PLC
Multi-Service
Gateway
13
14. Linux OS
Embedded App
KURA is the open source Java and OSGi-
based Application Framework for M2M Service
Gateways in the Eclipse IoT Working Group.
Purpose
Simplify the design, deployment and remote
management of embedded applications.
It provides
• Cohesive and integrated app environment
• Modular software components
• HW abstraction layer
• Field protocol libraries
• Cloud connectivity
• Remote app and device management
• Local app and device management
• Development tools
Java/OSGi
M2M
gatewaysSmart
Sensors
Industrial
HW
Open HW
• Raspberry PI
• BeagleBone
Black
16. Kura’s Benefits
Kura helps Customers focusing on their core competences (Customer‘s differentiators),
by supplying highly integrated modular, common building blocks.
This approach provides partners with a competitive advantage by ensuring:
• Reduced development time → Shorter time to market
• Less required resources → Reduced development costs
• Hardware virtualization → Better investment protection
• More deterministic project execution → In time market introduction
• Focus on the application → Differentiate your offering and products
• Portable, robust code → Higher quality software
• Standard based → Future-proofed, Investments protection
• Remote app management → Extended product lifecycle
17. Java SE 7 / 8 (OpenJDK)
OSGi Application Container (Eclipse Equinox, Concierge)
Device Abstraction
javax.comm
Basic Gateway Services
DB Service
Clock Service
Device Profile
Watchdog
Network ConfigurationNetwork Configuration
Field ProtocolsConnectivity and Delivery
Data Services MQTT Paho
AdministrationGUI
Applications
Your Application
RemoteManagement
Configuration
Management
javax.usb
w/ udev access
Cloud Services
Your Application
Firewall, Port
Forwarding
Link Monitors
Cellular, Wi-Fi,
Ethernet
GPS Position GPIO / SPI / PWM / I2C
jdk.dio
Modbus
CANBus
Custom Protocols
Updates
Management
RemoteAccess
Java HID APIs javax.bluetooth / BLE
...
Eclipse Open IoT Stack for Java
Add your
app
Add your
app
18. Agenda
• Kura Wires
– Dataflow Programming
– Terminologies
– Kura Asset Model
• Demo
• Recap
– Current Status
– Next Steps
18
19. Industrial
IoT Gateways
From Prototype to Production
Efficient Development & Investment Protection
Software portability
across HW Platforms
Open Hardware
Open Software
20. Eclipse Kura
seems
powerful for
my PoC
How can I
build my PoC
very easily
using Eclipse
Kura?
Oh no! I
have to
learn Java
and OSGi!
Different People Different Needs
21. Solution
Approach... Dataflow Programming
…
• have inputs and/or outputs
• produce outputs
• consume inputs
• abstract underlying logics
• highly reusable and portable
Application Logic is expressed as a directed
graph
Nodes -
22. Our Solution
• without sacrificing much flexibility
• raises the abstraction level
• application logic is simplified to node connections
• extensible
• Eclipse Marketplace Integration
Eases developers
task -
23. Kura + Wires
• Enhanced Functional Architecture
Drivers
CANbus
ModbusOPC UA
S7
Asset Management
Asset
Java SE 7 / 8 (OpenJDK)
OSGi Application Container (Eclipse Equinox, Concierge)
Device Abstraction
javax.comm
Basic Gateway Services
DB Service
Clock Service
Device Profile
Watchdog
Network ConfigurationNetwork Configuration
Connectivity and Delivery
Data Services MQTT Paho
AdministrationGUI
Applications
Your Application
RemoteManagement
Configuration
Management
javax.usb
w/ udev access
Cloud Services
Firewall, Port
Forwarding
Link Monitors
Cellular, Wi-Fi,
Ethernet
GPS Position GPIO / SPI / PWM / I2C
jdk.dio
Custom Protocols
Updates
Management
RemoteAccess
Java HID APIs javax.bluetooth / BLE
Your Application
Kura Wires
...
26. Terminologies - Wire Component
Wire Component can be a producer of data and/or a consumer of
data
Wire Component
0..n 0..n
0..n Inputs to a Wire
Component
0..n Outputs from a Wire
Component
Wire Components don’t need to have context specific knowledge about
each other
28. Terminologies - Asset
Assets are special types of Wire Components that interact with
transducers
For example, Modbus PLC, S7 PLC or OPC-UA
PLC etc.
Device
Driver
Kura Asset
Model
Driver
Asset
Kura Wires
33. An IIoT Use Case
A newly installed part of a plant based on Modicon PLC running Modbus RTU,
connected to an Industrial Service Gateway and pushing data to Cloud instance
Control operator intends to monitor the Modbus Device connected sensors’
data and change the statuses of the connected actuators using a dashboard
34. Current Status
• Contributed Kura Wires to the Kura repository
– Available in the develop branch
– Early access and testing
• https://hudson.eclipse.org/kura/job/kura-
develop/lastSuccessfulBuild/artifact/kura/distrib/target/
• Master Thesis
– Kura Wires: Design and Development of a Component for managing Devices
and Drivers in Eclipse Kura 2.0 by Amit Kumar Mondal
https://osf.io/s3agq/
• Blog Posts
– https://dzone.com/articles/kura-wires
– https://dzone.com/articles/kura-wires-a-sneak-peek
– https://dzone.com/articles/kura-wires-a-different-perspective-to-develop-iiot
– https://dzone.com/articles/different-dataflow-programming-approaches-and-
comp
35. Next Steps
– Milestone release by the end of January 2017
– Drivers publishing to Eclipse Marketplace
• OPC-UA
• Modbus
– More drivers
– Improved documentation
Committer Eclipse Kura
Developer ESF (built on top of Kura)
Involved Kapua
Data processed and managed to have a complete overview of
Production status
Product lifecycle
IoT is heart of this 4° industrial evolution
Consumer
In the context of IIoT, at the field level, we believe Eclipse Kura can be the right solution for the mentioned Industry 4.0 and IoT problems
Focus on specific business vertical
9+ Million Java Developers
The most popular programming language
High-level Programming Language
Shorter Time-to-Market
Device Abstraction
Application Portability
Investment Protection
Built-in OSGi Services for IoT Apps
Software Modularity
Configuration Management
Application Management
Integrated Device Cloud features