一个月玩转MQTT(篇四:移远EC200U模块MQTT连接测试)

前面讲到了:

一个月玩转MQTT(篇二:部署阿里云服务器和EMQX)-CSDN博客

一个月玩转MQTT(篇三:测试EMQX)-CSDN博客

现在开始我们使用移远的EC200U模块来进行测试。主要实现如下功能:

1、通过EC200U建立与EMQX服务器的MQTT连接。

2、然后就是订阅"test/win11"主题消息(因为前文一直在用这个主题做测试)

3、然后就是发布"test/win11"主题消息

后边我们会看到当我用EC200U发消息时,订阅了"test/win11"的MQTTX客户端,以及webSocket客户端,都能收到来自EC200U发出的主题消息,由于EC200U自己也订阅了这个消息,因此EC200U自己也能收到自己发出的消息。

下面开始吧!

1、开发板(硬件的准备)

首先,用到了上图这个开发板。必须吐槽的是,这个开发板的资料,写得稀里糊涂的。文档写得乱七八糟,毫无重点,逻辑混乱;教程视频更是又臭又长,讲得云里雾里,完全抓不住关键。后来干脆不看他的文档了。

好在这个板子的硬件还是有利用价值的。该电路板通过CH340芯片实现了COM串口。通过上图白色的USB线连接电脑,就可以用串口调试助手实现与EC200U模块的连接。这样就可以用AT指令操作EC200U了。

这个板子直接略过,简单的说,就是现在我要用串口调试助手,通过AT指令来操控EC200U的MQTT连接。

2、AT指令完整流程

2.1 基础网络配置
序号 AT 指令 返回内容 说明
1 AT OK 测试模块响应,确认串口通信正常
2 AT+CGATT=1 +CGATT: 1 OK 附着移动网络(注册到核心网)
3 AT+CGDCONT=1,"IP","cmnet" OK 设置 APN(移动 / 联通 = cmnet,电信 = ctnet)
4 AT+CGACT=1,1 OK 激活数据连接
5 AT+QPING=1,"101.201.110.56" +QPING: 0,"101.201.110.56",64,165,255 +QPING: 0,"101.201.110.56",64,58,255 +QPING: 0,"101.201.110.56",64,61,255 +QPING: 0,"101.201.110.56",64,55,255 +QPING: 0,4,4,0,55,165,70 测试模块到 EMQX 服务器的连通性
2.2 MQTT连接配置
序号 AT 指令 返回内容 说明
6 AT+QMTCFG="version",0,4 OK 设置 MQTT 版本为 5.0
7 AT+QMTCFG="session",0,1 OK Clean Session=1(MQTT 5.0 兼容该参数,默认开启)
8 AT+QMTCFG="keepalive",0,60 OK 心跳时间 60 秒(MQTT 5.0 支持,和 EMQX 保持一致)
9 AT+QMTOPEN=0,"101.201.110.56",1883 +QMTOPEN: 0,0 打开 MQTT 5.0 连接(端口仍用 1883,EMQX 5.0 兼容 1883)返回 0,0= 成功
10 AT+QMTCONN=0,"EC200U_MQTT5_Client","admin","public" +QMTCONN: 0,0,0 登录 EMQX(MQTT 5.0 认证逻辑和 3.1.1 一致,账号密码仍用 admin/public)返回 0,0,0= 登录成功

以下是串口调试助手的设置截图:

2.3 MQTT 主题消息的订阅 + 发布
序号 AT 指令 返回内容 说明
11 AT+QMTSUB=0,1,"test/win11",0 +QMTSUB: 0,1,0,0 订阅 MQTT 主题(QoS 0,返回 0,1,0,0= 成功)
12 AT+QMTPUB=0,0,0,0,"test/win11","hello, i love you!" +QMTPUB: 0,0,0 发布基础消息(返回 0,0,0= 成功)
13 (接收消息) +QMTRECV: 0,0,"test/win11","hello, i love you!" 由于订阅了该消息,所以也会接收到该消息

串口调试助手截图:

我们再看看MQTTX客户端,也收到消息了哦。

再看看webSocket客户端,也收到消息了哦。这是因为这两个客户端都订阅了"test/win11"主题消息。

至此,大家应该明白如何使用串口通过给EC200模块发送AT指令,来将消息发送到服务器,也可收到来自服务器的消息了吧。

这样,您进一步的就可以使用STM32的uart口来编程实现消息的订阅与发布了。这里算是已经打通了硬件层面与服务器的连接问题。关于stm32如何实现自己的应用,我这里就不再展开来讲了。

下一篇,我会进一步讲解,如何在手机端实现消息的订阅和发布。这样我们就可以有效的将stm32的数据(比如将温度数据,倾角数据)传递给手机进行显示。当然也可以将手机的命令传递给stm32实现类似开关控制等功能。

其他:

序号 AT 指令 预期返回 说明
1 AT+QMTDISC=0 +QMTDISC: 0,0 断开 MQTT 连接
2 AT+QMTCLSE=0 OK 关闭 MQTT 套接字
相关推荐
铁甲前沿3 小时前
一个月玩转MQTT(篇三:测试EMQX)
mqtt·websocket·emqx·mqttx
琛説6 小时前
⚡PitchPPT:将PPT导出为高清全图PPT,并控制PPT文件大小在固定MB/GB以内【解析算法原理 · 作者谈】
windows·python·算法·github·powerpoint
阿里嘎多学长7 小时前
2026-02-14 GitHub 热点项目精选
开发语言·程序员·github·代码托管
x-cmd7 小时前
GitHub 推出了 Agentic Workflows,并且提供了 Copilot 免费套餐
ai·github·copilot·x-cmd·agentic·workflows
CoderJia程序员甲9 小时前
GitHub 热榜项目 - 日榜(2026-02-14)
人工智能·ai·大模型·github·ai教程
m0_6948455719 小时前
netcut 是什么?简单安全的在线剪贴板搭建与使用教程
运维·服务器·安全·开源·云计算·github
中科三方21 小时前
域名注册后无法解析解决方法:技术故障排查和解决指南
开发语言·github·php
JavaGuide1 天前
又一款国产开源企业级文件管理系统诞生了!基于 Spring Boot 3.5.x + Sa-Token + MyBatis Flex
后端·github