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测试工具收到消息后订阅界面如图所示: