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

Everyware Cloud Connection

Everyware Cloud provides an easy mechanism for connecting cloud-ready devices to IT systems and/or applications; therefore, connecting to Everyware Cloud is an important step in creating and maintaining a complete M2M application. Information on Everyware Cloud and its features can be found here. This document outlines how to connect to Everyware Cloud using the ESF Gateway Administrative Console.

Using the ESF Gateway Administrative Console

The ESF Gateway Administrative Console exposes all services necessary for connecting to Everyware Cloud. The reference links listed below outline each service involved in the Everyware Cloud connection. It is recommended that each section be reviewed.

CloudService

The default settings for the CloudService are typically adequate for connecting to Everyware Cloud. The screen capture shown below displays the default settings for the CloudService. For details about each setting, please refer to CloudService.

The Simple JSON payload encoding is not supported by Everyware Cloud. Use the default Kura Protobuf encoding instead.

MqttDataTransport

While the majority of default settings in the MqttDataTransport can be left unchanged, the following parameters must be modified:

  • broker-url - defines the MQTT broker URL that was provided when the Eurotech Everyware Cloud account was established. Information on how to obtain the broker URL can be found here. In the MqttDataTransport configuration screen capture shown below, the broker-url is mqtts://broker-sandbox.everyware-cloud.com:8883/.

An SSL connection (mqtts on port 8883) is required for all Eurotech devices and any device using the ESF security features.

To use an SSL connection (mqtts on port 8883) with the ESF developer environment, a proper keystore has to be provided and linked via the ESF web UI. Please refer to SSL Configuration for further details.

  • topic.context.account-name - defines the account name of the account to which the device is attempting to connect. In the MqttDataTransport configuration screen capture shown below, the account name is ec-account-name.

  • username - identifies the user to be used when creating the connection. In the MqttDataTransport configuration screen capture shown below, the username is ec-account-name-broker.

When connecting to Everyware Cloud, the username must have proper permissions. Information on users and permissions can be found here.

For complete details about the MqttDataTransport configuration parameters, please refer to MqttDataTransport.

DataService

The majority of default settings in the DataService can be left unchanged. A screen capture of the DataService configuration is shown below. For complete details about the DataService configuration parameters, please refer to DataService.

In order for ESF to connect to Everyware Cloud on startup, the connect.auto-on-startup option must be set to true. If this value is changed from false to true, ESF will immediately begin the connection process. It is recommended that the CloudService and MqttDataTransport are configured before setting the connect.auto-on-startup option to true.

Changing the value of connect.auto-on-startup from true to false will not disconnect the client from the broker. This setting simply implies that ESF will not automatically connect on the next start of ESF.

Connect/Disconnect

The status panel can be used to manually connect or disconnect the client while ESF is running. The main button toolbar has a connect and disconnect button that may be used to control connectivity.

Connecting or disconnecting the client via the status panel has no impact on ESF automatically connecting at startup. This capability is only controlled via the connect.auto-on-startup DataService setting.