Everyware Software Framework Developer's Hub

Everyware Software Framework (ESF) is an enterprise-ready IoT Edge Framework distributed and supported by Eurotech. Based on Eclipse Kura, the open source Java/OSGi middleware for IoT gateways, ESF adds provisioning, advanced security, remote access, diagnostics monitoring. It supports ready-to-use field protocols (including Modbus, OPC-UA, S7), MQTT connectivity, and a web-based visual data flow programming to acquire data from the field, process it at the edge, and publish it to IoT Cloud Platforms. ESF features full remote device management through its integration with Everyware Cloud, Eurotech’s IoT Integration Platform.

Get Started

Drivers, Assets, and Channels

ESF introduces a model based on the concepts of Drivers and Assets to simplify the communication with the field devices attached to a gateway.

A Driver encapsulates the communication protocol and its configuration parameters, dealing with the low-level characteristics of the field protocol. It opens, closes and performs the communication with the end field device. It also exposes field protocol specific information that can be used by upper levels of abstraction to simplify the interaction with the end devices.

An Asset is a logical representation of a field device, described by a list of Channels. The Asset uses a specific Driver instance to communicate with the underlying device and it models a generic device resource as a Channel. A register in a PLC or a GATT Characteristic in a Bluetooth device are examples of Channels. In this way, each Asset has multiple Channels for reading and writing data from/to an Industrial Device.

Channel Example

To further describe the concept of Channel and Asset, the following table shows a set of PLC register addresses as provided in a typical PLC documentation.

Name
Entity
Address

LED1

COILS

2049

LED2

COILS

2050

LED3

COILS

2051

LED4 RED

COILS

2052

LED4 GREEN

COILS

2053

LED4 BLUE

COILS

2054

Counter 3

INPUT REGISTERS

515

Quad Counter

INPUT REGISTERS

520

Toggle 4

DISCRETE INPUTS

2052

Toggle 5

DISCRETE INPUTS

2053

Toggle 6

DISCRETE INPUTS

2054

Reset Counter 3

COILS

3075

Reset Quad Counter

COILS

3084

The corresponding Channels definition in the Asset is as follows:

As shown in the previous image, the Channel definition in an Asset results easily mappable to what available in a generic PLC documentation.

Once defined the Channels in an Asset, a simple Java application that leverages the Asset API can easily communicate with the Field device by simply referring the specific Channel of interest.

Drivers and Assets in ESF Administrative UI

ESF provides a specific section of the UI to allow users to manage the different instances of Drivers and Assets.
Using the ESF Web UI the user can instantiate and manage Drivers

but also can manage Assets instances based on existing drivers.

The user interface allows also to perform specific reads on the configured Assets' channels clicking on the Data tab for the selected Asset.

Drivers, Assets, and Channels