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