<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/Learn-NB-IOT-Air302-ForLua" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
說明
測試服務器如下:
IP地址: 47.92.31.46
端口號:1883
MQTT用戶名:yang
MQTT密碼:11223344
指令發送步驟
關於指令的詳細意義請用戶打開文檔自行查閱
1. 關閉回顯
ATE0 (返回OK,再執行下一條)
2.讀取SIM卡是否工作正常
AT+CPIN? (返回+CPIN: READY,再執行下一條)
3.檢測GPRS注冊狀態
AT+CEREG? (返回+CEREG: 0,1 或 +CEREG: 0,5 ,再執行下一條)
4.是否附着GPRS
AT+CGATT? (返回+CGATT: 1 ,再執行下一條)
5.連接TCP服務器(MQTT服務器)
所以我的是:
6.發送連接MQTT協議
提示:clientID需要保證每個客戶端不一樣,一般使用模組的IMEI號碼代替,模組上面有寫,可以使用AT+CGSN=1 指令獲取
如果服務器規定了clientID,那么按照服務器規定的
當然測試的時候可以先隨意規定.
所以我的是:(我隨意規定clientID是000000)
提示: [,“<username>”[,“<password>”]] 代表可以不寫(有些MQTT服務器沒有用戶名和密碼的時候可以不寫)
AT+ECMTCONN=0,"000000"
7.訂閱主題
msgID設置的什么就返回什么,執行不同訂閱的主題的時候可以作為區分
假設我訂閱的主題為:qqqqq 消息等級0
所有我的是:
AT+ECMTSUB=0,1,"qqqqq",0 (訂閱成功返回+ECMTSUB: 0,1,0,1 )
使用串口調試助手測試
1.連接開發板
2.安裝好手機卡和天線
3.打開串口調試助手,依次發送指令
發送的指令 期望返回 描述
ATE0 OK 關閉回顯
AT+CPIN? +CPIN: READY
AT+CEREG? +CEREG: 0,1 或 +CEREG: 0,5 查詢GPRS注冊狀態
AT+CGATT? +CGATT: 1 檢測GPRS附着狀態
AT+ECMTOPEN=0,"47.92.31.46",1883 +ECMTOPEN: 0,0 連接TCP服務器(MQTT服務器)
AT+ECMTCONN=0,"000000","yang","11223344" +ECMTCONN: 0,0,0 發送連接MQTT協議
AT+ECMTSUB=0,1,"qqqqq",0 +ECMTSUB: 0,1,0,1 訂閱主題
4.打開MQTT調試助手
5.發送數據給模組
6.使用MQTT調試助手訂閱主題:wwwwww
7.控制模組發送信息給MQTT調試助手
因為mqtt調試助手訂閱了wwwwww,所以發布的主題topic為: wwwwww
假設發布的消息為: 11223344
所以
AT+ECMTPUB=0,0,0,0,"wwwwww","11223344"