网络拓扑图如下:
一、命令说明:
Ø 功能:查询/设置工作模式。
Ø 格式:
u 查询当前参数值:
AT+WKMOD{CR}或AT+WKMOD?{CR}
{CR}{LF}+WKMOD:mod{CR}{LF}{CR}{LF}
u 设置:
AT+HEARTTM=mod{CR}
{CR}{LF}OK{CR}{LF}
Ø 参数:
u mod:工作模式设置,这里为MQTT。
Ø 例:AT+WKMOD =MQTT
2、AT+MQTTCONN
Ø 功能:查询/设置MQTT连接参数。
Ø 格式:
u 查询当前参数值:
AT+MQTTCONN{CR}或AT+ MQTTCONN?{CR}
{CR}{LF}+ MQTTCONN:id,keepAlive,clean{CR}{LF}{CR}{LF}
u 设置:
AT+HEARTTM= id,keepAlive,clean {CR}
{CR}{LF}OK{CR}{LF}
Ø 参数:
u id:客户端id,最多10字节,默认位www.ybljg.com。
u keepAlive:心跳包,范围为60秒~180秒,默认为100。
u clean:是否清除session,0-不清除,1-清除,默认为1。
Ø 例:AT+WKMOD =www.ybljg.com,100,1
3、AT+MQTTSUB
Ø 功能:查询/设置订阅主题。
Ø 格式:
u 查询当前参数值:
AT+MQTTSUB{CR}或AT+ MQTTSUB?{CR}
{CR}{LF}+ MQTTSUB:num,top,qos{CR}{LF}{CR}{LF}
u 设置:
AT+MQTTSUB= num,top,qos {CR}
{CR}{LF}OK{CR}{LF}
Ø 参数:
u num:主题号,范围为1-10。
u top:主题名,最多20个字节,默认为空。
u qos:服务等级,默认为0。
Ø 例:AT+MQTTSUB =1,usr,0
注:最多支持订阅10个主题
4、AT+MQTTUNSUB
Ø 功能:取消订阅主题。
Ø 格式:
u 查询当前参数值:
AT+MQTTUNSUB{CR}或AT+ MQTTUNSUB?{CR}
{CR}{LF}+ MQTTUNSUB:num{CR}{LF}{CR}{LF}
u 设置:
AT+MQTTUNSUB= num {CR}
{CR}{LF}OK{CR}{LF}
Ø 参数:
u num:主题号,范围为1-10。
Ø 例:AT+MQTTSUB =1
5、AT+MQTTU
Ø 功能:查询/设置用户名和密码。
Ø 格式:
u 查询当前参数值:
AT+MQTTU{CR}或AT+ MQTTU?{CR}
{CR}{LF}+ MQTTU:user,psw{CR}{LF}{CR}{LF}
u 设置:
AT+MQTTU=user,psw {CR}
{CR}{LF}OK{CR}{LF}
Ø 参数:
u user:用户名,最多20个字节,默认为空。
u psw:密码,最多20个字节,默认为空。
Ø 例:AT+MQTTSUB =zhang,123456
6、AT+MQTTWILL
Ø 功能:查询/设置遗嘱消息。
Ø 格式:
u 查询当前参数值:
AT+MQTTUWILL{CR}或AT+MQTTUWILL?{CR}
{CR}{LF}+ MQTTWILL:will_topicName,will_topicMsg,will_qos,will_retain{CR}{LF}{CR}{LF}
u 设置:
AT+MQTTUWILL= will_topicName,will_topicMsg,will_qos,will_retain {CR}
{CR}{LF}OK{CR}{LF}
Ø 参数:
u will_topicName:遗嘱主题名,最多20个字节。
u will_topicMsg:遗嘱主题消息,最多127个字节。
u will_qos:遗嘱消息服务等级,只能为0、1、2。
u will_retain:遗嘱保留标志,只能为0、1。
Ø 例:AT+MQTTWILL=usr.net,netoff,2,1
7、AT+MQTTWILLEN
Ø 功能:查询/设置遗嘱消息使能。
Ø 格式:
u 查询当前参数值:
AT+MQTTUWILLEN{CR}或AT+MQTTUWILLEN?{CR}
{CR}{LF}+ MQTTWILLEN:state{CR}{LF}{CR}{LF}
u 设置:
AT+MQTTWILLEN=state {CR}{CR}{LF}OK{CR}{LF}
Ø 参数:
u state:使能状态。
ON:开启。
OFF:关闭。
Ø 例:AT+MQTTWILLEN=ON
二、 发布主题
主题发布方式:在透传模式下,发送特定格式的数据,数据格式如下
主题名(最多20字节) |
,(英文格式) |
服务等级 |
,(英文格式) |
数据 |
示例zhang,2,usr,cn
三、 取消订阅主题
取消订阅主题,我们分为指令取消和在线取消,指令取消就是通过AT指令AT+MQTTUNSUB取消主题,在线取消为在透传模式下发送特定格式数据取消主题,在线取消不会保存到flash里面,重启模块或者掉线重连后会丢失。
在线取消订阅格式为:
unsubscribe (固定) |
,(英文格式) |
主题 |
示例:unsubscribe,zhang1
四、 配置过程
780依次发送的指令如下图所示
AT+WKMOD=MQTT //mqtt模式
AT+MQTTCONN=112233,120,1 //设置id,心跳包时间,清除session
AT+MQTTSUB=1,PUB1,0 //订阅主题序号,名称以及质量等级
AT+SOCKA=TCP,39.105.117.9,1883 //mqtt服务器端口和地址
AT+MQTTU=usr,www.ybljg.com //mqtt服务器登录用户名和密码
AT+Z //重启
使用mqttfx软件同样登录相同ip和端口的mqtt服务器。
登录之后发布消息
此时可以看到780已经接收信息
通过780发布消息
此时可以看到mqttfx接收到了消息
附:
串口软件下载地址:http://www.ybljg.com/Download/964.html