EdgeX Foundry 简介
译者:penghuster
来源:Introduction to EdgeX Foundry
简介
EdgeX Foundry 是一个供应商中立的边缘网络开源软件平台,它与物理设备相互作用,例如每天工作的设备、传感器、执行器以及其他物联网对象。其目的在于构建一个工业化的物联网边缘计算的通用框架。EdgeX 平台鼓励快速增长的物联网供应商社群共同工作于一个互操作组件的生态系统,该系统能减少不确定性,加速市场化,并促进规模化。
通过带来此急需的互操作性,EdgeX 使得一些工作都变得更容易,例如监控物理世界的设备、收集其数据、传送数据到云(云是数据被存储、集合、分析,以及变成信息、驱动信号、发挥作用等的地方)上。因此 EdgeX 使数据从南区传输到云端和旁边的相关网关,或返回给设备、传感器和执行器。
这个倡议是围绕一个共同目标而进行的:简化并标准化分层边缘计算框架在工业化物联网市场的基础标准,同时使这个生态系统能够提供重要的增值演化。如果你不需要进一步描述,并想立即开始使用 EdgeX Foundry 的话,请点击链接: Getting Started Guide
术语定义:南区与北区
南区: 所有的物联网对象,包括物理范畴,和与物理设备、传感器、执行器以及其他物联网对象直接通信的网络边缘,并从此类设备收集数据,在这个系统中称为南区。
北区: 云端或企业系统是数据收集、存储、聚集、分析、提取信息和与云端通信的网络,所有涉及的这些被称为北区。
EdgeX 是数据能够被传送到 南区,北区,或者就地需要,或直接处理。
EdgeX Foundry 架构的基本原则
EdgeX Foundry 是在以下几条总体原则的指导下构思出来的:
EdgeX Foundry 必须是一个透明平台对于
- 硬件
- 操作系统(Linux、Windows等。)
- 功能分配 — 它必须考虑借助微服务实现功能在边缘、网关、雾、云端等的分配。
- 对于协议和传感器透明
EdgeX Foundry 必须是极度柔性的
- 平台的任何部分都可以通过微服务或软件组件的方式升级、替换、扩展。
- 允许服务基于设备能力和用户需求规模化增长和减小。
- EdgeX Foundry 应该提供参考实现的服务,但是也鼓励最好的繁殖方案。
EdgeX Foundry 必须提供存储和转发能力(支持失联的或偏远的边缘系统)
EdgeX Foundry 必须提供并促进“智能”更靠近边缘系统,为了处理
- 响应延迟的问题
- 宽带和存储的问题
- 远程操作的问题
EdgeX Foundry 必须支持新旧传感器/设备的混合部署
EdgeX Foundry 必须是安全并容易被管理的
返回顶部
EdgeX Foundry 服务层次
EdgeX Foundry 是一个开源微服务集合。这些微服务通过 4 个服务层次来组织,以及 2 个基本的增强系统服务。服务层次从物理边缘范畴的设备服务层,贯穿到信息边缘范畴的出口服务层,还包括中间的核心服务层。
EdgeX Foundry 的 4 个服务层次是如下:
- 核心服务层
- 支撑服务层
- 接口服务层
- 数据服务层
EdgeX Foundry 的 2 个基础系统服务是如下:
- 安全
- 系统管理
核心服务层
核心服务层位于南区和北区交接处。核心服务包括如下组件:
- 核心数据: 一个持久性存储库以及与其关联的数据管理服务,该服务管理从南区对象收集的相关数据。
- 命令: 一个便于控制从北区到南区的执行器请求的服务。
- 元数据: 一个存储库以及与其关联的元数据管理服务,该服务管理连接到 EdgeX Foundry 相关对象的元数据。提供新设备的配置能力,并与其设备服务配对。
- 注册和配置: 提供 EdgeX Foundry 的其他关联的微服务信息,并配置微服务的属性(例如,一个存储库的初始值)。
EdgeX Foundry 的核心服务层目前包含了如下微服务:
- 架构--核心服务--配置与注册
- 架构--核心服务--核心数据
- 架构--核心服务--元数据
- 架构--核心服务--命令
API 详细说明以及样例代码能够在如下网页链接中找到:
- 接口--核心服务--配置与注册
- 接口--核心服务--核心数据
- 接口--核心服务--元数据
- 接口--核心服务--命令
支撑服务层
支撑服务(SS)层包含许多微服务,这些微服务提供边缘分析、智能,并为 EdgeX Foundry 自己提供一些服务。常规软件的记录日志、调度、数据清理等职责被 SS 层中的微服务所承担。
规则引擎、告警和通知等微服务是在 SS 层中,因为它们需要操作核心服务层。本地分析能力(作为一个样例规则被实现)也是位于该层。
EdgeX Foundry 的支撑服务层目前包含以下几个微服务:
- 架构--支撑服务--告警与通知
- 架构--支撑服务--日志
- 架构--支撑服务--调度
- 架构--支撑服务--规则引擎
API 使用说明和样例代码在如下链接中可以找到:
- 接口--支撑服务--告警与通知
- 接口--支撑服务--日志
- 接口--支撑服务--调度
- 接口--支撑服务--规则引擎
出口服务层
EdgeX Foundry 有时需要独立于其他系统运转。网关经常独立地运转,并有时与环境断开连接,并监控和管理一个几乎没有外部监控或控制的设备或传感器集合。因此,EdgeX Foundry 在一段长的时间不与北区系统相连的情况下能够自行保持运转。在边缘产生的数据和“智慧”应该被收集并传输到云端系统。执行该传输工作的层次称为 出口服务层(ES)。
出口服务层提供了一系列执行如下活动的微服务:
- 启用或关闭 注册网关客户端所感兴趣的数据,这些数据都是来源于南区的设备对象。
- 通知数据传递的时间和目的地址
- 通知数据传递的格式与形式
例如,“where 和 when” 可以是每一小时发送温度数据到一个 REST 地址,并且数据格式与形式可以是压缩形式的 JSON 数据。
出口服务层目前包括已下微服务:
- 架构--出口服务--客户端注册
- 架构--出口服务--分配
具体的 API 细节以及代码样例在如下链接可以发现(分配没有也不需要 API 说明)。
- 接口--出口服务--客户端注册
设备服务层
设备服务层相互作用于设备服务。
设备服务(DS)是相互作用于设备或 IoT 对象(物)的边缘连接器,包括但不限于:告警系统、家用或办公用的加热和空调系统、照明、工业用机器、灌溉系统、遥控飞机、轨道系统的执行器、工厂执行器、家用电器等。在将来,还可能包含无人驾驶的汽车或卡车、交通信号、快餐食物工厂执行器、自服务杂货店执行器、医疗检测设备等。
设备服务可以同时服务一个或多个设备(传感器、执行器等)。设备服务层管理的设备不仅仅是一个简单的物理设备,还能作为其他设备的网关;对于 EdgeX Foundry 来说是一个设备管理器、设备聚合器。
设备服务层的微服务与设备、传感器、执行器或其他物联网对象使用原有协议进行通信。设备服务层将从设备收集到的数据转换为通用的 EdgeX Foundry 数据结构,并传送转换后的数据到核心服务层,供 EdgeX Foundry 其他层次的微服务进行使用。
为了生成设备服务层的外壳,EdgeX Foundry 提供一个设备服务软件开发包(SDK)。这使得穿件新的设备服务变得容易,并为核心服务层提供连接器编码。
EdgeX Foundry 的设备服务层目前主要包括如下微服务:
- 架构--设备服务--虚拟设备
其 API 细节和代码样例在如下链接中可以找到:
- 接口--设备服务--虚拟设备服务
设备服务用例
- 一个楼宇设备网转换楼宇设备支持的我问都和湿度数据为通用的 EdgeX Foundry 对象数据结构。
- 一个设备服务接受,并转椅从其他的 EdgeX Foundry 服务或云端扶手收到的命令,并传送请求到设备以其可以理解的程序语言进行执行。
- 一个设备服务可以收到一个关闭 PLC控制器的命令。设备服务层将转译这个一般的 EdgeX Foundry 的关闭请求为一个 PLC控制器可理解的执行请求。
EdgeX Foundry 系统服务
安全基础设施
安全元素贯穿于 EdgeX Foundry 项目的内外,用于保护 EdgeX Foundry
所管理的设备、传感器和其他物联网对象的数据、命令。
系统管理
系统管理方便提供安装、更新、开始、停止、监控 EdgeX Foundry 的微服务、BIOS 固件、操作系统、其他网关相关软件,也能支持从下机或基于企业系统的这些功能。
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)