核心技术使边缘智能成为可能

开发环境结合了设备管理、连接、云和分析。

通过库尔特·欧,研华科技 二零一七年十一月九日

随着工业物联网(IIoT)的发展,它受到了与前几代自动化相同的集成挑战的影响。除了不断变化的需求之外,还应用了许多不同的硬件和软件技术和应用程序。然而,今天,使用开放标准,这些不同的元素可以融合在一起以交付解决方案。

在工业物联网产品和应用开发中,开发人员的目标可能是:

  • 通过互联网支持异构传感器和执行器
  • 集成异构有线和无线连接协议,包括Modbus, LoRa, Sigfox, Wi-Fi,蓝牙等
  • 将原始软件移植到不同的硬件,包括MCU、x86/ARM CPU、GPU等,以及包括Microsoft Windows、Linux发行版、mbed OS、Android等操作系统
  • 连接云服务,可能包括WISE-PaaS、Microsoft Azure、ARM mbed cloud、IBM Bluemix等
  • 维护数据的所有权和完整性及其对安全和隐私的影响
  • 快速开发健壮的应用程序
  • 部署、更新、升级和维护大量设备和服务
  • 将大数据转化为有价值的商业信息。

因此,工业物联网产品或解决方案必须满足与传感器、连接、安全、云服务、存储、设备硬件、设备维护、边缘/云分析、系统集成、应用程序开发等相关的挑战。许多公司面临的第一个挑战是迁移到物联网应用程序,同时平衡设计时间、上市时间和风险。

网络的解剖

物联网数据量可能很大。应用程序通常有实时需求。传输大量原始数据会给网络资源带来负荷。通常,在数据源附近处理数据更有效,只将有价值的部分发送到云中心。

边缘计算是一种分布式信息技术(IT)架构,其中客户端数据在网络的外围处理,尽可能靠近原始源。边缘计算中的时间敏感数据可以由智能设备在原点处理,也可以发送到地理位置接近的中间服务器。对时间不太敏感的数据可以发送到云端进行历史分析、大数据分析和长期存储。

工业物联网软件平台服务基于三个关键组件:工业物联网节点、边缘智能服务器和云服务。以下描述了任何供应商或使用企业在开发其平台时必须做出的一些技术选择。

对于边缘设备开发,“南向”传感设备连接必须处理各种传感协议,如Modbus、OPC、BACnet和无线IP/NonIP。这些协议可以由处理传感器数据、数据规范化和通信的插件模块来处理。

然后,该解决方案使用微服务容器范式处理“北向”云连接和智能设施,以模块化不同的云连接并启用设备管理。同样,智能设施也采用微服务容器架构来支持数据摄取工作负载,如数据预处理和清洗。

也许最有价值的是随需应变的实时分析服务,它可以在数据生成时实时提取预先设定的数据特征。预测性维护和质量能力作为边缘场预测的概念证明。通过架构的开放标准(基于无处不在的MQTT通信协议和模块化Docker容器技术),使用公司扩展该框架来开发分析或预测维护模块。

其他技术,如RESTful API、MQTT和Node-RED,促进了拖放应用程序开发。Node-RED和配置实用程序使实现自定义应用程序变得很容易。此外,文档完善的带有mqtt的sdk示例代码和RESTful API接口允许高级开发人员满足高级需求。

最后一个组件是云服务,在边缘设备和云上都有SSL/TLS通信和英特尔安全。数据服务可以提供PostgreSQL DB和Mongo NoSQL DB作为标准产品,并支持与广泛的数据处理和存储产品的标准集成接口。仪表板网站作为物联网应用程序用户界面,通过Azure Power BI或Tableau等可视化工具通过浏览器或移动设备显示信息。

在一天结束的时候,一个平台为采购各种物联网软件实用程序提供了一个市场,提供了纯云解决方案,如数据库、仪表板和机器学习工具。

进一步的说明

现在让我们更仔细地看看上面提到的一些技术。

MQTT是一种简单、轻量级的发布/订阅消息传递协议,用于受限设备和低带宽、高延迟或不可靠的网络。服务将其功能和数据发布到MQTT代理,并订阅用于输入接口的特定主题。

RESTful API定义了一组函数,开发人员使用这些函数通过HTTP协议(如GET和POST)执行请求和接收响应。因为RESTful api使用HTTP作为传输,所以实际上任何编程语言都可以使用它们,并且易于测试。rest式API的一个要求是客户端和服务器松散耦合且彼此独立,允许客户端或服务器用任何语言编码并随意改进,这将延长系统寿命并易于发展。

