1、EdgeX Foundry 介绍
2、框架介绍
设备服务层
核心服务层
支持服务层
应用服务层
3、EdgeX工作原理
基于消息总线的消息传输(从南到北)
基于消息总线的消息传输(从北到南)
1、EdgeX Foundry 介绍
EdgeX Foundry 它是一个位于网络边缘的开源、供应商中立、灵活、可互操作的软件平台,可以与物联网对象、设备、传感器、执行器等物理世界互动。
简单来说,EdgeX 边缘中间件 — 服务于物理传感和执行事物和我们的信息技术 (IT) 系统之间。
2、框架介绍
EdgeX Foundry 的 4 服务层如下:
- 核心服务层
- 支持服务层
- 应用服务层
- 设备服务层
EdgeX Foundry两个底层系统的服务如下:
- 安全
- 系统管理
从南到北依次是:
设备服务层
将事物(即传感器和设备)连接到设备服务 EdgeX 的部分。
设备服务可同时为一个或多个事物或设备(传感器、执行器等)提供服务。
通过本机协议与设备、传感器、执行器等各设备对象的设备服务 IoT 通信对象。设备服务将物联网对象生成和通信的数据转换为通用数据 EdgeX Foundry 将转换后的数据发送到核心服务层和数据结构 EdgeX Foundry 其他层面的微服务。
核心服务层
- 核心数据:从南侧对象收集的数据的持久存储库及相关管理服务。
- 命令:从北到南促进和控制驱动请求服务。
- 元数据:相关连接 EdgeX Foundry 元数据元数据存储库及相关管理服务。元数据提供配置新设备和配置自己设备服务的能力。
- 注册表及配置: EdgeX Foundry 提供微服务 EdgeX Foundry 内关联服务和微服务配置属性的信息(即 - 初始化值的存储库)。
支持服务层
您可以选择支持服务层。根据实际情况进行选择。
- 规则引擎:参考边缘分析服务的实施 EdgeX 实例收集的传感器数据在边缘执行 if-then 条件驱动。特定的分析功能可以替换或增强此服务。
- 调度程序:内部 EdgeX 任何时钟都可以启动 EdgeX 服务中的操作。服务将在指定时间配置 REST 调用任何 EdgeX 服务 API URL 以触发操作。例如,调度程序服务会定期调用核心数据 API 清理已成功 EdgeX 导出的旧感知事件。
- 报警和通知:为 EdgeX 提供中央设施发送报警或通知。这些是发送到另一个系统或监控 EdgeX 实例通知(内部服务通信通常更直接)。
应用服务层
应用程序服务是从 EdgeX 将感知数据提取、处理/转换并发送到您选择的端点或过程。
应用程序服务基于功能管道的概念。函数管道按指定顺序处理信息(本例为 EdgeX 事件信息)函数集合。触发器是管道中的第一个函数。
当信息通过所有函数并设置为接收器时,函数管道结束。将生成的信息发送到 Azure 或 AWS 的 MQTT 主题是接收器完成应用程序服务的例子。
EdgeX 提供两种类型 SDK 帮助创建南北应用服务和设备服务的南北侧服务。
3、EdgeX工作原理
基于消息总线的消息传输(从南到北)
将事件对象放在消息总线(可通过 Redis Streams 或 MQTT 实现)。消息总线上事件消息的订阅者可以是应用程序服务或核心数据,也可以是两者兼有的
应用程序服务根据需要转换数据并将数据推送到端点。它还可以在将事件发送到端点之前通过事件、丰富、压缩、加密或执行其他功能。端点可以是 HTTP/S 端点、MQTT 主题、云系统(云主题)等。
基于消息总线的消息传输(从北侧到南侧)
正如应用程序服务准备数据以供北侧云系统或应用程序使用一样,应用程序服务可以处理 EdgeX 事件(及其包含的传感器数据)并将其获取到任何分析包。
分析包可以探索传感器事件数据并做出触发设备启动的决定。例如,它可以检查发动机的压力读数是否大于 60 PSI。当这样的规则被确定为真时,分析包调用核心命令服务来触发一些动作,比如在一些可控设备上“打开阀门”。
核心命令服务获取驱动请求并确定它需要根据请求对哪个设备进行操作;然后调用拥有的设备服务来执行驱动。核心命令允许开发人员在执行之前采取额外的安全措施或检查。
设备服务接收驱动请求,将其转换为特定于协议的请求,并将请求转发给所需的设备。