- 型號介紹
- 協議區分
- CoAP與MQTT區別
-
- LWM2M與CoAP區分
- 與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 平臺,進行數據收發測試。
- 與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主題的訂閱與發送
訂閱的方法:
MQTT.fx的使用方法:
https://blog.csdn.net/tiantang_1986/article/details/85101366
參考AT指令:
http://www.luyixian.cn/news_show_240809.aspx