命令 | 命令名称 | 命令功能 |
---|---|---|
AT+ < CMD > =? | 测试命令 | 询问模块支持哪些设置参数或者是那些项目 |
AT+ < CMD >? | 读取命令 | 读取模块的当前被设置的参数 |
AT+ < CMD >=p1[,p2[,p3[…]]] | 设置命令 | 设置模块参数 |
AT+ < CMD> | 执行命令 | 让模块执行某个功能 |
注意: 在发送的命令后,必须加一个回车,这样命令才能被执行
显示产品的一些表识信息。例如:我的模块是BC35-G,发送ATI命令
ATI
BC35-G
Revision:BC35GJBR01A04W
.
OK
设置命令回显模式。意思是说,模块的返回信息中,是否要把你当前发送的命令也一同返回给你。例如:
ATE0
.
OK
ATE1
ATEI
.
OK
返回制造商名称。例如:
AT+CGMI
Quectel
.
OK
请求模块一个生产编号/模型
AT+CGMM
BC35GJB-02-STDW
.
OK
AT+CGMM
+CME ERROR: 50
请求模块版本信息
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
请求产品序列号 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
网络注册状态(协议层次上),休眠时间等等。
例如:
AT+CEREG=1
.
OK
AT+CEREG
+CEREG:1,1 表示注册成功
.
OK
该命令给出模块感知到的无线电连接状态(即到基站)的详细信息。(物理信号层次)
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
列出模块支持的所有命令
获取信号强度。
返回值 Unit: dBm.
例如:
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);
}
}
}
}
请求设备IP地址(临时外网IP,基站IP资源有限,仅限本次通讯,临时分配给模块)
例如:
AT+CGPADDR
+CGPADDR:0,100.115.136.135
.
OK
设置运营商,是连接电信还是移动还是联通。
模块连接到基站
命令 | 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
激活或停用PDP上下文
获取国际用户识别码 IMSI(International Mobile Subscriber Identity)。
IMSI 是GSM 系统分配给移动用户(MS)的唯一的识别号,此码在所有位置,包括在漫游区都是有效。
IMSI 举例:460-00-4777770001
定义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
设置模块在上电时射频工作模式,和自动/手动联网相关,默认是1,即自动的。
例如:
AT+CFUN?
+CFUN:1
.
OK
打印设备指令使用出错信息
AT+CMEE=1 打印错误报告信息
AT+CMEE=1 关闭打印错误报告信息
请求当前时间
设置PSM模式(和省电模式相关)
eDRX 模式省电相关
输出更多的错误信息
eDRX读取动态参数,和低功耗相关。
时区报告
PDP上下文相关
APN 速率控制
选择消息服务,和短信相关
接收消息通知,即设备和服务端相互通讯相关
服务器中心地址。
例如:
AT+CSCA?
+CSCA:“8613800200569”,145
.
OK
设备向服务器发送SMS信息
例如:
稍后完善…
设备向服务器发送SMS命令
稍后完善…
重启模块
请求模块状态信息
例如:
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
指定搜索频率(使用确定的运营商的服务,它已经确定了频率,不用去设置)
模块中创建一个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
在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”);
}
在UDP下发送消息(带有标志位)
通过UE查询挂起的上游消息列表
UDP下的消息接收
TCP连接
TCP发送信息
关闭socket接口
printf(“AT+NSOCL=%c\r\n”,0x30);
Delay(300);
例如:
AT+NSOCOL=0
OK
到达套接字消息指示符(仅响应)
测试到远程主机的IP网络连接,和电脑使用的ping命令相似
设置模块的band,不同的运营商支持约定的band,联通的返回5,电信和移动的返回8等等。
例如:
AT+NBAND?
+NBAND:5,8,3
.
OK
AT+CSCA?
AT+NBAND=?
+NBAND:(1,3,5,8,20,28)
.
OK
设置调试日志记录级别
配置模块信息(一般不用去配置)
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
配置串口波特率
AT+NATSPEED?
+NATSPEED:9600,2,1,0,0
.
OK
获取模块卡的 ICCID编码
通过串口升级模块固件
模块省电模式报告(PSM相关)
eDRX相关
设置电信/华为云的CDP(IP地址)。
AT+NCDP=192.168.5.1,5683
OK
AT+NCDP?
+NCDP:192.168.5.1,5683
.
OK
该命令用于控制模块启动物联网平台的注册、注销或更新
该命令用于向华为的LWM2M协议物联网平台发送数据。
AT+QLWULDATA=3,AA34BB
.
OK
此命令用于发送带有RAI(释放辅助指示)标识符的可确认(CON)或不可确认(NON)消息到华为LWM2M协议的物联网平台。
此命令查询发送CON数据到NB-IoT平台的状态。仅查询已发送的CON数据的状态。
用于向华为的物联网平台发送数据。
AT+NMGS=3,AA11BB
.
OK
用于接收来自华为LWM2M协议的物联网平台的消息。
该命令设置或获取要发送的新消息指示。当模块接收到来自华为物联网平台的下游消息时,可以发送新的消息指示。
该命令设置或获取上游消息发送到华为物联网平台时发送的指示。
该命令查询从华为的物联网平台接收到的下游消息的状态
该命令查询发送到华为物联网平台的上游消息的状态。
当连接到CDP服务器时,该命令报告当前的注册状态。
模块向设备报告LWM2M事件。