什么是AT指令集
AT命令,用來控制TE(Terminal Equipment)和MT(Mobile Terminal)之間交互的規(guī)則,如下圖所示。在GSM網(wǎng)絡(luò)中,用戶可以通過AT命令進(jìn)行呼叫、短信、電話本、數(shù)據(jù)業(yè)務(wù)、傳真等方面的控制。
AT命令是以AT作首,字符結(jié)束的字符串,AT命令的響應(yīng)數(shù)據(jù)包在中。每個(gè)命令執(zhí)行成功與否都有相應(yīng)的返回。AT指令集可分為三個(gè)類型:
類別 |
語法 |
說明 |
---|---|---|
執(zhí)行命令 |
有參數(shù):AT+=<...> 無參數(shù):AT+ |
用來設(shè)置AT命令中的屬性。 |
測(cè)試命令 |
AT+=? |
用來顯示AT命令設(shè)置的合法參數(shù)值有哪些(范圍)。 |
查詢命令 |
AT+? |
用來查詢當(dāng)前AT命令的設(shè)置的屬性值。 |
大部分模組支持3GPP TS 27.007 AT命令集,并在此基礎(chǔ)上擴(kuò)展出自定義指令集。以C開頭的命令如AT+CFUN是是通用的命令,以N開頭的命令是模組廠商自定義的命令,不同的模組廠商可能使用不同的命令實(shí)現(xiàn)相同的功能。
在物聯(lián)網(wǎng)中,AT指令集可用于通信模塊調(diào)測(cè)、控制&調(diào)測(cè)設(shè)備等。本節(jié)將以移遠(yuǎn)通信的BC35-G模組為例,為大家剖析常用的NB-IoT 3GPP相關(guān)命令及其常見用法,完整的文檔可找模組廠家獲取。
常用AT命令
-
AT+ CGS N(查詢模塊序列號(hào))
AT+CGSN=,如果沒有寫入,則 只返回"OK”。
-
=0,返回。
-
=1,返回IMEI(國(guó)際移動(dòng)設(shè)備識(shí)別碼),這個(gè)序列號(hào)每個(gè)模塊都是唯一的。物聯(lián)網(wǎng)平臺(tái)基本都是以IMEI號(hào)或者M(jìn)ac地址來區(qū)分不同的設(shè)備,包括華為OceanConnect物聯(lián)網(wǎng)平臺(tái)。
-
=2,返回IMEISV(國(guó)際移動(dòng)電臺(tái)設(shè)備身份和軟件版本)。
-
=3,返回軟件版本號(hào)SVN。
-
例:查詢IMEI
發(fā)送命令:
AT+CGSN=1
模塊返回:
+CGSN:868744036640526
OK
-
AT+CGMR(查詢固件版本)
執(zhí)行該命令返回固件版本 。
例:
發(fā)送命令:
AT+CGMM
模塊返回:
<Revision>
OK
-
AT+CMEE(查詢終端報(bào)錯(cuò))
用于設(shè)置終端錯(cuò)誤報(bào)告,使能后當(dāng)發(fā)送AT執(zhí)行錯(cuò)誤時(shí)終端會(huì)返回錯(cuò)誤編碼,這樣便于定位問題。
例:
開啟錯(cuò)誤碼上報(bào)
發(fā)送命令:
AT+CMEE=1
模塊返回:
OK
-
AT+NRB(重啟模塊)
例:
發(fā)送命令
AT+NRB
模塊返回:REBOOTING
****
Boot: Unsigned
Security B.. Verified
Protocol A.. Verified
Apps A...... Verified
REBOOT_CAUSE_APPLICATION_AT
Neul
OK
-
AT+CSQ(查詢信號(hào)強(qiáng)度)
返回值為+CSQ:,。rssi越大,表示信號(hào)越強(qiáng)。信號(hào)強(qiáng)度和rssi換算公式為:信號(hào)強(qiáng)度=113dBm+(rssi*2)。
沒有信號(hào)或信號(hào)強(qiáng)度過低,需要聯(lián)系運(yùn)營(yíng)商處理。
例:
發(fā)送命令:
AT+CSQ
模塊返回
+CSQ:31,99
OK
-
-
rssi=0,表示信號(hào)非常差。
-
rssi=31,表示信號(hào)質(zhì)量非常強(qiáng)。
-
rssi=99,表示沒有信號(hào)。
-
ber字段未使用,恒等于99。
-
-
AT+CGATT(查詢網(wǎng)絡(luò)是否激活)
返回:+CGATT:1,表示網(wǎng)絡(luò)已激活;若返回:+CGATT:0,則表示網(wǎng)絡(luò)未激活,請(qǐng)嘗試重啟模組激活網(wǎng)絡(luò)。
例:
發(fā)送命令:
AT+CGATT?
模塊返回:
+CGATT:1
OK
-
AT+CEREG(查詢網(wǎng)絡(luò)注冊(cè)狀態(tài))
該命令用于查詢終端EPS網(wǎng)絡(luò)注冊(cè)狀態(tài)。當(dāng)使能提示時(shí),終端的網(wǎng)絡(luò)注冊(cè)狀態(tài)信息有變化,會(huì)主動(dòng)上報(bào)給用戶終端。通過不同的設(shè)置可以上報(bào)EPS注冊(cè)狀態(tài)、位置區(qū)碼、小區(qū)ID、服務(wù)小區(qū)的接入技術(shù)等信息,通常情況下只需要設(shè)置為自動(dòng)上報(bào)EPS注冊(cè)狀態(tài)。
例:設(shè)置網(wǎng)絡(luò)注冊(cè)狀態(tài)上報(bào)信息
發(fā)送命令:
AT+CEREG=1
模塊返回:
OK
設(shè)置成功后,當(dāng)網(wǎng)絡(luò)注冊(cè)狀態(tài)信息有變化,會(huì)主動(dòng)上報(bào)給用戶終端,如:
+CEREG:1,1
OK
-
AT+CSCON(查詢網(wǎng)絡(luò)當(dāng)前連接狀態(tài))
返回格式為:+CSCON:,?
是通知設(shè)置。取值和說明:0為取消異步通知,當(dāng)網(wǎng)絡(luò)連接后,串口不會(huì)主動(dòng)上報(bào)+CSCON命令;1為使能異步通知,串口主動(dòng)上報(bào)+CSCON。
是當(dāng)前模塊連接狀態(tài),取值和說明:0處于IDLE狀態(tài),1處于已連接狀態(tài)。當(dāng)處于IDLE狀態(tài)時(shí),只要發(fā)送數(shù)據(jù)或者重啟設(shè)備,就會(huì)變成已連接狀態(tài)。
例:
發(fā)送命令:
AT+CSCON?
模塊返回:
+CSCON:0,1
OK
-
AT+CFUN(設(shè)置模塊射頻功能)
該命令用于設(shè)置和查詢模塊的射頻功能是否開啟。
例:
AT+CFUN=0 //關(guān)閉射頻功能
OK
AT+CFUN=1 //開啟模塊射頻功能
OK
AT+CFUN? //查詢模塊的射頻開啟狀態(tài)
+CFUN:1 //射頻功能已打開成功,若回復(fù)0通常是因?yàn)镾IM卡的電路與模塊沒有連接成功
AT指令集調(diào)測(cè)工具
AT指令集調(diào)測(cè)工具(也稱串口調(diào)試工具)有IoT Studio、QCOM、SSCOM、XCOM、COMTool。本節(jié)為大家重點(diǎn)介紹常用的IoT Studio和QCOM。
【IoT Studio】
IoT Studio是基于華為L(zhǎng)iteOS嵌入式系統(tǒng)軟件開發(fā)的工具,支持C,C++、匯編等多種開發(fā)語言,提供了代碼編輯、編譯、燒錄及調(diào)試等一站式開發(fā)體驗(yàn),可以對(duì)系統(tǒng)關(guān)鍵數(shù)據(jù)進(jìn)行實(shí)時(shí)跟蹤、保存與回放。
【QCOM】
QCOM串口調(diào)試助手是經(jīng)典的AT指令調(diào)試和NB-IoT開發(fā)工具,支持多條AT命令的保存,多個(gè)命令待發(fā)送區(qū)域,每個(gè)都可以單獨(dú)設(shè)置延時(shí),使2G、NB-IoT模塊開發(fā)更容易。
QCOM串口調(diào)試工具下載路徑和使用指導(dǎo)請(qǐng)參考QCOM下載和使用指導(dǎo)。