首页 > 其他分享 >ARMxy 嵌入式工业计算机中 MQTT 通信协议的热门案例探讨

ARMxy 嵌入式工业计算机中 MQTT 通信协议的热门案例探讨

时间:2024-09-24 16:24:19浏览次数:8  
标签:node 通信协议 mqtt 上位 MQTT ARMxy red

MQTT 通信协议案例

1 案例说明

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

程序流程图如下

ARMxy 嵌入式工业计算机中 MQTT 通信协议的热门案例探讨_通信协议






























2 案例测试

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

下表提供了可用的在线公共

2

服务器名称

Broker地址

TCOPP端口

websocket

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 系统作为通信对象,因此需在端执行如下命令安装

Host# sudo apt-get install mosquitto-clients



ARMxy 嵌入式工业计算机中 MQTT 通信协议的热门案例探讨_上位机_02



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

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

ARMxy 嵌入式工业计算机中 MQTT 通信协议的热门案例探讨_上位机_03


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


ARMxy 嵌入式工业计算机中 MQTT 通信协议的热门案例探讨_通信协议_04



ARMxy 嵌入式工业计算机中 MQTT 通信协议的热门案例探讨_服务器_05



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



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

参数解析:

-h: 指定 MQTT 服务器;

-p: 指定 MQTT 服务器 TCP 端口;

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

ARMxy 嵌入式工业计算机中 MQTT 通信协议的热门案例探讨_服务器_06


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

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


ARMxy 嵌入式工业计算机中 MQTT 通信协议的热门案例探讨_服务器_07



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

ARMxy 嵌入式工业计算机中 MQTT 通信协议的热门案例探讨_服务器_08




















执行以下操作,发布消息至

ARMxy 嵌入式工业计算机中 MQTT 通信协议的热门案例探讨_上位机_09


设备发布

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

ARMxy 嵌入式工业计算机中 MQTT 通信协议的热门案例探讨_服务器_10


上位机订阅

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

在上位机执行如下命令发布消息至

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

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



ARMxy 嵌入式工业计算机中 MQTT 通信协议的热门案例探讨_通信协议_11


上位机发布

消息发布成功后,node-red 将从

ARMxy 嵌入式工业计算机中 MQTT 通信协议的热门案例探讨_服务器_12


设备订



标签:node,通信协议,mqtt,上位,MQTT,ARMxy,red
From: https://blog.51cto.com/u_16011602/12100829

相关文章

  • 揭秘 ARMxy 嵌入式控制器的 ModbusTCP 通信协议实战案例
    引言随着工业4.0概念的普及,越来越多的企业开始寻求将传统设备与现代信息技术相融合的方法,以提升生产效率和管理水平。在这个过程中,ModbusTCP作为一种成熟的工业通信协议,因其简单易用、兼容性好而在工业自动化领域得到广泛应用。与此同时,Node-Red作为一种开放源码的可视化编程工具,......
  • 实现高效物联网通信:MQTT协议深入解析
    MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,最初由IBM于1999年开发,目的是为了监控远程设备的传感器和嵌入式系统之间的通信。它的目标是提供一种简单、高效、可靠的消息传递机制,以满足低带宽、不稳定网络环境下的通信需求。MQTT是适用于物联网的最佳协议M......
  • HomeAssistant|【实战篇】基于MQTT的零代码、少配置,设备高效接入方法
    HomeAssistant是一个智能家居自动化平台,允许跨生态跨平台的设备连接到一起,做统一管理和设备自动化等功能,十分强大和灵活;在前面两篇关于MQTT接入HomeAssistant的文章【入门篇】和【高级篇】中,我们已经了解到如何把一个MQTT设备接入到HA,并且也知道了一些比较高级的用法,但是文......
  • Python 客户端类库之paho-mqtt学习总结
    实践环境Python3.9.13paho-mqtt2.1.0简介EclipsePahoMQTTPython客户端类库实现了MQTT协议版本5.0,3.1.1,和3.1。该类库提供一个客户端类,允许应用连接到MQTT代理并发布消息,订阅主题并检索发布的消息。同时还提供了一个写其它辅助函数,使向MQTT服务器发布一次性消息变......
  • 使用Postman测试MQTT协议接口
    MQTT概述MQTT(MessageTelemetryTransport)是一种用于物联网(IoT)的消息传递协议。它的使用范围从家庭自动化和可穿戴设备的小型设备到大型工业机械的自动化。它是一种轻量级技术,以发布/订阅模式为模型,其中连接到单个代理的客户端可以将消息发布到不同的主题,并订阅主题以接收来自......
  • 网络高级day01(Modbus 通信协议:Modbus TCP)
    目录1》modbus分类1>ModbusRTU2>ModbusASCLL3>ModbusTCP 2》ModbusTCP的特点 3》ModbusTCP协议 1>报文头(一共7个字节) 2>寄存器3>功能码 4>数据 01H 功能码分析 05H功能码分析0FH功能码分析1》modbus分类1>ModbusRTU运行在串口上......
  • 剖析嵌入式控制器,为何推荐 ARMxy?
    嵌入式ARM控制器是一种基于ARM架构的嵌入式系统控制器,广泛应用于各种嵌入式系统中,包括工业物联网关、边缘计算网关、智慧城市、智能设备、工业自动化等领域。嵌入式ARM控制器具有高性能、低功耗、强大的多任务处理能力等特点,成为嵌入式系统的核心处理器之一。ARMxy系列ARM嵌入式控......
  • .NET 开源高性能 MQTT 类库
    目录前言项目介绍功能说明客户端功能服务器功能功能特点应用场景使用方法1、安装MQTTnet2、服务端代码3、客户端代码项目地址总结最后前言随着物联网(IoT)技术的迅猛发展,MQTT(消息队列遥测传输)协议凭借其轻量级和高效性,已成为众多物联网应用的首选通信标准。......
  • MQTT mosquitto, centos mosquitto[24330]: 1726226300: Socket error on client <unk
    Sep1319:18:20VM-8-12-centosmosquitto[24330]:1726226300:Socketerroronclient<unknown>,disconnecting.报错解释:这个错误来自于在CentOS系统上运行的MosquittoMQTT代理。错误信息表明客户端在尝试与Mosquitto通信时遇到了套接字错误(Socketerror),错误后面的数字可能是......
  • 基于通信协议与技术架构的API接口分类探讨
    API的全称是“ApplicationProgrammingInterface”,意为“应用程序编程接口”API接口的分类:按照技术分WebAPI:基于Web的API,通过HTTP和HTTPS协议与应用程序交互,如RESTfulAPI和SOAPAPI。云API:用于在云计算环境中管理和操作云服务,例如AmazonWebServicesAPI和MicrosoftA......