Kura Wires : Industry 4.0 with Eclipse Kura

Download Report

Transcript Kura Wires : Industry 4.0 with Eclipse Kura

Kura Wires : Industry 4.0 with Eclipse
Kura
Amit Kumar Mondal (Technical University of
Munich)
Matteo Maiero (Eurotech S.p.A.)
Agenda
•
•
•
•
•
Eurotech Overview
IoT Challenges
– Brownfield Engineering
– Problems
Eclipse Kura
– Introduction
– Encapsulating Complexity
– Architecture
Kura Wires
– Dataflow Programming
– Terminologies
– Kura Asset Model
Demo
Eurotech Overview
•
One of the world top players in the global Embedded Computers market
•
Behind the products & services of more than 20 Global 500 companies
•
20+ Years of experience in “M2M” and distributed systems
•
–
20+ Years experience in OT / embedded / gateway hardware & software
–
16 Years ago co-developed MQTT with IBM
–
10+ Years experience with Java in embedded
–
6+ Years history in M2M/IoT cloud platforms
Strong vertical market competencies:
–
Industrial & Logistics
–
Transportation
–
Defense & Security
–
Healthcare & Medical
Eurotech Overview
Some of Our IoT Activities
•
Active in Eclipse IoT
– One of founding member companies
– http://iot.eclipse.org/
•
Contributors to Kura and Kapua
– Contributed the original code from
• ESF
• EDC
– https://www.eclipse.org/kura/
– https://www.eclipse.org/kapua/
•
OSGi Alliance
– IoT Expert Group
– http://osgi.org
The IT/OT Challenge:
Connecting Diverse Worlds
DEVICES
DATA
BUSINESS MODELS
IoT Challenges
Fragmentation
Complexity
Lock-in
Fragmentation
Sensor Protocols
– CANBus
– MODBus
– OPC-UA
– Bluetooth
– BLE
– DECT
– ZigBee
– Z-Wave
Hardware
– ARM
– Intel
Protocols to Cloud
– MQTT
– LWM2M
– CoAP
– AllSeen
Standards
– oneM2M
– Thread
– AllSeen
– Industrial Internet Consortium
– IEEE
Complexity
Security
– Sensors
– Data
– Network
Reliability
– Store and forward
– Best Effort
– Guaranteed
Integration
– Heterogeneous
environments
Network Management
– LAN
– WAN
– Cell
Maintenance and Lifecycle Management
– Deployment/Install
– Upgrade
– Provisioning/Configuration
Lock-in
Sensor(s)
Hardware
Protocol(s)
Vertical Market
Embracing IoT Complexity
How to accelerate overall solution engineering process? How to
include phased, incremental changes?
@
Business
Applications
?
Sensors,
Actuators,
Displays, …
10
IoT Challenges
Addressing the Challenges
✔Fragmentation
✔Complexity
✔Lock-in
Upwards Abstraction towards Business Tiers
Complexity tamed bottom up.
@
@
Data & Analytics Platform
IoT Integration Platform
Business
Applications
Enterprise
Information
Technologies
Operational
Technologies
Cloud-side
Multi-Service
Gateway
Sensors, Actuators,
HMI, SCADA, PLC
12
KURA is the open source Java and OSGibased Application Framework for M2M Service
Gateways in the Eclipse IoT Working Group.
Embedded App
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
Linux OS
Industrial
HW
Open HW
• Raspberry PI
• BeagleBone
M2M
Smart gateways
Black
Sensors
Encapsulating complexity
Increase productivity and decrease cultural barriers
Kura helps customer
focusing on their core
business
Code
on
Code
Code
OSGi
Java VM
Linux
Hardware
Eclipse Open IoT Stack for Java
Add your
app
Your Application
Your Application
Connectivity and Delivery
Cloud Services
Data Services
Field Protocols
MQTT Paho
Modbus
Cellular, Wi-Fi,
Ethernet
Firewall, Port
Forwarding
CANBus
Link Monitors
Basic Gateway Services
DB Service
Device Profile
Clock Service
Watchdog
Custom Protocols
Administration GUI
Network
Configuration
Network Configuration
...
Updates
Management
Configuration
Management
Remote Management
Remote Access
Applications
Device Abstraction
javax.comm
Java HID APIs
javax.usb
w/ udev access
GPS Position
javax.bluetooth / BLE
GPIO / SPI / PWM / I2C
jdk.dio
OSGi Application Container (Eclipse Equinox, Concierge)
Java SE 7 / 8 (OpenJDK)
Add your
app
Agenda
•
Kura Wires
– Dataflow Programming
– Terminologies
– Kura Asset Model
1
From Prototype to Production
Efficient Development & Investment Protection
Software portability
across HW Platforms
Open Software
Open Hardware
Industrial
IoT Gateways
Different People Different Needs
Oh no! I
have to
learn Java
and OSGi!
How can I
build my PoC
very easily
using Eclipse
Kura?
Eclipse Kura
seems
powerful for
my PoC
Solution
...
Dataflow Programming
Approach
…
Application Logic is expressed as a directed
graph
Nodes •
•
•
•
•
have inputs and/or outputs
produce outputs
consume inputs
abstract underlying logics
highly reusable and portable
Our Solution
Eases developers
task •
•
•
•
•
without sacrificing much flexibility
raises the abstraction level
application logic is simplified to node connections
extensible
Eclipse Marketplace Integration
Kura + Wires
• Enhanced Functional Architecture
Your Application
Your Application
Kura Wires
Connectivity and Delivery
Data Services
MQTT Paho
Network
Configuration
Network Configuration
Cellular, Wi-Fi,
Ethernet
Firewall, Port
Forwarding
Asset
Drivers
Link Monitors
OPC UA
Modbus
CANbus
S7
Basic Gateway Services
DB Service
Device Profile
Clock Service
Watchdog
Custom Protocols
Administration GUI
Cloud Services
Asset Management
...
Updates
Management
Configuration
Management
Remote Management
Remote Access
Applications
Device Abstraction
javax.comm
Java HID APIs
javax.usb
w/ udev access
GPS Position
javax.bluetooth / BLE
GPIO / SPI / PWM / I2C
jdk.dio
OSGi Application Container (Eclipse Equinox, Concierge)
Java SE 7 / 8 (OpenJDK)
Terminologies - Wire Graph
Kura Wires Dataflow Graph known as Wire
Graph
Terminologies - Wire Component
Each node in the Wire Graph is a Wire
Component
Terminologies - Wire Component
Wire Component can be a producer of data and/or a consumer of
data
0..n
0..n
Wire Component
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
Terminologies - Asset
Kura Asset
Model
Kura Wires
Asset
Driver
Assets are special types of Wire Components that interact with
transducers
For example, Modbus PLC, S7 PLC or OPC-UA
PLC etc.
Device
Driver
Terminologies - Wire
Logical connections between the Wire Components are known as
Wires
Terminologies - Wire Envelope
Abstract data format decoupling Wire Components to have context
specific knowledge
Preliminary Wire Components and Drivers
Timer
DB Store
Asset
Publisher
DB Filter
Subscribe
r
Logger
Demo
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
Thank You!
Want to Explore More?
Meet Eurotech at Booth
#12
Questions?