随着工业物联网 (IIoT)的发展,它在集成方面也遇到了与以前不同代系的工业自动化相似的挑战。除了不断变化的需求,还需要适用很多不同的硬件、软件技术以及应用场景。但是现在,利用开放标准,这些不同元器件可以很好的融合在一起,为用户提供解决方案。
在IIoT产品和应用开发中,开发人员的目标可能包括:
●通过互联网支持不同类型的传感器和驱动器。
●集成不同的有线和无线连接协议,包括 Modbus、LoRa、Sigfox、Wi-Fi、蓝牙以及其它协议。
●通过端口将原始软件连接到不同的硬件,包括 MCU、x86/ARM CPU、GPU、及其它硬件,还有操作系统,包括微软视窗、Linux、嵌入式操作系统、Android、和其它操作系统。
●连接云服务控制工程网版权所有,可能包括WISE-PaaS、微软的Azure、IBM的Bluemix、和其它云服务。
●维护数据的所有权和完整性,了解其对安全和隐私的影响。
●快速开发健壮的应用程序。
●部署、更新、升级和维护大量的设备和服务。
●将大数据转换为有价值的业务信息。
因此, IIoT产品或解决方案必须满足与传感器、连接性、安全、云服务、存储、设备硬件与维护、边缘/云分析、系统集成、和应用程序开发等相关的挑战。许多公司面临的最大挑战,就是如何在平衡设计时间、投放市场时间和风险的情况下,将应用迁移到物联网上去。
边缘计算
物联网(IoT)数据往往具有很大的体量。应用程序通常具有实时性需求。传输大量的原始数据,通常会给网络资源带来较大的负载。通常,在数据源附近处理数据更为行之有效,这样就可以只向云中心发送有价值的数据。
边缘计算是一种分布式信息技术(IT)架构。在该体系结构中,客户端数据在网络外围处理,尽可能接近数据源。边缘计算中的时间敏感数据控制工程网版权所有,可由智能设备在数据源点处理,或发送到地理上比较接近的中间服务器来处理。对时间不太敏感的数据,可以发送到云端进行历史分析、大数据分析和长期存储。
不论该解决方案被称为基础结构、体系结构、平台还是服务器,公司都必须有管理边缘计算模式的手段。在研华新推出的边缘智能服务器(EIS)解决方案中,能够使本地IIoT网络实现边缘智能,从而可以最大限度地提高能源利用效率,减少对网络安全的威胁,更易于实施和模块化,还可以减少时间延迟。
IIoT软件平台
IIoT软件平台服务主要基于3个关键组件: IIoT节点、边缘智能服务器和云服务。下面将详细介绍在平台开发中,供应商或企业用户必须做出的一些技术选择。
对于边缘设备开发控制工程网版权所有,“南向”传感设备连接必须处理不同的传感协议,例如Modbus、OPC、BACnet、无线IP和非IP。所有这些协议,可以通过即插即用的模块来处理传感器数据、数据规范化和通信。
然后,通过微服务容器模型来处理 “北向”云连接和智能设施,以模块化不同的云连接并启用设备管理。同样的,智能设施也采用微服务容器体系结构来支持数据摄取工作负载,比如数据预处理和清理。
其中最有价值的可能是按需的实时分析服务,在数据生成时,可实时提取预先设置的数据特性。预测维护和质量功能可用作边缘预测概念的验证。
基于无处不在的MQTT通信协议和模块化的Docker容器(container)技术,通过架构的开放标准来开发分析或预测维护模块。
其它技术,如 RESTful、API、MQTT和Node-RED,也有助于实现拖放式的应用程序开发。Node-RED和配置实用程序,使实现自定义应用程序变得容易。此外,具有良好文档的 SDK MQTT 示例代码和RESTful API 接口,使高级开发人员可以实现更高级别的需求。
最后一个部件是云服务,无论是边缘设备还是云端,都配置了SSL/TLS通信和英特尔内置的安全特性。数据服务可以提供标准化的PostgreSQL数据库和 NoSQL数据库,并支持标准集成接口,可以连接各种数据处理和存储产品。仪表板网充当“物联网”应用的用户界面,利用诸如Azure的Power BI 或表格等可视化设施,通过浏览器或移动设备来显示信息。
此外,IIoT平台还提供了一个用于采购不同的物联网实用程序的“市集”可提供云解决方案,如数据库、仪表板和机器学习工具。
工业物联网(IIoT)软件平台包括工业物联网(IIoT)节点、边缘智能服务器和云服务。图片来源: 研华
与IoT相关的技术
现在让我们更仔细地考察前面提到的一些技术。MQTT是一种简单、轻量级的发布/订阅消息传递协议,用于受约束的设备和低带宽、时间滞后较长或不可靠的网络。该服务将其功能和数据发布到 MQTT 代理,并为输入接口订阅特定主题内容。
RESTful API定义了一组功能,开发人员使用这些功能来执行请求并通过 HTTP 协议,比如"GET " 和 "POST" 接收响应。由于 RESTful API 使用 HTTP 作为传输协议www.cechina.cn,因此几乎任何编程语言都可以使用该应用程序,并且易于测试。RESTful API 的要求是客户端和服务器之间松散耦合,彼此保持独立,允许客户端或服务器以任何语言编码,并可任意改进,从而延长系统的使用寿命并简化进化过程。
RESTful API 指定了它可以提供什么,如何使用它,以及需要查询的详细信息,例如查询参数、响应格式、请求限制、公共使用/API 密钥、方法 (GET/POST/ PUT/DELETE)、语言支持、回调用法、HTTPS支持、以及资源表示应该都是自我描述的。
受RESTful结构样式约束影响的属性包括:
●组件交互可能是用户感知性能和网络效率的主导因素。
●可扩展性以支持大量组件和组件之间的交互。
●统一接口简单明了。
●组件的可修改性,能够满足不断变化的需求,甚至在应用程序运行时都可以进行修改。
●服务代理对组件间通信的可见性。
●通过将程序代码与数据一起移动,使组件具有可移植性。
●在组件、连接器或数据出现故障时,在系统级别仍能防御故障。
微服务体系结构模式,允许设计人员将应用程序拆分为较小的、相互关联的服务集,而不是单一的应用程序。服务通常实现不同的特性或功能,如连接管理、垂直应用程序或其它功能。每个微服务都是一个具有独特体系结构的小型应用程序,包括业务逻辑以及各种适配器。
容器化(Containerization)是一种用于部署和运行分布式应用程序的操作系统级虚拟化方法,无需为每个应用程序启动整个虚拟机 (VM)。采用多个独立的子系统 (称为容器),运行在同一个控制主机上,并访问单个内核。容器与主机之间共享相同的操作系统内核,通常比虚拟机效率更高,其中任何一个都需要单独的操作系统实例。
Docker容器在一个独立的子系统中封装了一个软件CONTROL ENGINEERING China版权所有,包含文件系统和运行所需的一切:代码、实时运行、系统工具、系统库以及任何可能安装在服务器上的内容。这保证它始终以相同的模式运行,而无需考虑环境的不同。
此外,主机操作系统还限制了容器对物理资源 (CPU 和内存) 的访问,因此一个容器不会消耗掉主机的所有物理资源。
Node-RED是开源的,由IBM新兴技术组织实施。它包括一个基于浏览器的流编辑器,它可以轻松地将“调色板”中的各种节点连接在一起。单击就可以将数据流部署到试运行中。在Node-RED中创建的流使用 JSON 存储,并且可以导入和导出以供与他人共享。它可以在网络边缘或云端中运行。节点包管理器生态系统用于扩展可用节点的调色板,从而实现与新设备和服务的连接。
Freeboard提供了简单、实时的关键性能指标的可视化。这个工具为IoT项目提供了许多可能性,因为它简单、实惠、开源,并可以进行扩展。客户可以免费开始使用,一旦时机成熟,就可以选择一个适合于他们的计划。
边缘计算是一种分布式的 IT 架构。在该架构下,可以在网络外围尽可能接近数据源的地方,处理客户端数据。
灵活的体系结构
本文所讨论的体系结构可以分为5个类别层。每个层级都作为自己的微服务来实现的,使用 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.管理和用户的接口层,用于系统管理和IoT连接配置的 Webmin,使用Node-RED用户界面来呈现IoT/传感器数据。
5.云层可以被预安装,例如利用WISE-Agent 连接到WISEPaaS/ RMM云服务器。
灵活、可扩展的硬件/软件体系结构,可帮助制造企业在集成的生态系统中开发复杂的IoT基础架构,服务于不同的垂直市场。这样的架构可以定制,结合多个软件服务,然后根据要求将其安装在不同的硬件上。(作者:Kurt Au)