RESTful API指定了它可以提供什么以及如何使用它,并要求诸如查询参数、响应格式、请求限制、公共使用/API密钥、方法(GET/POST/PUT/DELETE)、语言支持、回调使用、HTTPS支持和资源表示等细节都应该是自描述的。

受RESTful架构风格约束影响的属性包括:

  • 组件交互是影响用户感知性能和网络效率的主要因素
  • 支持大量组件和组件间交互的可伸缩性
  • 统一接口的简单性
  • 组件的可修改性,以满足不断变化的需求,即使在应用程序运行时也是如此
  • 服务代理在组件之间通信的可见性
  • 通过随数据移动程序代码来实现组件的可移植性
  • 尽管组件、连接器或数据出现故障,但系统级的抗故障能力。

微服务架构模式允许设计人员将应用程序分割成更小的、相互连接的服务集,而不是拥有一个单一的整体应用程序。服务通常实现不同的特性或功能,如连接管理、垂直应用程序或其他。每个微服务都是一个具有自己架构的迷你应用程序,包括业务逻辑和各种适配器。

容器化是一种用于部署和运行分布式应用程序的操作系统级虚拟化方法,无需为每个应用程序启动整个虚拟机(VM)。相反,多个独立的子系统(称为容器)运行在一个控制主机上,并访问一个内核。容器与主机共享相同的操作系统内核,通常比虚拟机更高效,每个虚拟机都需要一个单独的操作系统实例。

Docker容器将一个软件包装在一个独立的子系统中,包括文件系统和它运行所需的一切:代码、运行时、系统工具、系统库以及任何可能安装在服务器上的东西。这保证了它总是以相同的方式运行,无论环境如何。

容器包含运行所需应用程序所需的组件,如文件、环境变量和库。主机操作系统还限制容器对物理资源(如CPU和内存)的访问,因此一个容器不能消耗主机的所有物理资源。

Node-RED是开源的,由IBM新兴技术组织实现。它包括一个基于浏览器的流编辑器,可以使用面板中的各种节点轻松地将流连接在一起。然后,只需单击就可以将流部署到运行时。在Node-RED中创建的流使用JSON存储,并且可以轻松地导入和导出以与他人共享。它可以在网络边缘运行,也可以在云中运行。节点包管理器生态系统用于扩展可用的节点面板,支持连接到新设备和服务。研华提供各种Node-RED附加节点。

Freeboard提供简单、实时的关键性能指标可视化。这个工具为物联网项目提供了许多可能性,因为它简单、负担得起、开源,并且可以扩展。客户可以免费开始,然后当时机成熟时,他们可以选择适合他们的计划。

架构调整

所讨论的类型的体系结构可以分为五个类别层。每个都被实现为自己的微服务,使用MQTT代理作为通信总线。所有微服务都与其他微服务或客户端接口。在运行时,每个实例都是一个Docker容器。这使得为特定用户、设备或特殊用例部署不同的体验变得容易。

容器化是一种用于部署和运行分布式应用程序的操作系统级虚拟化方法。

  1. 该体系结构的底层是传感器网络连接层。有线传感器支持多种类型,包括监控和数据采集(SCADA)、Modbus和OPC-UA。网络连接层收集数据,管理传感器集线器,将传感器协议转换为MQTT协议,然后将数据传递给MQTT通信总线。
  2. SDK层提供EIS RESTful API、HDD故障预测算法服务等软件服务。开发人员通过RESTful API或MQTT调用这些服务。用户添加自己的服务,如机器学习平台、数据库引擎等。
  3. 基于流的层将Node-RED作为数据流设计引擎,再加上诸如SUSI API、WSN和HDD预测节点等附加组件。用户在图形化环境中通过简单的拖放操作来设计逻辑路径。
  4. 管理和表示UI界面层。用于系统管理和物联网连接配置的Webmin使用Node-RED-UI来呈现物联网/传感器数据。
  5. 云层可能是预安装的,例如,将WISE-Agent连接到WISE-PaaS/RMM云服务器。

灵活且可扩展的硬件/软件架构可帮助公司在集成生态系统中开发复杂的物联网基础设施,服务于不同的垂直市场。

这样的体系结构可以通过组合几个软件服务进行定制。然后根据需求将其安装在不同的硬件上。

库尔特盟他是研华嵌入式物联网集团的产品经理。