解决方案 / SOLUTIONS
ESF物联网软件架构

IoT Edge Framework

 

边缘计算使系统能够在靠近数据源的网络边缘执行数据处理。 这通过在数据源处或附近执行分析和知识生成来减少传感器和中央数据中心之间所需的通信带宽。 物联网 (IoT) 服务网关模型运行企业级软件堆栈并在物联网部署的边缘作为聚合器和控制器运行,为边缘计算解决方案提供了最佳基础。

Eurotech Everyware Software Framework (ESF) Eclipse Kura 的商业企业级版本,Eclipse Kura 是用于物联网网关的开源 Java/OSGi 物联网边缘框架。 ESF Eurotech 分发和支持,通过高级安全性、诊断、配置、远程访问以及与 Eurotech 的物联网集成平台 Everyware Cloud 的完全集成等高级功能增强了 Eclipse Kura

 

ESF IoT Edge 框架使开发人员能够:

 

开发和管理物联网边缘计算应用程序

使用 IoT 工业协议轻松连接到 IoT 设备和云服务

可视化组合数据流以管理、分析和路由数据

 

由于其 Java/OSGi 基础,ESF 及其应用程序可以跨不同的系统硬件架构移植,并且可以动态更新。 此外,由于 ESF 基于领先的开源技术 Eclipse Kura,它可以防止供应商锁定并保证软件投资的保护。

 

https://files.readme.io/75d3f97-schema_ESF-07.png

ESF IoT Edge 框架提供的功能可分为三个主要领域:

连接到现场设备;

开发物联网计算应用程序;

连接到物联网云服务。

连接到现场设备

 

ESF 采用单一模型来简化设备和网关之间的通信。 它首先封装了 Modbus OPC-UA 等协议,以便可以在不同设备之间重复使用通用格式,然后自动创建设备的数字图像,以轻松将其连接到网关和云端。 ESF 还为与 IoT 网关的 I/O 接口的接口提供 API,例如通过 RS 232/485蓝牙 2.1蓝牙 4.0 BLEUSB CAN 总线的串行通信。 Eclipse Marketplace for IoT 提供了对接口和协议的支持。

 

开发物联网计算应用程序

 

ESF 还充当部署在物联网网关上的边缘计算应用程序的应用程序容器。 ESF 应用程序可以使用纯 Java 代码开发并打包为 OSGi 包。 ESF Java API 为数据采集、处理、云连接和远程管理提供了一组丰富的服务。 ESF 还提供了一个简单的可视化数据流编程工具,名为 Wires,只需从调色板中选择组件并将它们连接在一起,即可在边缘定义数据收集和处理管道。 例如,Wires 允许用户定期从其通道获取数据,将它们存储在网关中,使用强大的 SQL 查询过滤或聚合它们,并将结果发送到云。 Eclipse Marketplace for IoT 是一个存储库,可以通过简单的拖放操作将其他 Wires 组件安装到 ESF 运行时中。

https://files.readme.io/22890f8-Demo_wires.png

 

连接性

连接到物联网云服务

 

ESF 还为远程云服务器提供完整的连接管理,实现遥测数据的存储和转发功能,并提供策略驱动的发布系统,将应用程序开发人员从网络层的复杂性和所使用的发布协议中抽象出来。

ESF 提供开箱即用的支持以连接到不同的物联网云提供商,包括 Eurotech Everyware CloudEclipse KapuaMicrosoft Azure IoT HubAmazon Aws IoT,未来还会添加更多。 这将使开发和部署不依赖于特定物联网云供应商的物联网网关解决方案成为可能。 此外,它还允许基于隐私策略从单个物联网网关路由消息生成多个数据流,或将遥测数据与命令和控制消息交换分开,并采用电源消息路由规则。

 

一些云连接器由 ESF 分发提供开箱即用,另一些作为附加组件提供。

 

Platform

References

Everyware Cloud

Connector documentation

Connector included in ESF distribution

Eclipse Kapua

Connector documentation

Connector included in ESF distribution

Microsof Azure IoT

Connector documentation

Connector download

Cumulocity

Connector documentation

Connector download

AWS IoT Core

Connector documentation

Connector download

 

 

现场协议支持

 

ESF 通过专用插件支持以下现场协议。

 

Protocol

Vertical

Role implemented by Gateway

References

Notes

Modbus

Industrial

Master

Documentation
Download

 

OPC UA

Industrial

Client

Documentation
Download

 

Siemens S7

Industrial

Client

Documentation
Download

[1] about PROFINET

LoRa

Industrial

Client

Documentation
Download

[2]

FANUC

Industrial

Client

Documentation
Download

 

J1939

Transportation

Data Acquisition

Documentation
Download for ARM
Download for x86_64

[3]

J1979

Transportation

Data Acquisition

Documentation
Download for ARM
Download for x86_64

 

BACNet

Building Automation

Client

Documentation
Download

 

IEC 60870-5-104

Industrial

Master
Outstation

Master

Documentation
Download for AArch64
Download for ARMv7
Download for x86_64

Outstation

Documentation
Download for AArch64
Download for ARMv7
Download for x86_64

 

IEC 60870-5-101

Industrial

Master

Documentation
Download for AArch64
Download for ARMv7
Download for x86_64

 

DNP3

Industrial

Master
Outstation

Master

Documentation
Download for AArch64
Download for ARMv7
Download for x86_64

Outstation

Documentation
Download for AArch64
Download for ARMv7
Download for x86_64

