Skip to content

MQTT连接服务器

本文档介绍了MQTT连接服务器的大致流程,以MQTT.FX作为服务器进行测试举例。

MQTT连接服务器流程

查询注网信息

AT+CGREG?

返回+CGREG: 0,1注网成功

设置MQTT相关参数

AT+MCONFIG=<clientid>,<username>,<password>

参数定义:

<clientid> 客户端身份

<username> 登录服务器的用户名

<password> 登录服务器的密码

建立MQTT连接

AT+MIPSTART=<svraddr>,<port>

参数:

<svraddr> 服务器ip地址

<port> 端口号

建立会话

AT+MCONNECT=<clean_session>,<keepalive>

参数:

<clean_session> 是否保留消息

<keepalive> 保活时间

发布消息

AT+MPUB=<topic>,<qos>,<retain>,<message>

参数:

<topic> 消息主题

<qos> 服务质量

<retain> 保留标志

<message> 消息内容

订阅主题

AT+MSUB=<topic>,<qos>

<topic> 消息主题

<qos> 服务质量

关闭MQTT连接

AT+MDISCONNECT

举例演示

» AT+CGREG?//查询当前注网状态
+CGREG: 0,1
OK

» AT+MCONFIG=111//设置客户端身份
OK

» AT+MIPSTART="broker.emqx.io","1883" //连接服务器
OK
CONNECT OK

» AT+MCONNECT=1,60//请求会话连接
OK
CONNACK OK

» AT+MSUB="rec",0//订阅主题
OK
SUBACK

+MSUB:"rec",3 byte,313233//接收到消息上报

» AT+MPUB="send",0,0,"313233"//发布ASCII码消息
OK

» AT+MQTTMODE=1//切换消息编码格式转换
OK

» AT+MPUB="send",0,0,"313233"//发布十六进制消息
OK

» AT+MDISCONNECT//断开MQTT连接
OK

MQTT.fx测试工具收到消息后订阅界面如图所示: