中移動M5311模塊使用手冊(TCP,MQTT)


資料下載: https://gitee.com/yang456/learn-m5311.git

模塊鏈接: https://item.taobao.com/item.htm?ft=t&id=645162253935

實物圖(以最新版為准)

 

 

 

 

 

引腳說明

5V: 模組5V供電引腳

G: GND

VBAT:  3.1V ~ 4.2V供電引腳

RST:   復位模組引腳(拉低復位)

TX:     模組串口通信發送數據引腳

RX:     模組串口通信接收數據引腳

PSM:  模組休眠喚醒引腳

PWR:  模組開關機引腳

 

手機卡安裝示意圖

注意缺口方向

 

測試AT(使用串口模塊測試)

1,串口模塊連接示意圖

 

 

 

2,把PWR引腳和GND引腳連接在一起約1S時間,然后去掉連接

模組開機以后打印如下

 

 

 

2,打開資料里面的數據手冊

 

 

 

 

超過20s不和模組進行AT指令通信,模組就會進入睡眠模式.

進入睡眠模式以后需要把PSM引腳接到低電平進行喚醒

 

 

3,一般在測試時,先發送指令設置模組不主動休眠

AT+SM=LOCK

 

 

 

 

測試連接TCP服務器

1.安裝好手機卡和天線

 

 

2.給模組重新開機

每次安裝好手機卡以后復位模組讓模組重新啟動,

正常情況下等待3S左右模組會顯示已經識別到SIM卡

等待10S左右模組注冊上網絡以后會顯示模組的IP地址

 

 

3.依次發送以下指令

控制模組開機

AT

AT+SM=LOCK

AT+CPIN?

AT+CEREG?

AT+CGACT?

模塊根據指令回復如下方可進行下面的步驟

 

 

4.連接TCP服務器

例如連接IP地址為 47.92.31.46 端口號為 10002的TCP服務器

模組總共有5路socket(0-4)使用,下面是使用socket0連接通信

AT+IPSTART=0,"TCP","47.92.31.46",10002

 

 

 

 

 

4.使用socket0發送數據給服務器

發送字符串  發送 stringdata

AT+IPSEND=0,0,"stringdata"

 

 

 

 

 

 

 

發送16進制數據 發送  0x01 0x02 0x55 0xff

AT+IPSEND=0,4,"010255ff"

 

 

 

 

 

 

5.socket0接收數據

模組默認是不主動把接收的數據通過串口發送出來的.......

1.數據標識+透傳的數據   模式接收數據

AT+IPRCFG=1,0,0

模組接收字符串數據(string)如下

+IPRD: 0,6, 是數據標識, string是接收的數據(最后有個換行哈,是模組自己添加的)

 

 

 

 

模組接收16進制數據(0x01 0x02 0x03)如下

+IPRD: 0,3, 是數據標識, 后面不是亂碼哈,是因為字符串顯示后面是16進制的 010203

(數據最后有個換行哈,是模組自己添加的)

 

 

 

 

2.透傳的數據   模式接收數據

AT+IPRCFG=1,1,0

 

 

 

模組接收字符串數據(string)如下

注意,並不是完全透徹的數據 (模組在數據的開頭和結尾都加了換行)

 

 

 

模組接收16進制數據(0x01 0x02 0x03)如下

注意,並不是完全透徹的數據 (模組在數據的開頭和結尾都加了換行)

 

 

 

 

6.模組做的有點問題!!!

測試發現上面的主動輸出不好使: 如果模組不發送數據給服務器,服務器主動發送數據給模組.

服務器發送數據給模組以后等40S再發送,模組雖然接收到數據,但是不主動輸出.......

如果想獲取數據,需要讓模組發送數據給服務器一下,緩存數據就主動出來了.

大家伙可以設置手動查詢模式,然后數據接收方式可以是透傳模式

AT+IPRCFG=1,1,0

 

查詢參考

 

 

 

測試連接MQTT服務器

1.安裝好手機卡和天線

 

 

2.給模組重新開機

每次安裝好手機卡以后復位模組讓模組重新啟動,

正常情況下等待3S左右模組會顯示已經識別到SIM卡

等待10S左右模組注冊上網絡以后會顯示模組的IP地址

 

 

3.依次發送以下指令

控制模組開機

AT

AT+SM=LOCK

AT+CPIN?

AT+CEREG?

AT+CGACT?

模塊根據指令回復如下方可進行下面的步驟

 

 

4.配置連接的MQTT服務器參數

MQTT服務器IP地址:47.92.31.46

MQTT服務器端口號:1883

MQTT客戶端ClientID: 000000 (一般使用模組的IMEI代替,確保唯一)

MQTT客戶端心跳時間: 60  (秒)

MQTT服務器用戶名:yang

MQTT服務器密碼:11223344

讓MQTT服務器清除session信息: 1 (不清除的話服務器就記錄這個客戶端的信息了,以前這個客戶端訂閱的主題也記錄了,再次連接不需要再訂閱就可以)

不使用SSL加密通信: 0

 

AT+MQTTCFG=47.92.31.46,1883,000000,60,yang,11223344,1,0

 

 

 

 

 

 

 

5.連接MQTT服務器

AT+MQTTOPEN=1,1,0

 

 

 

 

 

6.訂閱主題

假設訂閱 222222

AT+MQTTSUB=222222,1,0

 

 

 

 

 

7.接收消息

接收字符串 "qqqqqq"

 

 

接收16進制 "0x01 0x02 0x03"

注意哈后面不是亂碼哈,是因為字符串顯示后面是16進制的 010203

 

 

可以使用16進制看下

 

 

8.發送消息

主題:topic

消息等級: 0

不讓服務器記錄消息: 0

不是重新上報的消息: 0

傳輸字符串,該數為0

消息: qqqqq

AT+MQTTPUB="topic",0,0,0,0,"qqqqq"

 

 

 

 

 

 

主題:topic

消息等級: 0

不讓服務器記錄消息: 0

不是重新上報的消息: 0

傳輸3個16進制數據,該數為3

消息: 0x01 0x02 0x03

AT+MQTTPUB="topic",0,0,0,3,"010203"

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM