本文主要介绍的是ARM工业边缘计算网关BL340使用 Node-Red 工具通过Modbus/RTU协议采集M160T IO模块数据,再经过MQTT协议的转换上传到上位机Ubuntu的案例说明。该案例基于Node-Red部署程序,实现获取 M160T IO模块数据上传到上位机,感兴趣的朋友可以跟着我们的步骤实操起来。

一、 ARM工业边缘计算网关介绍

ARM工业边缘计算网关采用的嵌入式 Linux 系统开发的产品,具有高度的稳定性。其核心板CPU、ROM、RAM、电源、晶振等元器件均采用国产工业级方案,经过了PCB Layout 和高低温测试验证,稳定可靠,可满足各种工业应用环境。

ARM工业边缘计算网关接口资源丰富,具备网口、USB、RS485、HDMI等通信接口,wifi模块(选配)、4G(选配)模块,可运行Linux、Ubuntu、Debian等OS,兼容node-red、QT、python、C++等应用程序,支持MySQL、InfluxDB、SQLite等数据库。

ARMxy ARM工业网关带RS485,DI,DO及USB用于多协议数据采集和通信_上位机

二、 Ubuntu介绍

本文就不再多赘述Node-Red框架,之前的文章有过叙述,感兴趣的小伙伴可以往前翻一翻。Ubuntu是一种基于Linux内核的开源操作系统,由Canonical公司开发和维护,以其易用性、稳定性和安全性受到广泛欢迎。Ubuntu提供了友好的图形用户界面和大量的预装软件包,适用于桌面和服务器环境。用户可以免费使用、修改和分发Ubuntu及其源代码。此外,Ubuntu还拥有一个庞大的用户社区和开发者社区,为用户提供技术支持和解决方案。

三、 MQTT协议简述

MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的消息传输协议,专为资源受限的设备和低带宽、不稳定的网络设计。它工作在TCP/IP协议族上,通过最小化传输开销和协议交换来有效减少网络流量,确保消息的高效传输,具有轻量级、低带宽、发布/订阅模式以及可靠性传输等特点。

四、 Mosquitto工具安装

Mosquitto 是一款开源的 MQTT 消息代理(服务器)软件,提供轻量级的、支持可发布/可订阅的的消息推送模式。本文 node_mqtt.json 案例采用node-red与Mosquitto工具演示MQTT通信协议的通信功能。由于上位机Ubuntu系统作为通信对象,因此需在Ubuntu终端执行如下命令安装Mosquitto工具。

Host# sudo apt-get install mosquitto-clients

 

ARMxy ARM工业网关带RS485,DI,DO及USB用于多协议数据采集和通信_Ubuntu_02

五、案例说明

1. 流程图

 

ARMxy ARM工业网关带RS485,DI,DO及USB用于多协议数据采集和通信_Ubuntu_03

2.案例实现步骤

本案例使用 node-red 工具、M160T IO 模块和上位机 Ubuntu 通信。请通过网线将设备 ETH1、上位机和 M160T 模块 连接至公网,确保可正常访问互联网。 下表提供了可用的在线公共 MQTT 服务器,可根据需要自行切换:

 

ARMxy ARM工业网关带RS485,DI,DO及USB用于多协议数据采集和通信_Ubuntu_04

请按下图所示使用网线连接 M160T ETHERNET 网口,并将电源连接到 DC/IN 接口。

 

ARMxy ARM工业网关带RS485,DI,DO及USB用于多协议数据采集和通信_Ubuntu_05

(1) 获取从机 IP 地址及端口号  

打开“ MxxxT_E 配置软件 V1.5.1_t ”软件,执行以下操作查询到 M160T 设备的 IP 地址和配置端口号。

 

ARMxy ARM工业网关带RS485,DI,DO及USB用于多协议数据采集和通信_Ubuntu_06

点击读取配置选项,获取当前设备信息;选取网络配置选项,获取到当前设备 IP 地址,将监听端口配置为 502,连接模式选择 Modbus TCP 模式;点击写入配置选项,将配置信息写入设备;点击重启设备,重新载入配置。

 

ARMxy ARM工业网关带RS485,DI,DO及USB用于多协议数据采集和通信_Ubuntu_07

(2)设备发布/上位机订阅

设备启动,执行node-red程序,将上位机登录到node-red部署系统。使用的依赖模块有:“node-red-dashboard”、“node-red-contrib-modbus”以及自带的 mqtt 模块。请参考上 方“安装依赖模块”步骤安装上相应依赖模块。在上位机执行如下命令,使用mosquitto_sub工具订阅MQTT主题。  

Host# mosquitto_sub -h broker.hivemq.com -p 1883 -t modbus/data

 

ARMxy ARM工业网关带RS485,DI,DO及USB用于多协议数据采集和通信_上位机_08

(3)导入节点文件并点击右上角部署按钮,启动程序。

 

ARMxy ARM工业网关带RS485,DI,DO及USB用于多协议数据采集和通信_上位机_09

(4)部署成功后,node-red 将通过 modbus/tcp 协议采集 M160T IO 模块数据上传到 MQTT 服务器,上位机将从 MQTT 服务器接收到对应的消息。

 

ARMxy ARM工业网关带RS485,DI,DO及USB用于多协议数据采集和通信_服务器_10

以上就是ARMxy工业边缘计算网关BL340使用 Node-Red 工具通过Modbus/RTU协议采集M160T IO模块数据,再经过MQTT协议的转换上传到上位机Ubuntu的案例说明,可以前往官网获取更详细的文档信息。