使用开源 IIoT 网关加速 Modbus 设备集成
工业物联网 (IIoT) 应用通常需要用于集成 Modbus 外围设备和其他设备的边缘网关,但实施网关可能既昂贵又耗时。开源边缘计算框架可以显着简化部署。
工业物联网 (IIoT) 是指与工业基础设施和应用(包括制造、运输、能源、零售、医疗保健和供应链管理)联网的互连设备、传感器和执行器。这种连接允许数据收集、交换和分析,有可能促进生产力和效率的提高以及其他经济利益。边缘计算应运而生,以响应工业物联网应用的兴起。在边缘计算中,数据由设备本身或本地计算机或服务器处理,而不是传输到数据中心。
在工业用例中,许多传感器需要与边缘网关连接,解决方案架构师和开发人员需要决定边缘网关的软件设计和开发;如何处理来自各种传感器的数据;以及如何在设计和开发阶段执行数据分析。在这种情况下,如果没有开源框架,新的软件开发和bug修复可能会耗费大量的精力和成本。这些问题可以通过在开发阶段使用开源边缘计算框架来开发边缘网关软件来缓解。 EdgeX Foundry 是一个开源的边缘计算框架,可用于边缘网关的软件开发,降低延迟和成本。 Modbus 是一种广泛用于工业系统的开放协议,随着边缘计算需求的出现,将 Modbus 外围设备连接到边缘计算系统的能力非常重要。
这个由两部分组成的系列描述了基于 EdgeX Foundry 的边缘网关设计和开发边缘计算功能的应用程序。第一篇文章通过用例描述了工业传感器,并概述了边缘网关要求,并讨论了 EdgeX 如何满足边缘网关要求。
工业传感器概览
在工业自动化中,传感器和执行器在任何智能产品中都起着至关重要的作用。传感器让我们检测、分析和处理各种变换。执行器接收来自传感器的信号并根据输入执行操作。
工业中使用的一些传感器是温度和湿度传感器、压力传感器、接近传感器、气体和化学传感器等。这些传感器的一些用例包括:
- 温度在定义生物样本的完整性方面起着关键作用。如果样品没有严格的温度控制,它们就会变得毫无用处,影响实验结论,甚至更糟的是病人的健康。医院的 IT 系统管理员可以安装温度传感器,全天候监控实验室和诊所的温度。
- 有些产品对湿度和温度很敏感。将此类产品储存在普通仓库中会导致其腐蚀,因此需要储存在气候受控的环境中。仓库经理可以放置传感器来持续监控仓库环境。
- 压力传感器用于感应气体和液体中的压力变化。水压传感器可以安装在浸没在容器内的开口管的顶部,用于测量水箱中的水位,或水位始终的变化率。
在实时工业环境中,设备到设备的通信、设备之间的单向或双向通信系统地发生。根据设备制造商的不同,使用专有或开源协议。许多制造商采用开放协议以适应轻松地将其产品集成到市场中。 Modbus 是连接工业电子设备和 SCADA(监督控制和数据采集)最常见的自动化通信协议之一。
Modbus 协议的优势在于支持多个制造商、软件供应商、服务组织,并有活跃的社区团体进行支持。串行端口和以太网存在多个版本的 Modbus 协议,最常见的是 Modbus RTU、Modbus ASCII、Modbus TCP 和 Modbus Plus。它通过多种类型的物理介质进行通信,例如串行 RS-232、RS-485、RS-422 和以太网,并且能够支持对等和多点网络。借助以太网上的 Modbus TCP/IP,Modbus 和其他类型的混合协议可以通过相同的物理接口同时共存。这些特性促使行业和用户选择支持 Modbus 协议的传感器。
边缘网关概述
设备连接
边缘网关的一个关键要求是实现与传感器和执行器的连接。有许多行业协议可以促进不同的设备通信方法。边缘解决方案应支持最常见的工业协议,例如 ZigBee、Bluetooth LE、BACnet、Modbus 和 Siemens S7。
数据分析和规则引擎
数据可以通过网关在本地运行应用程序的能力在本地计算。人工智能服务可以在本地处理来自下游设备的数据,在本地对洞察做出反应,并将一部分数据发送到云端。规则的制定也很重要。
数据存储
除了本地处理之外,网关还应该能够在本地存储数据。这是允许网关自主运行的关键。本地计算和本地存储的结合应该允许网关也可以在离线模式下运行。
互操作性
在边缘网关上运行的连接设备和应用程序应提供跨其他产品或系统的互操作性。
安全
数据可能需要在边缘网关中的不同模块之间交换,这些模块和设备需要相互验证它们的连接,因此需要将安全性集成到边缘解决方案中。边缘解决方案应允许基于权限的访问控制、安全加密通信、证书管理以及与现有安全解决方案的集成。
设备管理
Edge 网关需要一种远程管理和访问每个单独网关的方法。远程管理功能应允许操作员远程启动、停止、配置和更新网关及其连接的设备。
云连接
边缘网关和云系统之间的连接是必不可少的。它可以帮助记录准确的数据以进行深入分析,并将收集到的数据按需传输到其他应用程序。
便携性
边缘解决方案的软件应该可以移植到不同的操作系统和硬件平台。它将帮助用户避免被锁定在特定供应商的硬件和软件解决方案中。
EdgeX Foundry
为什么要开源而不是开发?
开发一个新的软件框架会消耗大量的时间、精力和成本。它需要在每个阶段(例如设计、开发和测试)中花费最多的时间。 EdgeX Foundry 是一个开源边缘计算框架,它已经提供了边缘网关可服务性所需的所有微服务。该框架运行松耦合微服务,不需要将所有服务一起运行,只需要运行依赖服务。可以根据需要使用其他服务。基于这些优势,开源边缘计算框架成为边缘网关的软件基础。
EdgeX Foundry 项目已在 Linux 基金会下启动。它是一个开放的、可互操作的物联网边缘平台。该框架由不同的层构成,每一层由多个微服务组成。模块化架构允许用户轻松扩展、更新和分发逻辑到不同的系统,提高可维护性。
EdgeX 兼容 Windows、macOS 和 Linux 系统。该平台架构的设计方式是任何技术人员都可以在短时间内学习、实施并自行贡献。
EdgeX 通过为设备数据摄取、标准化、边缘智能 (AI/ML) 和共享支持新物联网数据服务和高级边缘计算应用程序提供可替换的参考服务,加快完整边缘解决方案和/或边缘软件/硬件产品的上市时间.
EdgeX 已经在 EdgeXpert、EdgeXRT、HP Engage Edge、EdgeBox 和 Dell 网关等产品中实施。 EdgeX 框架在这些众多产品中的使用进一步建立了在其他边缘网关中使用的信任。
EdgeX 如何满足边缘网关要求?
EdgeX Foundry 是一个开源的、供应商中立的软件平台,用作物理传感和驱动“事物”与信息技术 (IT) 系统之间的边缘中间件。
图 1. EdgeX Foundry(来源:www.edgexfoundry.org)
数据存储——Redis DB
EdgeX 默认提供开源 Redis 作为数据库。 Redis 提供了一系列不同的持久性选项,例如 RDB、AOF。它是一种用于存储和转发的内存数据结构。这有助于边缘设备在连接和断开模式之间切换。
数据分析——柯伊伯规则引擎
EdgeX 提供 EMQ X Kuiper,一个轻量级的开源软件包,用于物联网边缘分析和流处理。 Kuiper 可以在各种资源受限的边缘设备上运行。 Kuiper 规则基于 Source、SQL 和 Sink。
- Source:流数据的数据源,例如来自 MQTT 代理的数据。
- SQL:SQL 用于指定流数据处理的业务逻辑。 Kuiper 提供类 SQL 语句,允许用户提取、过滤和转换数据。
- Sink:Sink 用于将分析结果发送到指定目标,例如 MQTT 代理或 HTTP REST 地址。
使用Kuiper需要以下四个步骤:
- 创建需要指定数据源的流
- 为数据分析编写 SQL/规则
- 指定用于保存分析结果的接收器目标
- 部署和运行规则
设备连接 - 设备服务
EdgeX 提供了四个松耦合的微服务层。其中,设备服务层与设备服务交互。 EdgeX 设备服务通过数百种协议和数千种格式转换来自设备的信息,并将它们带入 EdgeX。
设备服务是与智能家电、传感器、执行器和工业中的任何机器等设备交互的边缘连接器。除了获取传感器数据和驱动设备之外,设备服务还可以:
- 从设备/传感器获取状态更新
- 在将传感器数据发送到 EdgeX 之前转换数据
- 更改配置
- 发现设备
设备服务可以一次为一个或多个设备提供服务。该设备可以是 EdgeX 的边缘/物联网网关(以及该网关的所有设备)、设备管理器、传感器集线器、可通过 HTTP 获得的 Web 服务或充当设备或设备集合的软件传感器代工。
互操作性 - MQTT Broker 和 REST API
EdgeX 支持轻量级 MQTT 消息传递协议。它使用户能够发布或订阅消息传输,这是连接远程设备的理想选择,代码占用空间小,网络带宽最小。
EdgeX 支持 REST 设备服务,这为第三方应用程序通过 REST 协议将数据推送到 EdgeX 提供了一种简单的方式。
安全性 – 安全商店和 API 网关
EdgeX 提供了两个关键的安全组件。第一个是安全存储,用于提供一个安全的地方来保存 EdgeX 的机密,例如密码、认证和访问密钥。第二个是API网关,作为反向代理,限制对EdgeX REST资源的访问,进行访问控制相关工作。
设备管理 – 设备管理 API
EdgeX 提供了一个选项来定期检查健康状况。用于获取有关任何设备的元数据的设备管理 API。
云连接
EdgeX 支持连接 AWS、Microsoft Azure 和 IBM Watson 云等云平台。
EdgeX 中的云连接以两种方式提供:
- 应用程序服务:需要编译这些服务才能部署,以便将数据发送到 AWS 和 Microsoft Azure 等云服务。它直接从 edgex-core-data 发布数据事件的消息总线接收数据。
- 应用服务可配置:它提供了一种使用配置的快捷方式,而不是编译服务以使用内置 SDK 功能。
第二篇文章将提供工业传感器与 EdgeX 接口以实现边缘计算功能的案例研究。
物联网技术