NB(M5311)與移動ONENET連接(基於MQTT協議)

                                                    

  1.  型號介紹

  1.  協議區分
    1. CoAP與MQTT區別

    1. LWM2M與CoAP區分

  1. 與ONENET連接

1)打開OneNET 網站:open.iot.10086.cn

2)登錄平臺,賬號需要用戶自己註冊,我們測試賬號爲公司的企業賬號,個人賬號並未測試,登錄入口如下:

3)登錄賬號後,進入“開發者中心”,如下圖:

4)進入“多協議接入”

5)添加產品

6)填寫參數

7)點擊添加的“M5311_MQTT”,進入界面如下,選擇“設備列表”

8)在正式設備裏面選擇“添加設備”

9)添加設備的參數,設備名稱和鑑權信息可以自己命名,測試時我們使用M5311_MQTT和LSD 作爲名字和鑑權信息,如下圖:

10) 新建好設備後,如下圖所示,是離線狀態

在數據流裏面可以查看模組上傳到OneNET 的數據,更多操作裏面有下發命令,可以通過平臺下發數據給模組。

11) 至此OneNET 配置已經完成,下一步開始發送AT 指令,上線OneNET 平臺,進行數據收發測試。

  1. 與ONENET平臺數據收發(基於MQTT協議)

1)開機後,模組會主動推送數據:

*ATREADY: 1

+CFUN: 1

+CPIN: READY

2)模組註冊上網絡後,會主動的推送IP(模塊註冊網絡需要一些時間):

+IP: 10.171.109.94

3)發送查詢信息,包括AT 命令、ATI(軟件版本號):

AT

OK

ATI

CMCC

M5311

M5311-MLVH1S02

M5311-MLVH1S02

OK

4)打開LED 指示燈功能和關閉休眠功能(可選):

AT+CMSYSCTRL=0,2

OK

AT+SM=LOCK  //關閉睡眠模式

OK

5)查詢IMEI、卡狀態、IMSI、ICCID、網絡註冊狀態和信號強度:

AT+CGSN=1  //查詢IMEI/設備

+CGSN: 869975030649621

OK

AT+CPIN?    //是否插卡

+CPIN: READY

OK

AT+CIMI  //請求國際移動臺設備標識/用戶

460042094606376

OK

AT+ICCID  //讀取ICCID標識/卡

+ICCID: 89860400011893516476

OK

AT+CEREG?           //網絡註冊狀態

+CEREG: 0,1

OK

AT+CSQ

+CSQ: 17,6

OK

6)MQTT client 參數配置,連接OneNET 服務器:

AT+MQTTCFG="183.230.40.39",6002,"579894300",1800,"309663","LSD",1

OK

該命令配置MQTT 連接參數,onenet 服務器的ip 地址:183.230.40.39,端口號:6002,設備ID:579894300, keepalive 時間:1800,產品ID:309663,鑑權碼:LSD //同時刪除session

7)發送連接建立請求:

AT+MQTTOPEN=1,1,0,0,0,"",""

OK

8)向OneNET 數據流推送消息

AT+MQTTPUB="$dp",1,0,0,26,"0300177B22646F696F74223A227777772E6D6F7A752E636F227D"//格式的內容爲 {數據流名稱:字符串}

OK

如果成功發送數據,會返回提示信息:

+MQTTPUBACK: 1,0

參考檔案:M5310-A官方文檔 <M531X MQTT 使用指導_v1.3>

http://www.luyixian.cn/news_show_240809.aspx

AT+MQTTPUB=$dp,0,1,0,28,
0300197b2261223a392c2262223a392c2263223a392c2264223a397d
上傳數據 28爲發送數據長度,
數據中:03指明數據爲json格式,
0019爲json字符串內容長度,
其後爲json字串的hex格式

 

2.7 上報數據到平臺

AT+MQTTPUB=$dp,<qos>,<retain>,<dup>,<message_len>,<message>

當AT+MQTTPUB指令用作上報消息到平臺並顯示功能時,需使用特定的主題“$dp”.

參數將分爲 參數將分爲3個部分:

<數據類型><字符長度><消息內容>

<數據類型> 03 -字符串

<字符長度> 4位 16進制計數,表示<消息內容>字符長度

<消息內容> 必須爲16進制, 字符串內容格式爲 {“數據流名稱”:”字符串”},通過字符串16進制工具轉爲16進制後合入AT指令 (建議字符長度不超過128)。

在線字符串轉16進制: …

在線字符串長度計算: …

如: 要往數據點 countd 傳遞數據 1800

消息內容爲: {"countd":1800}
轉換爲16進製爲: 7b22636f756e7464223a313830307d
消息內容長度爲: 15 轉爲4位16進製爲: 000F (字符串的長度, 即16進制長度除以2)

則 爲

03000F7b22636f756e7464223a313830307d

<message_len>爲 message 的長度(16進制長度除以2)

18

所以此條命令爲:

AT+MQTTPUB=$dp,1,0,0,18,03000F7b22636f756e7464223a313830307d

注:上傳到雲平臺是必須主題是"$dp"。

9)OneNET 服務器在設備列表-下發命令裏面,可以直接向模組下發數據

10)關閉連接、釋放資源、模組關機:

AT+MQTTDISC  //關閉MQTT連接

OK

+MQTTDISC: OK

AT+MQTTDEL   //釋放MQTT資源

OK

AT+CPOF   //模組關機

OK

POWER OFF

5主題的訂閱與發送

訂閱的方法:

https://blog.csdn.net/lazyduck/article/details/102727228?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158441463419724847059141%2522%252C%2522scm%2522%253A%252220140713.130056874..%2522%257D&request_id=158441463419724847059141&biz_id=0&utm_source=distribute.pc_search_result.none-task

MQTT.fx的使用方法:

https://blog.csdn.net/tiantang_1986/article/details/85101366

參考AT指令:

http://www.luyixian.cn/news_show_240809.aspx

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章