参考资料
- 官网:https://www.edgexfoundry.org/
- 文档:
a. https://docs.edgexfoundry.org/1.3/
b. https://nexus.edgexfoundry.org/content/sites/docs/staging/delhi/docs/_build/html/index.html - github:https://github.com/edgexfoundry/edgex-go
- wiki:https://wiki.edgexfoundry.org/
- 沟通: https://edgexfoundry.slack.com
介绍
简介
EdgeX是LF Edge主持的开源项目,目的是在IoT边缘计算场景下构建一个与供应商无关(vendor-neutral)的通用框架。核心是一个交互框架,承载于与硬件和操作系统无关的(a full hardware- and OS-agnostic)参考软件平台,以实现即插即用(plug-and-play)的组件生态系统,从而统一市场并加速物联网解决方案的部署。
License
Apache 2 License - (permissive)它允许用户将该软件用于任何目的。它允许用户分发、修改甚至分支代码库,而无需向创建项目寻求许可。它允许用户更改或扩展代码库,而无需对原项目作出贡献。允许项目被用于商业用途。
架构和组件
架构图
EdgeX Foundry 是开源微服务的集合,目前分为4个服务层和2个基础系统服务。
Service Layers
Core Services:
核心服务层提供EdgeX南北向的中介,这些服务是EdgeX功能的核心。核心服务涉及事物连接、传感器数据收集、edgex 配置存储。核心服务层包含:
- Core data:持久化存储和关联管理从南向收集的数据
- Command:使北向到南向的请求简便并可以受控制的服务
- Metadata:元数据存储和关联管理服务,提供将新设备与对应设备服务匹配的能力
- Registry and Configuration:向其他微服务提供系统和微服务配置属性信息(即初始化值存储库)
Supporting Services
支持服务层包含广泛的边缘侧分析(本地分析)的微服务。日志、计划(scheduling)、数据清洗等通常软件应用职责由支持服务器层微服务提供。
这些服务通常依赖一些核心服务。所有的支持层服务都是可选的,也就是说支持层服务是非必须的,部署时可以根据系统资源选择性的安装。支持层服务包含:
- Rules Engine:本地分析的参考实现。在边缘测基于edgex实例收集的传感器数据,执行if-then条件驱动。(此服务可能会在将来被取代或增强,目前在Hanoi1.3release中基于EMQ kuiper)
- Scheduling:一个内部时钟,可以在指定时间,通过REST调用EdgeX服务API URL操作任何EdgeX服务。
- Logging:为EdgeX提供中心化的日志设施。其他服务服务通过日志服务的REST API将日志发送到日志服务,并可以持久化到文件/数据库。(Logging服务将在Geneva 版本后弃用)[其他服务的日志还可以输出到系统的标准输出和文件中,大多数操作系统提供了比日志服务更好的汇集功能]
- Alerts and Notifications:为EdgeX服务提供预警和通知的中心设施。
Application Services
应用程序服务是从EdgeX提取、处理/转换和发送感测数据到其他端点或进程的方式。EdgeX提供了将数据导出到例如Amazon IoT Hub, Google IoT Core, Azure IoT Hub, IBM Watson IoT,HTTP(s)、MQTT(s)的示例。
App service 基于管道思想,按顺序处理消息,包含:触发器(数据源)、过滤、转换、压缩、加密,结束后通过MQTT/HTTP发出。
- App Function SDK
Device Services
设备服务连接EdgeX和真实的事物(如传感器设备等)。设备服务提供 EdgeX 和物理设备之间的抽象,即:设备服务"包装"协议通信代码、设备驱动程序/固件和实际设备(EdgeX实际交互的是设备服务)。
设备服务可以使用device service SDK创建。SDK提供了所有设备服务所需的通用基础功能。
- Device Service SDK
- Device Profile
- 现有的 Device Service
a. Modbus
b. MQTT
c. BLE
d. BACnet
e. REST
f. ONVIF
g. SNMP
h. 其他:gpio uart coap-c rfid(llrp) 将在 Ireland(2021.4)提供
Underlying System Services
Security Infrastructure
为数据、设备、传感器、和其他IoT对象管理提供保护。基于 “vendor-neutral open source software platform at the edge of the network”,EdgeX 安全功能也建立在开放接口和可插拔、可更换模块的基础上。
安全组件:
4. security store:保存EdgeX密钥
5. API gateway serves:反向代理,限制API访问
System Management
对EdgeX服务状态进行管理。