ARMxy边缘计算网关BL340 系列采用的嵌入式 Linux 系统开发的产品,具有高度的稳定性。主板使用全志公司T507四核64位处理器设计,主频高达1.5GHz,4核Cortex-A53架构。核心板CPU、ROM、RAM、电源、晶振等元器件均采用国产工业级方案,兼容Node-Red框架。本文主要介绍ARMxy边缘计算网关BL340系列使用Node-Red工具与libmosquitto(MQTT version 3.1.1 client library)的API通过 MQTT代理服务器通信,实现发布和订阅消息功能。

1.程序流程

ARMxy ARM工业计算机兼容Android,Linux,Ubuntu OS支持MQTT协议_服务器

2. Mosquitto工具安装

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

命令行:Host# sudo apt-get install mosquitto-clients

ARMxy ARM工业计算机兼容Android,Linux,Ubuntu OS支持MQTT协议_Red_02

3.案例说明

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

ARMxy ARM工业计算机兼容Android,Linux,Ubuntu OS支持MQTT协议_Red_03

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

设备启动,执行node-red程序,将上位机登录到node-red 部署系统。node-red自带mqtt通信协议模块,执行以下操作,启用mqtt模块。

ARMxy ARM工业计算机兼容Android,Linux,Ubuntu OS支持MQTT协议_Red_04

展开节点选项,往下拉启动 mqtt 模块。(默认启动)

ARMxy ARM工业计算机兼容Android,Linux,Ubuntu OS支持MQTT协议_Red_05

ARMxy ARM工业计算机兼容Android,Linux,Ubuntu OS支持MQTT协议_服务器_06

(2)      在上位机执行如下命令,使用 mosquitto_sub 工具订阅 MQTT 主题。

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

参数解析: -h: 指定 MQTT 服务器; -p: 指定 MQTT 服务器 TCP 端口; -t: 定义 MQTT 主题,可自定义命名。

ARMxy ARM工业计算机兼容Android,Linux,Ubuntu OS支持MQTT协议_Red_07

(3)      导入对应节点文件,导入成功后,点击右上角部署按钮,启动程序。

ARMxy ARM工业计算机兼容Android,Linux,Ubuntu OS支持MQTT协议_上位机_08

成功连接上设备后,显示设备已连接。

ARMxy ARM工业计算机兼容Android,Linux,Ubuntu OS支持MQTT协议_Red_09

(4)      执行以下操作,发布消息至 MQTT 服务器。

ARMxy ARM工业计算机兼容Android,Linux,Ubuntu OS支持MQTT协议_上位机_10

消息发布成功后,上位机将从 MQTT 服务器接收到对应的消息。

ARMxy ARM工业计算机兼容Android,Linux,Ubuntu OS支持MQTT协议_上位机_11

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

在上位机执行如下命令发布消息至 MQTT 服务器。

 Host# mosquitto_pub -h broker.hivemq.com -p 1883 -t test/data2 -m beilai

备注:订阅主题更改为 test/data2。

ARMxy ARM工业计算机兼容Android,Linux,Ubuntu OS支持MQTT协议_Red_12

(6)      消息发布成功后,node-red 将从 MQTT 服务器接收到对应消息。

ARMxy ARM工业计算机兼容Android,Linux,Ubuntu OS支持MQTT协议_上位机_13

以上,就是ARMxy边缘计算网关BL340系列使用Node-Red工具与libmosquitto(MQTT version 3.1.1 client library)的API通过 MQTT代理服务器通信,实现发布和订阅消息功能的具体步骤。更多咨询信息可以前往官网订阅查看!

ARMxy ARM工业计算机兼容Android,Linux,Ubuntu OS支持MQTT协议_服务器_14