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,它可以防止供应商锁定并保证软件投资的保护。
ESF IoT Edge 框架提供的功能可分为三个主要领域:
连接到现场设备;
开发物联网计算应用程序;
连接到物联网云服务。
连接到现场设备
ESF 采用单一模型来简化设备和网关之间的通信。 它首先封装了 Modbus 和 OPC-UA 等协议,以便可以在不同设备之间重复使用通用格式,然后自动创建设备的数字图像,以轻松将其连接到网关和云端。 ESF 还为与 IoT 网关的 I/O 接口的接口提供 API,例如通过 RS 232/485、蓝牙 2.1、蓝牙 4.0 和 BLE、USB 和 CAN 总线的串行通信。 Eclipse Marketplace for IoT 提供了对接口和协议的支持。
开发物联网计算应用程序
ESF 还充当部署在物联网网关上的边缘计算应用程序的应用程序容器。 ESF 应用程序可以使用纯 Java 代码开发并打包为 OSGi 包。 ESF Java API 为数据采集、处理、云连接和远程管理提供了一组丰富的服务。 ESF 还提供了一个简单的可视化数据流编程工具,名为 Wires,只需从调色板中选择组件并将它们连接在一起,即可在边缘定义数据收集和处理管道。 例如,Wires 允许用户定期从其通道获取数据,将它们存储在网关中,使用强大的 SQL 查询过滤或聚合它们,并将结果发送到云。 Eclipse Marketplace for IoT 是一个存储库,可以通过简单的拖放操作将其他 Wires 组件安装到 ESF 运行时中。
连接性
连接到物联网云服务
ESF 还为远程云服务器提供完整的连接管理,实现遥测数据的存储和转发功能,并提供策略驱动的发布系统,将应用程序开发人员从网络层的复杂性和所使用的发布协议中抽象出来。
ESF 提供开箱即用的支持以连接到不同的物联网云提供商,包括 Eurotech Everyware Cloud、Eclipse Kapua、Microsoft Azure IoT Hub、Amazon 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 |
|
|
OPC UA |
Industrial |
Client |
|
|
Siemens S7 |
Industrial |
Client |
[1] about PROFINET |
|
LoRa |
Industrial |
Client |
[2] |
|
FANUC |
Industrial |
Client |
|
|
J1939 |
Transportation |
Data Acquisition |
[3] |
|
J1979 |
Transportation |
Data Acquisition |
|
|
BACNet |
Building Automation |
Client |
|
|
IEC 60870-5-104 |
Industrial |
Master |
Master |
|
IEC 60870-5-101 |
Industrial |
Master |
Documentation |
|
DNP3 |
Industrial |
Master |
Master |
[4] about how to setup a Modbus to DNP3 mapping |
MBus |
Industrial |
Master |
Documentation |
|
Ethernet/IP for AllenBradley |
Industrial |
Master |
|
1] 该驱动程序不实现PROFINET协议,但可用于通过S7COMM协议与西门子S7 PLC交互,不干扰过程通信。
[2] 需要 ReliaWAN 模块。
[3] 该驱动程序主要用于数据采集。 它只支持发送与地址声明和参数请求相关的消息。
[4] ESF 文档中提供了有关如何设置 Modbus 主站到 DNP3 分站映射的指南
## I/O drivers
ESF 还提供以下驱动程序作为专用插件。
Driver |
References |
GPIO Driver |
|
TI Sensortag Driver |
|
iBeacon Driver |
|
Eddystone Driver |
结构体系
先进的软件框架将开发人员从硬件和网络子系统的复杂性中抽象出来,重新定义了集成硬件和软件解决方案的开发和可重用性。 Everyware Software Framework (ESF) 是一个智能应用程序容器,可实现物联网网关的远程管理,并提供广泛的 API,允许您编写和部署自己的物联网应用程序。
下图说明了 ESF 功能架构。
ESF 在 Java 虚拟机 (JVM) 之上运行,并利用 OSGi(Java 的动态组件系统)来简化编写可重用软件构建块的过程。 ESF API 提供对底层硬件的轻松访问,包括串行端口、GPS、看门狗、USB、GPIO、I2C 等。它们还提供 OSGi 捆绑包以简化网络配置管理、与物联网服务器的通信以及远程管理 网关。 ESF 组件被设计为可配置的 OSGi 声明式服务,公开服务 API 并引发事件。 虽然有几个 ESF 组件是纯 Java,但其他组件通过 Java 本地接口 (JNI) 调用并依赖于 Linux 操作系统。
ESF 提供以下服务:
设备抽象层
支持通过 javax.comm 2.0 API 或 OSGi I/O 连接的串行端口访问。
通过 javax.usb、HID 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 Cloud、Microsoft Azure IoT Hub、Amazon Aws IoT、Eclipse 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 运行时中。