AT指令的分類和格式
AT指令分測試指令、讀取參數指令、設置參數指令、執行命令指令四類。參見下表。
命令 命令名稱 命令功能
AT+ < CMD > =? 測試命令 詢問模塊支持哪些設置參數或者是那些項目
AT+ < CMD >? 讀取命令 讀取模塊的當前被設置的參數
AT+ < CMD >=p1[,p2[,p3[…]]] 設置命令 設置模塊參數
AT+ < CMD> 執行命令 讓模塊執行某個功能
注意: 在發送的命令后,必須加一個回車,這樣命令才能被執行
命令解釋
一、3GPP命令
3GPP是一個制定通訊方面的標准和規范的組織,由不同的國家成員組成。
1、ATI
顯示產品的一些表識信息。例如:我的模塊是BC35-G,發送ATI命令
ATI
BC35-G
Revision:BC35GJBR01A04W
.
OK
2、ATE
設置命令回顯模式。意思是說,模塊的返回信息中,是否要把你當前發送的命令也一同返回給你。例如:
ATE0
.
OK
ATE1
ATEI
.
OK
3、AT+CGMI
返回制造商名稱。例如:
AT+CGMI
Quectel
.
OK
4、AT+CGMM
請求模塊一個生產編號/模型
AT+CGMM
BC35GJB-02-STDW
.
OK
AT+CGMM
+CME ERROR: 50
5、AT+CGMR
請求模塊版本信息
AT+CGMR
SSB,V150R100C10B200SP1
SECURITY_A,V150R100C20B300SP7
PROTOCOL_A,V150R100C20B300SP7
APPLICATION_A,V150R100C20B300SP7
SECURITY_B,V150R100C20B300SP7
RADIO,Hi2115_RF7
.
OK
AT+CGMR?
+CME ERROR: 50
6、AT+CGSN
請求產品序列號 IMEI (International Mobile station Equipment Identity)和相關信息
IMEI是國際移動設備識別碼,意思是每台移動設備在世界上有一個唯一的識別碼。這個命令比較重要。
命令 Integer type. The serial number type that has been requested.
AT+ CGSN[= < snt >] 0 Returns < sn >
1 Returns the IMEI number
2 Returns the IMEISV (International Mobile station Equipment Identity and SoftwareVersion) number
3 Returns the SVN (Software Version Number)
例如:
AT+CGSN=1 查詢IMEI
+CGSN:863716049970731
.
OK
AT+CGSN=? 查看支持哪些參數
+CGSN:(0,1,2,3)
.
OK
7、AT+CEREG
網絡注冊狀態(協議層次上),休眠時間等等。
例如:
AT+CEREG=1
.
OK
AT+CEREG
+CEREG:1,1 表示注冊成功
.
OK
8、AT+CSCON
該命令給出模塊感知到的無線電連接狀態(即到基站)的詳細信息。(物理信號層次)
Command Response
AT+CSCON=< n > OK
AT+CSCON? +CSCON:< n >,< mode >
AT+CSCON=? +CSCON:(list of supported < n >s)
< n > Integer type. Enable/disable unsolicited result code.
0 — Disable unsolicited result code
1 — Enable unsolicited result code: “+CSCON:< mode >”
< mode > Integer type. The signalling connection status.
0 — Idle
1 — Connected
2-255 < reserved for future use >
AT+CSCON?
+CSCON:0,0
.
OK
9、AT+CLAC
列出模塊支持的所有命令
10、AT+CSQ
獲取信號強度。
返回值 Unit: dBm.
0 -113dBm or less
1 -111dBm
2…30 -109dBm… -53dBm
31 -51dBm or greater
99 Not known or not detectable
例如:
AT+CSQ
+CSQ:20,99 返回20,信號良好
.
OK
如何設計程序?
while(strx == NULL)
{
UAartSend(“AT+CSQ\r\n”);
Delay(300);
strx=strstr((const char*)RxBuffer,(const char*)"+CSQ");
if(strx)
{
BC95_Status.CSQ=(strx[5]-0x30)*10+(strx[6]-0x30);
if(BC95_Status.CSQ==99);
{
while(1)
{
Delay(300);
}
}
}
}
11、AT+CGPADDR
請求設備IP地址(臨時外網IP,基站IP資源有限,僅限本次通訊,臨時分配給模塊)
例如:
AT+CGPADDR
+CGPADDR:0,100.115.136.135
.
OK
12、AT+COPS
設置運營商,是連接電信還是移動還是聯通。
13、AT+CGATT
模塊連接到基站
命令 Integer type. Indicates the state of PDP context activation.
AT+CGATT=< state > < state > Integer type. Indicates the state of PDP context activation.0 Detached.1 Attached
AT+CGATT=0 斷開連接
AT+CGATT=1 附着(連接)
例如:
連接(附着)網絡
AT+CGATT=1
.
OK
AT+CGATT?
+CGATT:1 // 表示連接上了
.
OK
14、AT+CGACT
激活或停用PDP上下文
15、AT+CIMI
獲取國際用戶識別碼 IMSI(International Mobile Subscriber Identity)。
IMSI 是GSM 系統分配給移動用戶(MS)的唯一的識別號,此碼在所有位置,包括在漫游區都是有效。
IMSI格式:
MCC:Mobile Country Code,移動國家碼,三位數,如中國為 460。
MNC:Mobile Network Code,移動網號,兩位數,如中國郵電的MNC 為00。
MSIN:Mobile Subscriber Identification Number,在某一PLMN 內MS 唯一的識別碼。編碼格式為:H1 H2 H3 S XXXXXX
NMSI:National Mobile Subscriber Identification,在某一國家內MS 唯一的識別碼。
IMSI 舉例:460-00-4777770001
16、 AT+CGDCONT
定義PDP上下文
AT+CGDCONT= < cid > [,< PDP_type >[,< APN >[,< NSLPI >]]]
參數 意義
cid 指定特定的PDP上下文定義 0~10
PDP_type 支持的協議數據包 IP 因特網協議 、 IPv6 因特網協議 、IPv4v6 處理雙IP堆棧 、NONIP 無IP
APN 用於選擇GGSN或外部數據包網絡的邏輯名稱 用於選擇GGSN或外部數據包網絡的邏輯名稱
NSLPI 指示為此PDP上下文請求的NAS信令優先級 “0” — UE中配置的低優先級指示符的值激活此PDP上下文 ; “1”— 指示此PDP上下文將被激活,低優先級指示燈的值設置為 “MS未配置為NAS信令低優先級
例如:
AT+CGDCONT=?
+CGDCONT:(0-10),(“IP”,“NONIP”,“IPV6”,“IPV4V6”),(0),(0),(0,1)
.
OK
AT+CGDCONT?
+CGDCONT:0,“IPV4V6”,0,0,0
+CGDCONT:1,“IP”,“HUAWEI.COM”,0,0,0
.
OK
17、AT+CFUN
設置模塊在上電時射頻工作模式,和自動/手動聯網相關,默認是1,即自動的。
例如:
AT+CFUN?
+CFUN:1
.
OK
18、AT+CMEE
打印設備指令使用出錯信息
AT+CMEE=1 打印錯誤報告信息
AT+CMEE=1 關閉打印錯誤報告信息
19、AT+CCLK
請求當前時間
20、AT+CPSMS
設置PSM模式(和省電模式相關)
21 AT+CEDRXS
eDRX 模式省電相關
22、AT+CEER
輸出更多的錯誤信息
23、AT+CEDRXRDP
eDRX讀取動態參數,和低功耗相關。
24、AT+CTZR
時區報告
25、AT+CIPCA
PDP上下文相關
26、AT+CGAPNRC
APN 速率控制
27、AT+CSMS
選擇消息服務,和短信相關
28、AT+CNMA
接收消息通知,即設備和服務端相互通訊相關
29、AT+CSCA
服務器中心地址。
例如:
AT+CSCA?
+CSCA:“8613800200569”,145
.
OK
30、AT+CMGS
設備向服務器發送SMS信息
例如:
稍后完善…
31、AT+CMGC
設備向服務器發送SMS命令
稍后完善…
二、通用命令
1、AT+NRB
重啟模塊
2、AT+NUESTATS
請求模塊狀態信息
例如:
AT+CSCA?
Signal power:-869
Total power:-760
TX power:120
TX time:4021
RX time:24809
Cell ID:213669822
ECL:1
SNR:-22
EARFCN:3684
PCI:444
RSRQ:-152
OPERATOR MODE:4
CURRENT BAND:8
.
OK
3、AT+NEARFCN
指定搜索頻率(使用確定的運營商的服務,它已經確定了頻率,不用去設置)
4、AT+NSOCR
模塊中創建一個socket接口
命令格式:
AT+NSOCR=< type >,< protocol >,< listenport >[,< receive control>[,< af_type>]]
參數 意義
< type > DGRAM — UDP; STREAM — TCP
< protocol > 6 — TCP; 7 — UDP
< listen port > 監聽端口號
< socket > 支持0~7
< receive control> 如果應接收傳入消息,則設置為1,如果應忽略傳入消息,則返回0。默認值為1
< af_type > “AF_INET” — IPv4; “AF_INET6” — IPv6;默認是 “AF_INET”
例如:
AT+NSOCR=DGRAM,17,4587,1,1,AF_INET
0
.
OK
5、AT+NSOST
在UDP模式下發送數據
命令格式:
AT+NSOST=< socket >,< remote_addr >,< remote_port >,< length >,< data >[,< sequence>]
參數 意義
socket 通過命令AT+NSOCR返回的socket號碼
remote_addr 服務器IP地址
remote_port 服務器端口號
length 待發送數據長度
data 待發送的數據,數據的最大長度為1358字節。
sequence 數據序列。范圍:1-255。如果省略,則數據發送狀態將不為報道。如果沒有省略,當數據報通過射頻發送或被丟棄時,結果將被報告:
命令返回:
< socket>,< length>
例如:
AT+NSOST=0,120.24.184.124,8010,2,AB30,1
0,2
程序設計:
printf(“AT+NSOST=%c,120.24.184.124,8010,%c,%s,1\r\n”,0,‘2’,“AB30”);
Delay(300);
strx=strstr((const char*)RxBuffer,(const char*)“OK”);
while(strx==NULL)
{
strx=strstr((const char*)RxBuffer,(const char*)“OK”);
}
6、AT+NSOSTF
在UDP下發送消息(帶有標志位)
7、AT+NQSOS
通過UE查詢掛起的上游消息列表
8、AT+NSORF
UDP下的消息接收
9、AT+NSOCO
TCP連接
10、AT+NSOSD
TCP發送信息
11、AT+NSOCL
關閉socket接口
printf(“AT+NSOCL=%c\r\n”,0x30);
Delay(300);
例如:
AT+NSOCOL=0
OK
12、+NSONMI
到達套接字消息指示符(僅響應)
13、AT+NPING
測試到遠程主機的IP網絡連接,和電腦使用的ping命令相似
14、AT+NBAND
設置模塊的band,不同的運營商支持約定的band,聯通的返回5,電信和移動的返回8等等。
例如:
AT+NBAND?
+NBAND:5,8,3
.
OK
AT+CSCA?
AT+NBAND=?
+NBAND:(1,3,5,8,20,28)
.
OK
15、AT+NLOGLEVEL
設置調試日志記錄級別
16、AT+NCONFIG
配置模塊信息(一般不用去配置)
AT+NCONFIG?
+NCONFIG:AUTOCONNECT,TRUE // 自動聯網
+NCONFIG:CR_0354_0338_SCRAMBLING,TRUE
+NCONFIG:CR_0859_SI_AVOID,TRUE
+NCONFIG:COMBINE_ATTACH,FALSE
+NCONFIG:CELL_RESELECTION,TRUE
+NCONFIG:ENABLE_BIP,FALSE
+NCONFIG:MULTITONE,TRUE
+NCONFIG:NAS_SIM_POWER_SAVING_ENABLE,TRUE
+NCONFIG:BARRING_RELEASE_DELAY,64
+NCONFIG:RELEASE_VERSION,13
+NCONFIG:RPM,FALSE
+NCONFIG:SYNC_TIME_PERIOD,0
+NCONFIG:IPV6_GET_PREFIX_TIME,15
+NCONFIG:NB_CATEGORY,1
+NCONFIG:RAI,FALSE
+NCONFIG:HEAD_COMPRESS,FALSE
+NCONFIG:RLF_UPDATE,FALSE
+NCONFIG:CONNECTION_REESTABLISHMENT,FALSE
+NCONFIG:PCO_IE_TYPE,EPCO
.
OK
17、AT+NATSPEED
配置串口波特率
AT+NATSPEED?
+NATSPEED:9600,2,1,0,0
.
OK
18、AT+NCCID
獲取模塊卡的 ICCID編碼
19、AT+NFWUPD
通過串口升級模塊固件
20、AT+NPOWERCLASS
21、AT+NPSMR
模塊省電模式報告(PSM相關)
22、AT+NPTWEDRXS
eDRX相關
三、華為IoT平台相關的命令
1、AT+NCDP
設置電信/華為雲的CDP(IP地址)。
AT+NCDP=192.168.5.1,5683
OK
AT+NCDP?
+NCDP:192.168.5.1,5683
.
OK
2、AT+QLWSREGIND
該命令用於控制模塊啟動物聯網平台的注冊、注銷或更新
3、AT+QLWULDATA
該命令用於向華為的LWM2M協議物聯網平台發送數據。
AT+QLWULDATA=3,AA34BB
.
OK
4、AT+QLWULDATAEX
此命令用於發送帶有RAI(釋放輔助指示)標識符的可確認(CON)或不可確認(NON)消息到華為LWM2M協議的物聯網平台。
5、AT+QLWULDATASTATUS
此命令查詢發送CON數據到NB-IoT平台的狀態。僅查詢已發送的CON數據的狀態。
6、AT+QLWFOTAIND
7、AT+QREGSWT
8、AT+NMGS
用於向華為的物聯網平台發送數據。
AT+NMGS=3,AA11BB
.
OK
9、AT+NMGR
用於接收來自華為LWM2M協議的物聯網平台的消息。
10、AT+NNMI
該命令設置或獲取要發送的新消息指示。當模塊接收到來自華為物聯網平台的下游消息時,可以發送新的消息指示。
11、AT+NSMI
該命令設置或獲取上游消息發送到華為物聯網平台時發送的指示。
12、AT+NQMGR
該命令查詢從華為的物聯網平台接收到的下游消息的狀態
13、AT+NQMGS
該命令查詢發送到華為物聯網平台的上游消息的狀態。
14、AT+NMSTATUS
當連接到CDP服務器時,該命令報告當前的注冊狀態。
15、+QLWEVTIND
模塊向設備報告LWM2M事件。
ref: https://blog.csdn.net/lihuiwen34/article/details/106258909