QUECTEL上海移远4G通讯CAT4模组EC20CEFAG模块串口调试指南之【05EC20模组TCP/IP模块AT指令说明】
本系列博文將系統性講解物聯網模組系列的實際使用和調試指南,以移遠4G模組EC20為例(其他廠家模組的調試方法大同小異),加快嵌入式軟、硬件工程師對物聯網模組調試和使用的上手速度。
一、準備工作
1、軟件:串口調試助手(推薦官方的QCOM,可以講命令保存為腳本,方便后續多次的調用)
2、硬件:EC20硬件套件、USB轉串口線及SIM卡
3、文檔:《Quectel_EC20_R2.1_AT_Commands_Manual》、《Quectel_EC2x&EG9x&EM05_TCP(IP)_AT_Commands_Manual_V1.0》
4、硬件環境搭建:模組正常開機,將模組的串口通過USB轉串口正常連接到電腦并且打開QCOM,正常識別到模組對應串口;
5、網絡服務器:因為設計到數據和網絡服務器兩者間的通訊,所以需要一個網絡服務器實現數據下發到模組(模組數據的上傳需要得知服務器的IP地址和端口號);
二、針對TCP/IP協議:
針對初次接觸到蜂窩式通訊模組的同學而言,TCP/IP的連接流程相比會比較陌生,本博文開始講系統性的講解關于模組在網絡通訊部分的知識;關于TCP/IP部分,建議大家參考文檔《Quectel_EC2x&EG9x&EM05_TCP(IP)_AT_Commands_Manual_V1.0》,關于TCP/IP的鏈接邏輯部分還是很值得大家的參考,可以提高大家對整體的TCP連接的感性認識(因為自己走了很多的彎路,所以分享此文檔給大家)。
關于AT指令部分:下圖中將關于TCP/IP的重要AT指令做了標出,個人認為紅色框框中是比較重要的部分,需要完全進行掌握;
AT指令發送:由于AT指令比較多,串口助手的窗口顯示不全,我已經將AT指令的Log保存為“.txt”文件,大家可以在文檔末尾給出的鏈接中進行免費下載,進行學習和分析;
關于TCP/IP協議操作的AT指令解釋:
1、AT+CGATT?/AT+CGREG?命令:PS域的注冊,命令主要是檢測模組是否注冊到了基站的PS域,簡言之就是模組和基站的數據通訊是否建立(注意:CS域主要負責通話部分,PS主要負責數據通訊部分);
2、AT+QICSGP=1,1,"CMNET","","",1:關于APN的設置問題,大家在使用手機的時候或者支持蜂窩的PAD的時候都沒有進行過APN的設置,網絡也可以正常連接,為什么需要設置APN?之前我也很困惑這個問題,后面有請教到移動內部的一位技術大佬,大佬是這樣回答的:國內所有運營商網絡在一開始的時候并沒有讓設備的使用者去操作輸入APN,基站側檢測到未攜帶正確APN的設備時,基站會進行自動糾錯PAN,以達到讓客戶正常上網的目的,隨著國內用戶的增加和物聯網設備的爆發式增長,目前基站的糾錯能力存在糾錯的風險,所以如果可能的話還是建議設備攜帶正確APN進行上網。所以最終建議用戶還是需要設置正確的APN,避免設備在SIM卡正常,模組正常,APN不正確的情況下造成PS域鏈接網絡失敗的情況。(其中中國聯通的APN為:UNINET,中國移動為:CMNET);
3、AT+QIACT=1:激活PDP 的連接,為下一步的TCP/IP的連接做準備;
4、AT+QIOPEN=1,0,"TCP","119.xxx.xxx.29",xxxx2,0,1:此命令用來創建TCP/IP的連接;此時需要再服務器上先建立好服務器端口,否則發送此命令會出現創建失敗的提示;模塊支持創建多個contextID和connectID/socket,默認的序號開始分別為1和0;支持TCP、UDP、TCP LISTENER和UDP SERVICE、我們今天講解TCP,所以這個參數為TCP;然后為服務器的IP地址和端口號,根據自己的實際地址和端口號進行填寫即可;最后一個參數為數據接收的模式;我們這里選擇1,即Direct push mode;
關于access_mode:
Buffer access mode:此模式下模組收到服務器下發的數據是會進行提示“+QIURC: “recv”,<connectID>”.然后可以根據接收到的數據長度和connectID進行讀取數據;
Direct push mode:此模式下模組收到服務器下發的數據是會進行直接顯示,如下圖中串口助手上紅色框中的提示(服務器我選擇的是收到什么信息回復什么信息,所以接收到的和發送的數據一樣)
Transparent access mode:此模式是透傳模式,特別適合大數據的給服務器發送數據;在此模式下發送的所有信息都會被發送到服務器,包括AT命令;退出時需要發送特殊指令“+++”退出;
5、AT+QISEND=1;發送數據開始的命令,發送此指令后,模組會回復“>”,等待接受串口數據的到來;然后可以發送數據到串口;注意單次發送的數據量應該小于等于1460Byte,否則多余的數據會被忽略;
6、1A[HEX]:1A的格式需要再HEX模式下進行發送,此特殊字符為模組判斷用戶將數據發送到串口完成的標志;發送此命令后,模組會將數據發送到服務器;
模組和服務器的數據交互如下所示:
7、AT+QIDEACT=1:此命令用于去激活PDP的連接,簡單理解就是和服務器斷開連接;
8、AT+QICLOSE=1:此命令為關閉connectID/socket的連接,把之前的connectID/socket資源進行回收;否則下次創建同樣序號的connectID/socket時會出現創建失敗的情況;
9、AT+QPOWD=1:如果需要低功耗,可以將模組正常關機;
模組的TCP/IP鏈接的創建和數據發送相對簡單,主要特別注意每次AT指令發送完畢需要等待模組回復是否正常,建議大家詳細閱讀AT指令手冊中相關的命令,否則會出現錯誤或者失敗的現象。
關于出現錯誤或者失敗的處理策略,應該遵循手冊中給出的流程圖,避免暴力操作引起模組的損壞。
?
?
以上就是針對移遠4G通訊CAT4模組EC20關于TCP/IP模塊的AT指令簡單介紹,希望大家能夠對模組AT命令調試方面有一些更加深刻的認識,下一節會針對模組的UDP連接流程和命令進行詳細介紹,敬請期待。
------------------------------------------------------------------------------------------------------------------------------------------
因為小編自己能力水平有限,文中難免有錯誤或表達不到的信息,還望廣大閱讀者留言批評指正,謝謝。
總結
以上是生活随笔為你收集整理的QUECTEL上海移远4G通讯CAT4模组EC20CEFAG模块串口调试指南之【05EC20模组TCP/IP模块AT指令说明】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【无标题】灵遁者相观天下,相学培训书籍
- 下一篇: python最简单的爬取邮箱地址_pyt