網(wǎng)絡拓撲圖如下:
一、命令說明:
? 功能:查詢/設置工作模式。
? 格式:
u 查詢當前參數(shù)值:
AT+WKMOD{CR}或AT+WKMOD?{CR}
{CR}{LF}+WKMOD:mod{CR}{LF}{CR}{LF}
u 設置:
AT+HEARTTM=mod{CR}
{CR}{LF}OK{CR}{LF}
? 參數(shù):
u mod:工作模式設置,這里為MQTT。
? 例:AT+WKMOD =MQTT
2、AT+MQTTCONN
? 功能:查詢/設置MQTT連接參數(shù)。
? 格式:
u 查詢當前參數(shù)值:
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}
? 參數(shù):
u id:客戶端id,最多10字節(jié),默認位wxxtd.cn。
u keepAlive:心跳包,范圍為60秒~180秒,默認為100。
u clean:是否清除session,0-不清除,1-清除,默認為1。
? 例:AT+WKMOD =wxxtd.cn,100,1
3、AT+MQTTSUB
? 功能:查詢/設置訂閱主題。
? 格式:
u 查詢當前參數(shù)值:
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}
? 參數(shù):
u num:主題號,范圍為1-10。
u top:主題名,最多20個字節(jié),默認為空。
u qos:服務等級,默認為0。
? 例:AT+MQTTSUB =1,usr,0
注:最多支持訂閱10個主題
4、AT+MQTTUNSUB
? 功能:取消訂閱主題。
? 格式:
u 查詢當前參數(shù)值:
AT+MQTTUNSUB{CR}或AT+ MQTTUNSUB?{CR}
{CR}{LF}+ MQTTUNSUB:num{CR}{LF}{CR}{LF}
u 設置:
AT+MQTTUNSUB= num {CR}
{CR}{LF}OK{CR}{LF}
? 參數(shù):
u num:主題號,范圍為1-10。
? 例:AT+MQTTSUB =1
5、AT+MQTTU
? 功能:查詢/設置用戶名和密碼。
? 格式:
u 查詢當前參數(shù)值:
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}
? 參數(shù):
u user:用戶名,最多20個字節(jié),默認為空。
u psw:密碼,最多20個字節(jié),默認為空。
? 例:AT+MQTTSUB =zhang,123456
6、AT+MQTTWILL
? 功能:查詢/設置遺囑消息。
? 格式:
u 查詢當前參數(shù)值:
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}
? 參數(shù):
u will_topicName:遺囑主題名,最多20個字節(jié)。
u will_topicMsg:遺囑主題消息,最多127個字節(jié)。
u will_qos:遺囑消息服務等級,只能為0、1、2。
u will_retain:遺囑保留標志,只能為0、1。
? 例:AT+MQTTWILL=usr.net,netoff,2,1
7、AT+MQTTWILLEN
? 功能:查詢/設置遺囑消息使能。
? 格式:
u 查詢當前參數(shù)值:
AT+MQTTUWILLEN{CR}或AT+MQTTUWILLEN?{CR}
{CR}{LF}+ MQTTWILLEN:state{CR}{LF}{CR}{LF}
u 設置:
AT+MQTTWILLEN=state {CR}{CR}{LF}OK{CR}{LF}
? 參數(shù):
u state:使能狀態(tài)。
ON:開啟。
OFF:關閉。
? 例:AT+MQTTWILLEN=ON
二、 發(fā)布主題
主題發(fā)布方式:在透傳模式下,發(fā)送特定格式的數(shù)據(jù),數(shù)據(jù)格式如下
主題名(最多20字節(jié)) |
,(英文格式) |
服務等級 |
,(英文格式) |
數(shù)據(jù) |
示例zhang,2,usr,cn
三、 取消訂閱主題
取消訂閱主題,我們分為指令取消和在線取消,指令取消就是通過AT指令AT+MQTTUNSUB取消主題,在線取消為在透傳模式下發(fā)送特定格式數(shù)據(jù)取消主題,在線取消不會保存到flash里面,重啟模塊或者掉線重連后會丟失。
在線取消訂閱格式為:
unsubscribe (固定) |
,(英文格式) |
主題 |
示例:unsubscribe,zhang1
四、 配置過程
780依次發(fā)送的指令如下圖所示
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,wxxtd.cn //mqtt服務器登錄用戶名和密碼
AT+Z //重啟
使用mqttfx軟件同樣登錄相同ip和端口的mqtt服務器。
登錄之后發(fā)布消息
此時可以看到780已經(jīng)接收信息
通過780發(fā)布消息
此時可以看到mqttfx接收到了消息
附:
串口軟件下載地址:http://wxxtd.cn/Download/964.html