[4] about how to setup a Modbus to DNP3 mapping

MBus

Industrial

Master

Documentation
Download for AArch64
Download for ARMv7
Download for x86_64

 

Ethernet/IP for AllenBradley

Industrial

Master

Documentation
Download

 

 

 

1] 该驱动程序不实现PROFINET协议,但可用于通过S7COMM协议与西门子S7 PLC交互,不干扰过程通信。

[2] 需要 ReliaWAN 模块。

[3] 该驱动程序主要用于数据采集。 它只支持发送与地址声明和参数请求相关的消息。

[4] ESF 文档中提供了有关如何设置 Modbus 主站到 DNP3 分站映射的指南

 

## I/O drivers

 

ESF 还提供以下驱动程序作为专用插件。

Driver

References

GPIO Driver

Documentation
Download

TI Sensortag Driver

Documentation
Download

iBeacon Driver

Documentation
Download

Eddystone Driver

Documentation
Download

结构体系

先进的软件框架将开发人员从硬件和网络子系统的复杂性中抽象出来,重新定义了集成硬件和软件解决方案的开发和重用性。 Everyware Software Framework (ESF) 是一个智能应用程序容器,可实现物联网网关的远程管理,并提供广泛的 API,允许您编写和部署自己的物联网应用程序。

下图说明了 ESF 功能架构

 

https://files.readme.io/0caf74a-ESF_stack.png

 

ESF Java 虚拟机 (JVM) 之上运行,并利用 OSGiJava 的动态组件系统)来简化编写可重用软件构建块的过程。 ESF API 提供对底层硬件的轻松访问,包括串行端口、GPS、看门狗、USBGPIOI2C 等。它们还提供 OSGi 捆绑包以简化网络配置管理、与物联网服务器的通信以及远程管理 网关。 ESF 组件被设计为可配置的 OSGi 声明式服务,公开服务 API 并引发事件。 虽然有几个 ESF 组件是纯 Java,但其他组件通过 Java 本地接口 (JNI) 调用并依赖于 Linux 操作系统。

 

ESF 提供以下服务:

 

设备抽象层

 

支持通过 javax.comm 2.0 API OSGi I/O 连接的串行端口访问。

通过 javax.usbHID API 或自定义扩展支持 USB 访问和事件。

通过 javax.bluetooth OSGi I/O 连接支持蓝牙和 BLE 访问。

为来自 NMEA 流的 GPS 信息提供定位服务。

利用 jdk.io API 进行 GPIO/PWM/I2C/SPI 访问。

 

基本网关服务

 

时钟服务 - 通过 NTP GPS 提供系统时钟同步

数据库服务——为嵌入式系统提供完整的 SQL 关系数据库,用于边缘数据存储和数据分析

看门狗服务 - 提供向看门狗服务注册关键组件的能力,当检测到问题时通过硬件看门狗强制系统重置

 

连接和交付服务

 

为网关收集并发布到远程服务器的遥测数据启用存储和转发功能。

IoT 应用程序与远程服务器的通信提供易于使用的 API 层。除了简单的发布/订阅之外,云服务 API 还简化了更复杂的交互流的实现,例如请求/响应或远程资源管理。

允许跨部署在网关中的多个应用程序共享到远程服务器的单个连接,从而提供必要的主题分区。

提供策略驱动的发布系统,将应用程序开发人员从网络层的复杂性和使用的发布协议中抽象出来

IoT Clouds 支持领先的 IoT 平台,例如 Everyware CloudMicrosoft Azure IoT HubAmazon Aws IoTEclipse Kapua

 

安全

 

提供 SSL 管理服务,简化 SSL 证书、密钥库、应用程序签名和系统完整性的管理

为设备的远程配置提供易于配置的供应服务。

 

远程管理

 

配置服务 - 利用 OSGi 规范 ConfigurationAdmin MetaType 提供快照服务,用于导入/导出容器中所有注册服务的配置。

允许远程管理安装在 ESF 中的 IoT 应用程序,包括其部署、升级和配置。远程管理服务依赖于配置服务和云服务。

提供 VPN 客户端服务,允许与设备建立 VPN 连接,并使系统管理员能够远程访问设备

 

联网

 

提供 API 来检查和控制物联网网关中可用网络接口的配置,例如以太网、Wi-Fi 和蜂窝调制解调器

提供 API 来控制物联网网关的防火墙和 IP/端口转发配置

终端服务器/客户端 - 允许使用 TCP 连接远程访问和配置网关的串行端口

 

网页管理界面

 

提供在 ESF 容器内运行的基于 Web 的管理控制台(ESF 网关管理控制台)来管理网关。

 

驱动和实用

 

引入统一模型以简化与连接到网关的设备的通信。 Driver 封装了通信协议及其配置参数,而在 Drivers 中通用的 Asset 为设备的信息数据通道建模。创建资产时,设备的镜像自动可用于通过 Java API 或通过远程消息通过云进行按需读取和写入。

 

线缆

 

提供模块化和可视化数据流编程工具,只需从调色板中选择组件并将它们连接在一起,即可在边缘定义数据收集和处理管道。例如,用户可以通过这种方式配置资产,定期从其通道获取数据,将它们存储在网关中,使用强大的 SQL 查询过滤或聚合它们,并将结果发送到云端。 Eclipse Kura Marketplace 是一个存储库,可以通过简单的拖放操作将其他 Wires 组件安装到您的 ESF 运行时中。