自定义 AT 通用与 USIM 命令
自定义 AT 命令
自定义-通用
设置ID:+NTSETID
设置UUID或IMEI值。对于可能的<err>取值,请参见“错误码”章节。
命令 |
返回结果 |
示例 |
|---|---|---|
+NTSETID=<snt>,<data> |
- 错误情况: +CME ERROR: <err> |
AT+NTSETID=1,123456789012347 OK |
+NTSETID=? |
+NTSETID: (支持的<snt>列表) |
AT+NTSETID=? +NTSETID: (0-3) OK |
参数 |
描述 |
|---|---|
<snt> |
整数类型,表示请求的序列号类型。 0:设置<sn>; 1:设置IMEI(国际移动设备标识); 2:设置SVN(软件版本号)。 3:设置IMEI1(国际移动设备标识); |
<data> |
0:<sn>; 1:<imei>; 2:<svn>。 3:<imei1>。 |
<sn> |
UE的128位UUID(十六进制字符串)。 |
<imei> |
15位字符串类型,十进制字符串格式。 |
<svn> |
2位SVN,十进制字符串格式。 |
-
<sn>应以下列两种格式之一输入:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX(32个十六进制字符)
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX(32个十六进制字符加上给定位置的4个'-')
sn配置限制:32个十六进制字符代表16位ASCII码值,每一位必须在0~9、A~Z、a~z之间。
-
设置的ID可以通过发送AT+CGSN来查询,其中<sn>将以第二种格式显示。
- 分配的序列号、IMEI和SVN值在重启期间保持不变。
设置永久标识:+NTPERMID
将序列号或IMEI移至不可修改的存储中。这要么是无法写入的闪存,要么是无法擦除的一次性可编程存储。
对于可能的<err>取值,请参见“错误码”章节。
命令 |
返回结果 |
示例 |
|---|---|---|
+NTPERMID=<snt>,<dest> |
- 错误情况: +CME ERROR: <err> |
AT+NTPERMID=1,1 OK |
+NTPERMID? |
+NTPERMID: <snt>,<dest> |
AT+NTPERMID? +NTPERMID: 0,1 +NTPERMID: 1,1 OK |
+NTPERMID=? |
+NTPERMID: (支持的<snt>列表),(支持的<dest>列表) |
AT+NTPERMID=? +NTPERMID: (0,1),(1,2) OK |
参数 |
描述 |
|---|---|
<snt> |
整数类型,表示请求的序列号类型。 0:设置<sn>; 1:设置IMEI(国际移动设备标识)。 |
<dest> |
0:非永久性,可能出现在查询命令的返回值中,但不能设置; 1:永久闪存; 2:一次性可编程存储。 |
- 只有对应的设备ID存在时才能查询锁定状态。
- 参数snt等于0时,参数dest不支持2。
- 该命令不支持IMEI1的设置。
配置AT UART波特率:+NATSPEED
配置AT UART波特率。
对于可能的<err>取值,请参见“错误码”章节。
命令 |
返回结果 |
示例 |
|---|---|---|
+NATSPEED=<baud rate>[,<timeout>[,<store>[,<stop bits>[,<parity>[,<xonxoff>[,<lp_ds_xo_enable>[,<lp_clk_sel>]]]]]]] |
- 错误情况: +CME ERROR: <err> |
AT+NATSPEED=9600,30,1,1,0,0,0,0 OK |
+NATSPEED? |
+NATSPEED: <baud rate>,<stop bits>,<parity>,<xonoff>,<lp_ds_xo_enable><lp_clk_sel> |
AT+NATSPEED? +NATSPEED: 9600,1,0,0,0,0 OK |
+NATSPEED=? |
+NATSPEED: (支持的<baud rate>列表),(支持的<timeout>列表),(支持的<store>列表),(支持的<stop bits>列表),(支持的<parity>列表),(支持的<xonxoff>列表),(支持的<lp_ds_xo_enable>列表),(支持的<lp_clk_sel>列表) |
+NATSPEED: (0,4800,9600,57600,115200,230400,921600,1000000,2000000,4000000),(0-30),(0,1),(1,2),(0-2),(0,1),(0,1),(0,1) OK |
参数 |
描述 |
|---|---|
<baud rate> |
整数类型,表示所请求的AT UART波特率。若波特率配置为0,则进入自适应模式。 |
<timeout> |
整数类型,表示使用新波特率发送AT命令(非AT+RESET/非阻塞式AT命令/非交互式AT命令)的等待时间,保证波特率切换成功。否则,AT UART将切换回原来的速度。单位:秒。默认值为3秒。最大值为30。 |
<store> |
整数类型,表示参数<baud rate>和<stop bits>、<parity>、<lp_ds_xo_enable>、<lp_clk_sel>是否存储到NV。默认值为0。 0:不存储到NV,重启后需要重新配置; 1:将存储到NV,超时前有交互。 |
<stop bits> |
AT UART停止位,默认值为1。 1:1个停止位; 2:2个停止位。AT UART波特率小于等于230400时使用LP_UART,不支持2个停止位。 |
<parity> |
AT UART奇偶校验,默认值为0。 0:未启用奇偶校验; 1:奇校验; 2:偶校验。 |
<xonxoff> |
AT UART软件(XON/XOFF)流控。 0:XOFF; 1:XON(不支持配置)。 |
<lp_ds_xo_enable> |
AT UART深睡XO时钟配置,默认值为0。AT UART波特率大于230400或lp_clk_sel为0且波特率小于等于9600时该配置无效。 0:深睡关闭XO时钟; 1:深睡开启XO时钟。 |
<lp_clk_sel> |
AT UART使用LP_UART时的时钟选择配置,默认值为0。 0:波特率小于等于9600时使用RTC时钟分频,大于9600且小于等于230400使用XO时钟分频; 1:LP_UART全波特率使用XO时钟分频。 |
- AT UART波特率大于230400或lp_clk_sel为0且波特率小于等于9600时,lp_ds_xo_enable配置无效,均为深睡关闭XO时钟。
- 使用AT+NATSPEED设置函数返回OK之后,需要在串口使用新波特率下发非阻塞式AT/非交互式AT命令,建议下发AT+NATSPEED?查询当前配置,否则超时后恢复原配置。
- 若设置命令参数(<stop bits>、<parity>、<xonxoff>、<lp_ds_xo_enable>、<lp_clk_sel>)缺省,则缺省项以NV存储值为准,不会进行修改。
- lp_clk_sel配置为0时,LPUART波特率4800/9600的TX精度大于2%;lp_clk_sel配置为1时,LPUART波特率4800/9600的TX精度小于2%。
- 若配置AT UART波特率非9600或115200,则不支持进行PPP拨号。
- 单板AT_UART波特率高于230400深睡时,需客户自保证使用非ATUART相关GPIO唤醒单板后再下发AT命令。
-
单板ATUART波特率小于等于230400时,若使用XO时钟分频且配置深睡XO时钟不开启且需要使用AT命令,需要执行以下操作:
-
每次深睡唤醒必须先发送 AT\0 指令,等待30ms后同时在2s内下发AT命令,需保证AT命令可在2s内执行到业务。
-
2s约束可通过 uapi_pm_lpuart_ds_delay_time_set 接口配置。
-
-
单板ATUART波特率小于等于230400时,若深睡XO时钟开启且需使用长度超过32Byte的AT命令,需要先执行以下任一操作:
- 使用AT+NDSDELAY命令延迟A核深睡后再下发,超长AT命令需要在A核深睡前处理完成。
- 使用AT+NVETOSUPERDS=A,1 命令禁止A核深睡,超长AT命令执行完成后, 使用AT+NVETOSUPERDS=A,0命令允许A核深睡。
-
使用AT+NATSPEED设置函数配置波特率为0时,单板进入自适应模式。使用说明及限制如下:
- 支持三种波特率自适应规格[9600, 57600, 115200],自适应时必须使用AT/at字符进行自适应,串口回复AT OK则说明自适应成功,否则均为失败。自适应场景下,发端的TX精度必须保证在2%以内,偏差超出规格可能会导致自适应失败。
- 支持波特率自适应范围[4000, 14000]之间,自适应时必须使用AT/at字符开头且指令不大于20Byte的AT命令进行自适应,串口回复AT OK则说明自适应成功,否则均为失败。
- ATUART使用低频时钟自适应切换成功打印可能存在乱码,切换成高频时钟无乱码问题。
- 自适应场景下,只允许配置数据位为8,无奇偶校验位,1个停止位。
- 若自适应完成后需要进行FOTA/PPP/校准综测等业务,必须先执行AT+NATSPEED=baud,timeout,1将配置保存至NV中,否则会导致业务执行异常。同时FOTA升级新版本时,新版本不支持默认打开自适应使能,否则升级时打印会出现乱码。
-
进入自适应方法:
- UART口发送AT+NATSPEED=0 后进入自适应模式。
- 系统启动时NV项(0x600)配置extra_cfg[2]为1,但需注意FOTA业务/PPP业务及校准综测业务等场景。
-
自适应场景下,ATUART可进入深睡模式,需要先发送AT\0指令唤醒单板后,再发送AT/at字符进行自适应,可参考实现说明7。
- 使用场景
- 发送AT+NATSPEED=0,自适应成功后,发送AT+RESET复位,单板进入自适应模式。
- 发送AT+NATSPEED=0,自适应成功后,发送AT+NATSPEED=baud,timeout,1保存配置,发送AT+RESET复位单板以baud启动。
- 发送AT+NATSPEED=0,自适应成功后,发送AT+NATSPEED=baud,timeout切换配置,发送AT+RESET复位单板进入自适应模式。
表 1 ATUART不同配置下的功耗及唤醒机制
波特率 baud rate |
ATUART时钟源 lp_clk_sel |
深睡XO配置 lp_ds_xo_enable |
深睡后AT命令执行机制 |
功耗差异 |
|---|---|---|---|---|
4800 |
0 |
0 |
AT命令可直接响应。 |
几十微安 |
1 |
0 |
先发送AT\0字符再发送AT命令,参考实现说明7。 |
几十微安 |
|
1 |
AT命令长度小于32字节可直接响应,否则参考实现说明8。 |
几百微安 |
||
9600 |
0 |
0 |
AT命令可直接响应。 |
几十微安 |
1 |
0 |
先发送AT\0字符再发送AT命令,参考实现说明7。 |
几十微安 |
|
1 |
AT命令长度小于32字节可直接响应,否则参考实现说明8。 |
几百微安 |
||
57600 |
0/1 |
0 |
先发送AT\0字符再发送AT命令,参考实现说明7。 |
几十微安 |
1 |
AT命令长度小于32字节可直接响应,否则参考实现说明8。 |
几百微安 |
||
115200 |
0/1 |
0 |
先发送AT\0字符再发送AT命令,参考实现说明7。 |
几十微安 |
1 |
AT命令长度小于32字节可直接响应,否则参考实现说明8。 |
几百微安 |
||
230400 |
0/1 |
0 |
先发送AT\0字符再发送AT命令,参考实现说明7。 |
几十微安 |
1 |
AT命令长度小于32Byte可直接响应,否则参考实现说明8。 |
几百微安 |
||
921600 |
0/1 |
0 |
客户自保证用非ATUART的GPIO唤醒单板再发送AT命令。 |
几十微安 |
1000000 |
||||
2000000 |
||||
4000000 |
注意: ATUART深睡XO使能不可以切换,否则有死机风险。
须知:
- ATUART波特率若需使用2M/4M,必须保证单板处于非业务态,否则可能导致ATUART被阻塞。
- ATUART波特率若需使用2M/4M,必须为可靠性传输场景。
重启:+RESET
此命令用于重启终端。
说明: 并没有最终的OK信号表明命令行已完成处理,AT命令处理以此命令终止。重启之前不会收到任何确认消息。
命令 |
返回结果 |
示例 |
|---|---|---|
+RESET |
REBOOTING<CR><LF> |
AT+RESET REBOOTING REBOOT_CAUSE_GLOBAL_APPLICATION_AT OK |
+RESET=? |
- |
AT+RESET=? OK |
+RESET具有最高优先级,可以在任何时间使用,除非执行拦截和可中止的AT命令或AT命令被中断。
配置输出log等级:+NLOGLEVEL
此命令设置日志级别。它可以采用参数<level>值之一: 该值在重启期间保持不变。
命令 |
返回结果 |
示例 |
|---|---|---|
+NLOGLEVEL=<level> |
- 错误情况: +CME ERROR: <err> |
AT+NLOGLEVEL=NORMAL OK |
+NLOGLEVEL? |
+NLOGLEVEL: <level> |
AT+NLOGLEVEL? +NLOGLEVEL: NORMAL OK |
+NLOGLEVEL=? |
+NLOGLEVEL: (支持的<level>列表) |
AT+NLOGLEVEL=? +NLOGLEVEL: (VERBOSE,NORMAL,WARNING,ERROR,NONE) OK |
参数 |
描述 |
|---|---|
<level> |
log等级。 VERBOSE:冗长; NORMAL: 正常; WARNING:警告; ERROR:错误; NONE: 无。 |
默认的日志级别为VERBOSE。
固件更新:+NFWUPD
此命令支持固件更新。它允许擦除数据包区、数据包下载和固件升级。
升级固件前,需要先擦除数据包区并下载数据包。下载完成后,发送固件升级命令。然后系统会重启并验证数据包,如果数据包合法,则启动将固件升级到新版本,否则将重启并且不升级,此时用户可以通过相应的AT命令查看数据包验证错误信息。
对于可能的<err>取值,请参见“错误码”章节。
命令 |
返回结果 |
示例 |
|---|---|---|
+NFWUPD=<cmd>[,<download_type>,<sn>,<len>,<data>,<crc>] |
<result> +CME ERROR: <err> |
AT+NFWUPD=0 OK |
+NFWUPD=? |
+NFWUPD: (支持的<cmd>列表) |
AT+NFWUPD=? +NFWUPD: (0,1,5,6) OK |
参数 |
描述 |
|---|---|
<cmd> |
数据包进程命令。 0:擦除内部闪存中的数据包区; 1:<download_type>,<sn>,<len>,<data>,<crc>下载一个数据包段。下载一个FOTA数据包。数据包段是FOTA数据包的连续段。段长度应为32/64/128/256/512,且必须按顺序提供; 5:执行升级; 6:获取升级结果。 将打印升级结果<result>(“Upgrade success!”或“Upgrade failed! (err = <errcode>)”)。 |
<errcode> |
升级错误码。 0:升级初始化; 5:校验失败; 8:升级失败。 |
<download_type> |
1:升级文件存储在文件系统中。 |
<sn> |
序列号。它从0开始,每个数据包段递增1。 |
<len> |
数据长度以字节为单位,应为32/64/128/256/512。 |
<data> |
以十六进制字符串格式传输的数据。 |
<crc> |
数据包段二进制数据的CRC。CRC以十六进制字符串形式发送。<crc>是数据包段中每个字节的xor8。 |
- AT+NFWUPD=0的超时时间为180秒。如果在180秒内擦除失败,则返回错误。
- 当AT+NFWUPD=1时,只有在前一个数据包下载完成后,才能下载下一个数据包。响应时间一般小于180秒。
延迟深睡模式:+NDSDELAY
设置命令设置拦截深睡模式的时长。该时长仅针对下一次深睡,不会存储在NV中,重启后需要重新配置。
对于可能的<err>取值,请参见“错误码”章节。
命令 |
返回结果 |
示例 |
|---|---|---|
+NDSDELAY=<ms_value> |
- 错误情况: +CME ERROR: <err> |
AT+NDSDELAY=1000 OK |
+NDSDELAY=? |
+NDSDELAY: (支持的<ms_value>列表) |
AT+NDSDELAY=? +NDSDELAY: (1-65535) OK |
参数 |
描述 |
|---|---|
<ms_value> |
整数类型。 拦截深睡模式的时长。单位:ms。 |
崩溃信息:+NCRASHINFO
设置命令用于打印重启原因或A/C核心崩溃信息。
对于可能的<err>取值,请参见“错误码”章节。
命令 |
返回结果 |
示例 |
|---|---|---|
+NCRASHINFO=<type> |
- 错误情况: +CME ERROR: <err> |
AT+NCRASHINFO=1 REBOOT_CAUSE_GLOBAL_APPLICATION_AT OK |
+NCRASHINFO=? |
+NCRASHINFO: (支持的<type>的列表) |
AT+NCRASHINFO=? +NCRASHINFO: (1,2,3) OK |
参数 |
描述 |
|---|---|
<type> |
整数类型。 1:打印最近一次重启原因; 2:打印AT UART口的A核崩溃信息; 3:打印AT UART口的C核崩溃信息; 崩溃信息为关于A/C核最近一次的异常重启信息。如果A/C核没有重启过或者最近一次重启没有异常,只返回OK,不会有崩溃信息。 硬复位会清除上次异常重启信息。 |
A/C核死机后,不下电情况下,能读到死机信息,下电后则读不到。
软关机:+NPOWD
通过执行AT+NPOWD来关闭模块是最安全的方式,推荐使用此方法来关闭模块。此AT命令让模块从网络注销并完成FLASH任务,之后模块进入安全的数据状态。
对于可能的<err>取值,请参见“错误码”章节。
命令 |
返回结果 |
示例 |
|---|---|---|
+NPOWD=<mode> |
- 错误情况: +CME ERROR: <err> |
AT+NPOWD=1 OK POWERED_DOWN |
+NPOWD=? |
- |
AT+NPOWD=? OK |
参数 |
描述 |
|---|---|
<mode> |
整数类型。 1:模块关机。 |
注意: 发送AT+NPOWD=1后,请勿执行任何其他AT命令。成功执行命令后,模块将输出主动上报 POWERED_DOWN,然后进入关机状态。 建议在输出POWERED_DOWN后等待1秒以断开电源,为避免数据丢失,在输出POWERED_DOWN之前不能断开电源。
芯片状态信息查询:+NQSTATE
通过执行 AT+NQSTATE 来查询A/C核的相关状态信息,对于可能的<err>取值,请参见“错误码”章节。
命令 |
返回结果 |
示例 |
|---|---|---|
+NQSTATE=<core>,<id> |
- 错误情况: +CME ERROR: <err> |
AT+NQSTATE=1,1 [sleep_times=2:2][vote=0x0][cur_time=2660174747:permit=2660138019][soc_sleep=57381][freq=198] OK |
参数 |
描述 |
|---|---|
<core> |
1:A core; 2:C core。 |
<id> |
1:SOC_QUERY_LPC_STATE,低功耗状态信息查询; 2:SOC_QUERY_MEM_STATE,内存信息状态查询; 3:SOC_QUERY_SYSERR_STATE,死机信息查询; 4:SOC_QUERY_TASK_STATE,线程信息查询; 5:SOC_QUERY_TIME_INFO,TIMER信息查询; 6:SOC_QUERY_USB_LPC_STATE,USB_LPC信息查询。 |
- 低功耗状态信息解析:[准备深睡次数 : 实际深睡次数][深睡投票][当前时刻 : 超时时刻][睡眠次数][cpu频率(MHz)]
-
内存信息状态查询:
A-Core:total=总空间;used=已使用空间;free=空闲空间;peek=峰值;max_free_node=最大空闲可用内存大小;fail=申请内存失败次数。
C-Core:total=总空间;used=已使用空间;free=空闲空间;peek=峰值;max_free_node=最大空闲可用内存大小;fail=申请内存失败次数。
[SW]total=内存池大小;used=已使用空间;free=空闲空间;peek=峰值;max_free_node=最大空闲可用内存大小;fail=申请内存失败次数。
[SW_CUSTOMER]total=内存池大小;used=已使用空间;free=空闲空间;peek=峰值;max_free_node=最大空闲可用内存大小;fail=申请内存失败次数。此条内存信息只在速率模式为低速模式下打印。
A-Core:[HW]total=内存池大小;used=已使用空间;free=空闲空间;peek=峰值;max_free_node=最大空闲可用内存大小;fail=申请内存失败次数。
C-Core:[HW]total=内存池大小;used=已使用空间;free=空闲空间;peek=峰值;max_free_node=最大空闲可用内存大小;fail=申请内存失败次数。
-
死机信息查询:
valid=死机信息是否有效:
0:无效;
1:有效;
last=是否上次死机;
crash_sec=启动到死机的时间(单位:s); main_type=主死机原因; sub_type=从死机原因; phase=保存死机信息有效阶段,如果在信息保存过程中发生了新的异常,则可能不执行最后一步。
-
线程信息查询:线程名; id=线程id; pri=线程任务优先级; state=线程状态;stack size=线程栈大小; top=栈顶地址; peek=栈使用峰值。
- TIMER信息查询:os_tick=启动到当前时刻的ms数; rtc=从上次上电到当前rtc计数; rtc_s=以秒为单位从上次上电到当前rtc计数; rtc_freq=频率(单位Hz)。
-
USB_LPC信息查询:
-
USB传输事件信息:
disconnect_num=断开次数;connect_num=连接次数;rst_num=复位次数;suspend_num=休眠次数;resume_num=唤醒次数;remote_wakeup_err_num=远程唤醒失败次数;phy_err_num=phy异常次数;unsuccess_num=trb处理异常计数;combo_num=多事件计数;eb_full_num=缓冲区满计数。
-
USB端点信息:
epnum=端点号;enable=是否使能;flow_control=流控使能;is_in=是否是in端点;succ_num=传输成功计数;short_num=短包传输计数;nrdy_num=传输未就绪计数;babble_num=数据错误计数; fifo_err_num=缓冲错误计数;isoc_overrun_num=等时传输超时计数;trans_err_num=传输错误计数;miss_service_num=服务错误计数;ctrl_short_num=控制错误计数。
-
USB网络数据包信息:
tx_count=发送数据包计数;tx_buff_len=发送数据包累计长度;rx_count=接收数据包计数;rx_buff_len=接收数据包累计长度。
-
须知:
- C核只可查询低功耗状态信息,即当core=2时,ID只可为1。
- 内存信息中,内存池自身句柄占一定大小,因此已使用空间与空闲空间之和小于总空间值。
信号强度自动上报:+NSQ
该命令用于配置信号强度变化的上报。打开后功耗增加,测试DRX功耗会有额外代价。
命令 |
返回结果 |
示例 |
|---|---|---|
+NSQ=<mode>,<interval>,<stride> |
- 错误情况: +CME ERROR: <err> |
AT+NSQ=1 OK |
+NSQ? |
+NSQ:<mode>[,<interval>,<stride>] |
AT+NSQ? +NSQ:1,1,2 OK |
+NSQ=? |
+NSQ: (支持的<mode>), (支持的<interval>),(支持的<stride>) |
AT+NSQ=? +NSQ: (0,1),(1-300),(2-10) |
参数 |
描述 |
|---|---|
<mode> |
整型值,必选参数,是否打开自动上报。 0:关闭自动上报; 1:打开自动上报。 默认值0。 |
<interval> |
整型值,可选参数,检测周期(单位:秒)。 取值范围[1,300],默认值为1。 mode=0时不生效,mode=1时不携带该参数则取默认值。 |
<stride> |
整型值,可选参数,步长(单位:dB)。 取值范围[2,10],默认值为2。 mode=0时不生效,mode=1时不携带该参数则取默认值。 |
<rssi> |
整型值,接收信号强度指示。 0:等于或小于-113dBm; 1:-111dBm; 2~30:-109dBm~-53dBm,步长为2dB(2:-109dBm;3:-107dBm;……30:-53dBm); 31:等于或大于-51dBm; 99:未知或不可测。 |
<ber> |
0~7:整型值,比特误码率等级,具体描述请参见“3GPP TS 45.008 [20] subclause 8.2.4”; 99:未知或不可测。 |
设置关闭上报/关机/进入PSM后不进行上报。设置打开上报,在开机且不处于PSM状态时进行上报。上报进行期间,每隔<interval>秒检查满足条件:之前上报处于关闭状态或RSSI和上次上报时的值相差大于等于<stride>db,触发上报。该配置不会存储在NV中,重启后需要重新配置。
配置深睡投票:+NVETOSUPERDS
通过执行AT+NVETOSUPERDS配置A核深睡投票。
对于可能的<err>取值,请参见“错误码”章节。
命令 |
返回结果 |
示例 |
|---|---|---|
+NVETOSUPERDS=<chip_core>,<veto> |
- 错误情况: +CME ERROR: <err> |
AT+NVETOSUPERDS=A,1 OK |
参数 |
描述 |
|---|---|
<chip_core> |
字符串类型。 A:A核。 |
<veto> |
整型值。 0:取消A核深睡投票; 1:添加A核深睡投票。 |
配置BANKD电平:+NBANKD
通过执行AT+NBANKD配置或查询BANKD电平配置。AT设置命令会将BANKD电平配置进NV,NV重启后生效。
命令 |
返回结果 |
示例 |
|---|---|---|
+NBANKD=<bankd_level> |
- 错误情况: +CME ERROR: <err> |
AT+NBANKD=3000 OK |
+NBANKD? |
+NBANKDLEVEL: <bankd_level> |
AT+NBANKD? +NBANKDLEVEL: 3000 OK |
参数 |
描述 |
|---|---|
<bankd_level> |
bankd电平等级,仅支持三种配置2800、3000、3300,单位:mV。 |
请求组件版本: +NVER
通过执行AT+NVER可以查看组件版本号。
命令 |
返回结果 |
示例 |
|---|---|---|
+NVER |
- 错误情况: +CME ERROR: <err> |
AT+NVER +NVER: Hi2131V100R001C10SPC001B010 OK |
+NVER=? |
- |
AT+NVER=? OK |
播放支付金额:+TTSAMOUNT
播放支付金额。
命令 |
返回结果 |
示例 |
|---|---|---|
+TTSAMOUNT=<amount> |
OK +CME ERROR: <err> |
AT+TTSAMOUNT=52 OK,播放语音”收款五十二元” |
+TTSAMOUNT=? |
+TTSAMOUNT: 支持amount的最大长度 |
AT+TTSAMOUNT=? +TTSAMOUNT: string(11) OK |
参数 |
描述 |
|---|---|
<amount> |
字符串类型。输入的支付金额,长度最大为11。 |
播放电池电量:+TTSBATLV
播放电池电量。
命令 |
返回结果 |
示例 |
|---|---|---|
+TTSBATLV=<electricity> |
OK +CME ERROR: <err> |
AT+TTSBATLV=52 OK,播放语音”电池电量百分之五十二” |
+TTSBATLV=? |
+TTSBATLV:(支持的electricity列表) |
AT+TTSBATLV=? +TTSBATLV: (1,100) OK |
参数 |
描述 |
|---|---|
<electricity> |
输入的电池电量,取值范围:1~100。 |
播放固定语音:+TTSPRESET
播放固定语音。
命令 |
返回结果 |
示例 |
|---|---|---|
+TTSPRESET=<index> |
OK +CME ERROR: <err> |
AT+TTSPRESET=0 OK,播放语音”设备激活失败” |
+TTSPRESET=? |
+TTSPRESET: (支持的index列表) |
AT+TTSPRESET=? +TTSPRESET: (0,30) OK |
参数 |
描述 |
|---|---|
<index> |
播放固定语音,取值范围:0~30。 |
表 1 index对应语音内容
index |
语音内容 |
|---|---|
0 |
设备激活失败 |
1 |
设备未激活 |
2 |
设备已经激活,正在连接服务 |
3 |
用户取消支付 |
4 |
网络连接成功 |
5 |
正在充电 |
6 |
退出音量调节模式 |
7 |
获取配置信息失败 |
8 |
获取配置信息成功 |
9 |
电量低,请充电 |
10 |
网络连接失败 |
11 |
正在连接4G网络 |
12 |
这是最新—笔 |
13 |
未检测到流量卡,请检查 |
14 |
这是最后一笔 |
15 |
正在关机 |
16 |
服务连接失败 |
17 |
服务连接成功 |
18 |
检测到新版本,更新中 |
19 |
升级失败 |
20 |
升级成功 |
21 |
用户参数为空,请先配置参数 |
22 |
这是最大音量 |
23 |
这是最小音量 |
24 |
音量加 |
25 |
现在是音量调节模式 |
26 |
音量减 |
27 |
进入配网模式,请配置网络 |
28 |
正在连接WiFi网络 |
29 |
WiFi网络连接失败 |
30 |
WiFi网络连接成功 |
删除日志工具重连信息:+RECONNDEL
本产品支持单板通过UART连接DebugKits或LogCat工具时,在各种复位场景下实现复位后快速自动重连,无需主动点击DebugKits连接按钮或执行LogCat连接命令,便于及时查看单板启动后的前期日志。功能设计上使用NV的形式保存重连信息,将信息写入到FLASH上。此命令用于删除该保存重连信息的NV数据和检查NV数据是否存在。具体使用场景详见实现说明中的“须知”。
命令 |
返回结果 |
示例 |
|---|---|---|
+RECONNDEL |
OK +CME ERROR: <err> |
AT+RECONNDEL OK |
+RECONNDEL? |
+RECONNDEL: <result> +CME ERROR: <err> |
AT+RECONNDEL? +RECONNDEL: 0 OK |
参数 |
描述 |
|---|---|
<result> |
返回数值表示FLASH中是否还存在该NV的数据。 0:NV数据不存在; 1:NV数据存在。 |
须知:
- 复位重连后,单板侧会自动开启日志上报,日志流程可能会影响业务性能。因此,建议在后续不再有复位重连需求时,使用此命令及时删除保存的重连信息NV数据,以关闭自动重连后的默认日志上报。
- 只有通过UART方式连接DebugKits或LogCat工具会涉及到此NV,用于实现UART的快速自动重连。USB暂不支持快速自动重连,仅支持正常自动重连。
- 若使用UART方式连接DebugKits或LogCat工具,在未连接状态下手动连接成功后,预期连接信息将保存到NV中。由于并非实时写入NV到FLASH,为确保后续复位后能快速重连,可通过“AT+RECONNDEL?”命令查询此时FLASH中是否有该NV数据,以检查是否写入成功。若未写入,建议发送“AT+RESET”命令进行一次软复位,确保NV写入FLASH成功。后续复位后即可快速自动重连,且无需再发送此AT命令进行查询,仅在手动连接后需要查询确保NV写入成功。
- 使用UART方式与DebugKits或LogCat连接的状态下,主动与工具正常断开后,此时该NV数据将会被删除(非正常断开时NV不会被删除)。由于从FLASH上删除NV并非实时,因此建议通过“AT+RECONNDEL?”命令查询是否删除成功,若未删除,建议发送“AT+RESET”命令进行一次软复位,确保NV数据删除成功。
- DebugKits工具的正常断开操作为:点击断开连接按钮、点击软件关闭按钮。
- LogCat工具的正常断开操作为:执行“Ctrl+C”命令。
自定义-USIM相关
切换SIM卡槽:+USIMSEL
该命令用于切换当前使用的SIM卡槽,以及查询当前使用卡槽ID。
命令 |
返回结果 |
示例 |
|---|---|---|
AT+USIMSEL=<sim_slot_id> |
- 错误情况: +CME ERROR: <err> |
AT+USIMSEL=1 OK |
AT+USIMSEL? |
+USIMSEL: <sim_slot_id> |
AT+USIMSEL? +USIMSEL: 0 |
AT+USIMSEL=? |
+USIMSEL: 支持的<sim_slot_id>列表 |
AT+USIMSEL=? +USIMSEL: (0,1) OK |
参数 |
描述 |
|---|---|
<sim_slot_id> |
整型:卡槽ID,默认使用卡槽0。 0:使用卡槽0; 1:使用卡槽1。 |
关机状态下,并且卡完成去激活后才能切换卡槽,否则切换失败。
未开启SUPPORT_SIM1_HOT_PLUG宏该命令不支持设置置,查询的返回的值也无意义。
热插拔配置:+USIMHOTPLUG
该命令用于配置UE当前是否支持热插拔卡。
命令 |
返回结果 |
示例 |
|---|---|---|
AT+USIMHOTPLUG=<support_flag> |
- 错误情况: +CME ERROR: <err> |
AT+USIMHOTPLUG=1 OK |
AT+USIMHOTPLUG? |
+USIMHOTPLUG: <support_flag> |
AT+USIMHOTPLUG? +USIMHOTPLUG: 1 OK |
AT+USIMHOTPLUG=? |
+USIMHOTPLUG: (支持的<support_flag>列表) |
AT+USIMHOTPLUG=? +USIMHOTPLUG: (0,1) OK |
参数 |
描述 |
|---|---|
<support_flag> |
整型:是否支持热插拔。 0:不支持; 1:支持。 默认支持。 |
更改配置后重启生效。
设置UICC开关:+NUICC
此命令用于UICC开机/关机。当使用+CSIM和+CRSM时需要使用。
会增加开机时的功耗。
如果由于MT错误造成设置失败,则返回+CME ERROR: <err>。
对于可能的<err>取值,请参见“错误码”章节。
命令 |
返回结果 |
示例 |
|---|---|---|
+NUICC=<mode> |
- 错误情况: +CME ERROR: <err> |
AT+NUICC=1 OK |
+NUICC=? |
+NUICC: (支持的<mode>列表) |
AT+NUICC=? +NUICC: (0,1) OK |
参数 |
描述 |
|---|---|
<mode> |
整数类型。 0:关机; 1:开机。 |
SIM卡状态上报控制:+NSIMSRS
设置命令用来控制SIM卡状态主动上报是否使能,当<mode>=1且(U)SIM卡状态发生变化时,主动上报“+NSIMSRP:<status>”。
查询命令返回当前的<mode>。
命令 |
返回结果 |
示例 |
|---|---|---|
+NSIMSRS=<mode> |
- 错误情况: +CME ERROR: <err> |
AT+NSIMSRS=1 OK |
+NSIMSRS? |
+NSIMSRS: <mode> |
AT+NSIMSRS? +NSIMSRS: 1 OK |
+NSIMSRS=? |
+NSIMSRS: (支持的<mode>列表) |
AT+NSIMSRS=? +NSIMSRS: (0,1) OK |
参数 |
描述 |
|---|---|
<mode> |
整数类型。 0:关闭SIM Status主动上报; 1:启用SIM Status主动上报,上报格式“+NSIMSRP: <status>”。 |
<status> |
整数类型,表示(U)SIM卡状态。 0:(U)SIM卡已拔出; 1:(U)SIM卡已插入; 2:(U)SIM卡初始化完成。 |
查询SIM卡识别码:+ICCID
执行和查询命令都用于读取SIM卡识别号码。
命令 |
返回结果 |
示例 |
|---|---|---|
+ICCID |
+ICCID: <iccid> 错误情况: +CME ERROR: <err> |
AT+ICCID +ICCID: 4412345678901234567 OK |
+ICCID? |
+ICCID: <iccid> 错误情况: +CME ERROR: <err> |
AT+ICCID? +ICCID: 4412345678901234567 OK |
+ICCID=? |
- |
AT+ICCID=? OK |
参数 |
描述 |
|---|---|
<iccid> |
SIM卡识别号码。 |
查询本机号码:+PHONENUM
执行和查询命令都用于读取本机号码。
命令 |
返回结果 |
示例 |
|---|---|---|
+PHONENUM |
+PHONENUM: <phone_num> 错误情况: +CME ERROR: <err> |
AT+PHONENUM +PHONENUM: +8613312345678 OK |
+PHONENUM? |
+PHONENUM: <phone_num> 错误情况: +CME ERROR: <err> |
AT+PHONENUM? +PHONENUM: +8613312345678 OK |
+PHONENUM=? |
- |
AT+PHONENUM=? OK |
参数 |
描述 |
|---|---|
<phone_num> |
带国家码的电话号码。 |
清除FPLMN列表:+CLEARFPLMN
方便自动化测试,添加FPLMN列表后导致后面用例测试用例不能入网导致失败,仅限测试使用。
命令 |
返回结果 |
示例 |
|---|---|---|
+CLEARFPLMN |
- 错误情况: +CME ERROR: <err> |
AT+CLEARFPLMN OK |
+CLEARFPLMN=? |
- |
AT+CLEARFPLMN=? OK |
NA
测试完需要添加FPLMN列表的用例,在关机步骤前使用。
配置救卡次数:+USIMRETRYTIMES
配置当软件未检测到sim卡时,主动进行的sim卡尝试激活次数。
命令 |
返回结果 |
示例 |
|---|---|---|
+USIMRETRYTIMES=<times> |
- 错误情况: +CME ERROR: <err> |
AT+USIMRETRYTIMES=3 OK |
+USIMRETRYTIMES? |
+USIMRETRYTIMES: <times> 错误情况: +CME ERROR: <err> |
AT+USIMRETRYTIMES? +USIMRETRYTIMES: 1 OK |
+USIMRETRYTIMES=? |
+USIMRETRYTIMES: (支持的<times>列表) |
AT+USIMRETRYTIMES=? +USIMRETRYTIMES: (0-3) OK |
参数 |
描述 |
|---|---|
<times> |
救卡次数。 取值范围:0-3 |
禁止在热插拔期间使用。