《通过AIoTedge或ThingsKit物联网平台内置的Node-RED读取OPC-UA》
一、引言
随着工业物联网(IIoT)的快速发展,设备之间的互联互通变得至关重要。OPC-UA(Open Platform Communications Unified Architecture)作为一种广泛应用于工业领域的标准化通信协议,能够实现不同厂商设备之间的数据交互。而Node-RED作为一种基于流的开发工具,以其简单易用、灵活高效的特点,在物联网开发中备受青睐。本文将介绍如何借助AIoTedge或ThingsKit物联网平台内置的Node-RED来读取OPC-UA数据,实现工业设备数据的采集与处理。
二、OPC-UA简介
OPC-UA是一种面向工业自动化的通信协议,旨在实现不同设备、系统和应用程序之间的无缝数据交换。它具有以下特点:
- 跨平台性:支持多种操作系统和硬件平台,能够广泛应用于各种工业环境中。
- 安全性:通过加密和认证机制保障数据传输的安全性,防止数据泄露和未授权访问。
- 互操作性:遵循标准化规范,确保不同厂商设备之间的兼容性和互操作性。
- 灵活性:支持多种数据模型,能够满足不同工业场景下的数据采集和处理需求。
三、Node-RED简介
Node-RED是一个基于Node.js的低代码开发工具,通过可视化编程的方式,将不同的功能模块(节点)组合成数据流,实现数据的采集、处理和传输。它具有以下优势:
- 易用性:通过拖拽节点和连线的方式构建数据流,无需复杂的编程知识,降低了开发门槛。
- 丰富的节点库:提供了大量的预定义节点,涵盖了数据采集、处理、存储、通信等多个方面,能够满足各种开发需求。
- 可扩展性:支持用户自定义节点,可以根据实际需求开发新的功能模块,扩展其应用范围。
- 社区支持:拥有活跃的开发者社区,提供了丰富的教程、示例和插件,便于开发者学习和交流。
四、AIoTedge与ThingsKit物联网平台概述
(一)AIoTedge
AIoTedge是一个面向工业物联网的边缘计算平台,旨在将人工智能(AI)和物联网(IoT)技术相结合,实现边缘设备的智能化管理和数据处理。它支持多种协议的接入,包括OPC-UA,并通过内置的Node-RED提供了强大的数据流编排能力,能够快速构建工业物联网应用。
(二)ThingsKit
ThingsKit是一个综合性的物联网平台,提供了设备管理、数据采集、数据分析、可视化展示等功能。它内置了Node-RED,使得开发者可以方便地通过Node-RED读取和处理各种设备数据,包括OPC-UA数据。ThingsKit还提供了丰富的设备接入协议支持和云平台服务,能够满足从设备接入到数据分析的全流程需求。
五、通过Node-RED读取OPC-UA数据的实现步骤
(一)安装与配置OPC-UA服务器
在开始之前,需要确保目标工业设备或系统已经配置了OPC-UA服务器,并且该服务器能够正常运行。OPC-UA服务器负责将设备数据封装为OPC-UA协议格式,供客户端访问。常见的OPC-UA服务器软件有OPC Foundation的官方实现、Kepware OPC Server等。安装并配置好OPC-UA服务器后,需要记录下服务器的IP地址、端口号以及需要访问的节点路径等信息,这些信息将用于后续的Node-RED配置。
(二)在AIoTedge或ThingsKit平台中启动Node-RED
- AIoTedge平台:
- 登录AIoTedge平台,进入边缘设备管理界面。
- 选择目标边缘设备,启动Node-RED服务。通常,AIoTedge平台会提供一个简单的启动按钮或命令行工具来启动Node-RED。
- 启动后,通过浏览器访问Node-RED的可视化编辑界面,通常地址为
http://<边缘设备IP>:1880
。
- ThingsKit平台:
- 登录ThingsKit平台,进入物联网应用开发界面。
- 在应用开发环境中找到Node-RED模块并启动。ThingsKit平台可能会提供一个集成的Node-RED开发环境,方便用户直接在平台上进行操作。
- 启动后,同样通过浏览器访问Node-RED的可视化编辑界面,开始构建数据流。
(三)安装OPC-UA节点
Node-RED本身并不直接支持OPC-UA协议,需要安装专门的OPC-UA节点来实现与OPC-UA服务器的通信。在Node-RED的编辑界面中,点击右上角的“管理面板”(通常是一个齿轮图标),进入“节点”管理页面。在搜索框中输入“OPC-UA”或“node-red-contrib-opcua”,找到相关的OPC-UA节点包并安装。安装完成后,Node-RED将自动加载该节点,使其可以在数据流中使用。
(四)构建OPC-UA数据读取流
- 添加OPC-UA连接节点:
- 在Node-RED编辑界面中,从左侧节点库中拖拽一个OPC-UA连接节点到工作区。
- 双击该节点,进入配置界面。在配置界面中,输入OPC-UA服务器的IP地址、端口号以及连接的安全策略等信息。如果OPC-UA服务器需要认证,还需要填写相应的用户名和密码。
- 点击“完成”按钮,保存配置。
- 添加OPC-UA读取节点:
- 从节点库中拖拽一个OPC-UA读取节点到工作区,并将其连接到之前配置好的OPC-UA连接节点。
- 双击OPC-UA读取节点,进入配置界面。在配置界面中,指定需要读取的OPC-UA节点路径。节点路径通常是一个以“ns=;s=”格式表示的字符串,例如“ns=2;s=Demo.Static.Scalar.Int32”。
- 设置读取的频率,即每隔多长时间读取一次数据。可以根据实际需求选择合适的读取频率,例如每秒读取一次或每分钟读取一次。
- 点击“完成”按钮,保存配置。
- 添加数据处理节点(可选):
- 如果需要对读取到的OPC-UA数据进行进一步处理,例如数据转换、过滤、计算等,可以拖拽相应的数据处理节点到工作区,并将其连接到OPC-UA读取节点的输出端。
- 根据实际需求配置数据处理节点的参数,实现所需的数据处理功能。
- 添加数据输出节点:
- 为了将读取到的OPC-UA数据发送到其他系统或进行可视化展示,需要添加一个数据输出节点。常见的数据输出节点包括调试节点(用于在Node-RED调试控制台中查看数据)、HTTP请求节点(用于将数据发送到云平台或其他应用程序)、MQTT节点(用于将数据发布到消息队列中)等。
- 将数据输出节点连接到数据处理节点的输出端(如果添加了数据处理节点)或OPC-UA读取节点的输出端。
- 配置数据输出节点的参数,例如调试节点不需要额外配置,HTTP请求节点需要填写目标URL、请求方法、请求头等信息,MQTT节点需要填写MQTT代理服务器地址、端口号、主题等信息。
- 部署数据流:
- 完成数据流的构建后,点击Node-RED编辑界面右上角的“部署”按钮,将数据流部署到运行环境中。
- 部署完成后,Node-RED将自动启动数据流,开始按照配置的逻辑读取OPC-UA数据,并进行相应的处理和输出。
(五)测试与验证
- 查看调试信息:
- 在Node-RED的调试控制台中查看OPC-UA数据读取的结果。如果添加了调试节点,读取到的数据将显示在调试控制台中。通过查看调试信息,可以确认数据是否正确读取以及数据格式是否符合预期。
- 验证数据输出:
- 根据配置的数据输出节点类型,验证数据是否成功发送到目标系统或应用程序。例如,如果使用HTTP请求节点将数据发送到云平台,可以在云平台上查看接收到的数据;如果使用MQTT节点将数据发布到消息队列中,可以使用MQTT客户端工具订阅相应的主题,查看发布的数据。
- 检查OPC-UA服务器日志:
- 查看OPC-UA服务器的日志,确认是否有来自Node-RED的连接请求和数据读取操作。通过服务器日志可以进一步确认数据读取过程是否正常,以及是否存在权限问题或其他异常情况。
六、实际应用场景与案例分析
(一)工业设备数据监控
在工业生产环境中,通过AIoTedge或ThingsKit平台内置的Node-RED读取OPC-UA数据,可以实现对工业设备运行状态的实时监控。例如,读取设备的温度、压力、转速等关键参数,并将这些数据发送到云平台进行存储和分析。通过在云平台上设置数据可视化界面,操作人员可以直观地查看设备