September 08, 2017

Using Kura Wires to Easily Program Edge Devices with Open Source Technology

By Special Guest
Franco Potepan, Director, Eurotech Software Products Management

IoT edge computing pushes data management and analysis from the cloud to IoT gateways for a more efficient solution. Devices, sensors,and actuators connect to an IoT gateway that can manage, route, store, analyze, act upon, and send the data to a cloud service.BI Intelligence forecasts that 5.6 billion devices will be connected to an edge computing solution by 2020.

Eurotech was a founding member of the Eclipse IoT Working Group, a collaborative group working to create open source software for IoT solutions. Within that Working Group is the Eclipse Kura project we contributed in 2013, an open source Java/OSGi middleware for building IoT gateways.

The Eclipse Foundation recently announced a major new release of Eclipse Kura (3.0), adding features to further simplify the process of connecting IoT gateways and IoT cloud services. I want to share one of the key features with IoT developers – Kura Wires. Kura Wires will change the way you implement Industrial 4.0 IoT scenarios.

In a typical Industry 4.0 scenario, a gateway or edge device collects data from several sensors or industrial devices using one or more protocols like Modbus or OPC-UA, applies some logic to the data, and publishes it to the cloud. To achieve these tasks, some level of programming, often in Java, is required.

Kura Wires is a modular and visual data flow programming tool to define data collection and processing paths at the edge by selecting components from a palette and wiring them together. Components that represent devices, events, filters, configurable logic, or more advanced modules designed for a specific function can be wired together to configure and perform complex tasks at the gateway level

For example, users can configure a device, periodically acquire data from its channels, store them in the gateway, filter or aggregate them using powerful SQL queries, and send the results to the cloud.

Basically, Kura Wires offers a way to program edge devices without writing any code. You can easily prototype a solution by working at a high level of abstraction, without sacrificing flexibility. You can specify very complex data flows, data filtering, communication configuration, and more. Several components come in the Kura 3.0 release such as two of the most often requested industrial protocols – OPC/UA and Modbus. Others, contributed by the community to the Eclipse open source projects, are available in the Eclipse IoT Kura Marketplace, a repository from which additional Wires components can be installed into a Kura runtime with a simple drag-and-drop.

A sample Kura Wires Modbus application
Figure 1 shows an application where a device is configured to be connected to an industrial device using Modbus. You can define an entire logic with a simple wire graph. The first box represents a timer that tells the application that you want the data every 5 seconds, for instance.  The timer gives the trigger to this Modbus component that represents the industrial device that communicates using Modbus. Inside of that component you can specify which data channels to monitor such as temperature, controlling a switch, and 200 others if you like. Then you must decide what to do with all of the data. You can send it to another wired component and publish it to a cloud to store and perform data analytics at the cloud level.

The Modbus example above is very simple, but Kura Wires can actually handle more advanced components. You can specify a complex query or how the data will be aggregated and more.

How to configure data channels in a Kura Wires asset.
Figure 2 shows how simple it is to add and configure additional channels ofa Kura Wires asset that represents a device communicatingwith the OPC-UA protocol. Normally you would need to be in a full development environment to add a channel to check temperature. With Kura Wires you can simply add a new channel and then set a light to turn on when the temperature reads over 30°C, for instance.

Eurotech’sEveryware Software Framework, a commercial, enterprise-ready edition of Eclipse Kura, includes Kura Wires in its version 5. Our clients are demonstrating that Kura Wires is becoming one of the important features in an IoT framework – the simplicity to connect with the field and specify the logic to send data up to the cloud is invaluable as enterprises try to develop and implement successful IoT solutions.

Edited by Ken Briodagh

Back to Homepage
Comments powered by Disqus