您好,欢迎来到阿仪网! 请登录 免费注册

  • 高级会员服务
  • |
  • 广告位服务
  • |
  • 设为首页
  • |
  • 收藏本站
  • |
  • 诚信档案

    • 会员类型:标准版会员
    • 阿仪网标准版会员:4年
    • 工商认证【已认证】
    • 最后认证时间:无需年检
    • 注册号:**** 【已认证】
    • 法人代表:许梅** 【已认证】
    • 企业类型:生产商 【已认证】
    • 注册资金:人民币万 【已认证】
    • 产品数:

深圳市钡铼技术有限公司 主营产品:电子产品的研发,及相关信息咨询,经营进出口业务,国内贸易,以太网远程IO数据采集模块Modbus,TCP,远程IO采集模块远程IO数据采集模块系列Modbus,RTU,远程IO采集模块工业现场总线协议网关转换器分布式I/O以太网分布式I/O模块PLC采集网关工业路由器

第4年

当前位置:阿仪网>深圳市钡铼技术有限公司>技术文章>ARMxy 嵌入式工业计算机中 MQTT 通信协议的案例解析

企业档案

会员类型:标准版

已获得阿仪网信誉   等级评定
8成长值

(0 -40)基础信誉积累,可浏览访问

(41-90)良好信誉积累,可接洽商谈

(91+  )优质信誉积累,可持续信赖

阿仪网标准版会员:4年

工商认证 【已认证】

最后认证时间:无需年检

注册号:**** 【已认证】

法人代表:许梅** 【已认证】

参观次数:105151

手机网站:http://wap.app17.com/c127216/

公司网站:http://www.bliiot.cn

技术文章

ARMxy 嵌入式工业计算机中 MQTT 通信协议的案例解析

点击次数:2789 发布时间:2024/9/24 16:16:51

MQTT 通信协议案例

1 案例说明

案例功能:使用 node-red 工具与 libmosquitto(MQTT version 3.1.1 client library) 的 API 通过 MQTT 代理服 务器通信。基于 MQTT 通信协议,实现发布和订阅消息功能。

程序流程图如下

图

2 案例测试

本案例使用设备 node-red 工具与上位机 Ubuntu Mosquitto 工具通信。请通过网线将设备 ETH1、上位机连接至 公网,确保可正常访问互联网。

下表提供了可用的在线公共 MQTT 服务器,可根据需要自行切换。

表 2

服务器名称

Broker地址

TCOPP端口

web socket

HiveMQ

broker.hivemq.com

1883

8000

Mosquitto

test.mosquitto.org

1883

80

Eclipse

mqtt.eclipseprojects.io

1883

80/443

EMQX(国内)

Broker-cn.e mqx.io

1883

8083/8084

1 )Mosquitto 工具安装

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

Host# sudo apt-get install mosquitto-clients


图

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

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

图

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


图

图

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


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

参数解析:

-h: MQTT 服务器;

-p: MQTT 服务器 TCP 端口;

-t: 定义 MQTT 主题,可自定义命名。

图

为便于测试,我司提供的经验证的 MQTT 通信协议为案例“ node-red\node_red_mqtt\ ”目录下的 mqtt.json 文件。请参考上方“导入节点文件 ”步骤导入对应节点文件。

导入文件成功后,点击右上角部署按钮,启动程序。

图

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

图

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

图 设备发布

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

图 上位机订阅

3) 上位机订阅/设备发布

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

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

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

图 上位机发布

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

图 设备订阅


推荐产品

在线咨询5分钟应答

提交