移远NB-IoT模块AT指令详细解释

AT指令的分类和格式

命令 命令名称 命令功能
AT+ < CMD > =? 测试命令 询问模块支持哪些设置参数或者是那些项目
AT+ < CMD >? 读取命令 读取模块的当前被设置的参数
AT+ < CMD >=p1[,p2[,p3[…]]] 设置命令 设置模块参数
AT+ < CMD> 执行命令 让模块执行某个功能

注意: 在发送的命令后,必须加一个回车,这样命令才能被执行

命令解释

一、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格式:
移远NB-IoT模块AT指令详细解释_第1张图片

  • 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事件。

你可能感兴趣的:(移远NB-IoT模块AT指令详细解释)