前言

概述

本文介绍WS63V100的AT指令式及场景,为用户提供相应的指令格式和参数示例解释。

产品版本

与本文档相对应的产品版本如下。

产品名称

产品版本

WS63

V100

读者对象

本文档主要适用于以下工程师:

  • 技术支持工程师

  • 软件开发工程师

符号约定

在本文中可能出现下列标志,它们所代表的含义如下。

符号

说明

表示如不避免则将会导致死亡或严重伤害的具有高等级风险的危害。

表示如不避免则可能导致死亡或严重伤害的具有中等级风险的危害。

表示如不避免则可能导致轻微或中度伤害的具有低等级风险的危害。

用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。

“须知”不涉及人身伤害。

对正文中重点信息的补充说明。

“说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。

修改记录

文档版本

发布日期

修改说明

04

2025-02-28

  • 更新 “AT+CONN 发起与AP的连接”小节内容。
  • 更新 “SoftAP相关AT指令”小节内容。
  • 更新 “BLE”小节内容。
  • 更新 “SLE AT指令描述”小节内容。
  • 更新 “设置雷达状态”小节内容。
  • 更新 “写入用户预留位”小节内容。

03

2024-10-30

  • 更新 “BLE AT指令描述”小节内容。
  • 更新 “SLE AT指令描述”小节内容。
  • 更新 “写入第二个用户预留位”小节内容。
  • 更新 “AT+SETUART 配置串口功能”小节内容。

02

2024-07-01

  • 新增“Repeater相关AT指令”小节内容。
  • 新增 “AT+SCANPRSSID指定ssid前缀扫描”小节内容。
  • 更新 “AT+PBC PBC连接”、“AT+PIN PIN连接”和“AT+PINSHOW 生成PIN码”小节内容。
  • 新增 “AT+APSCAN softap扫描”小节内容。
  • 更新 “测试调试相关AT指令描述”小节内容。
  • 更新 “BLE AT指令描述”小节内容。
  • 更新 “SLE AT指令描述”小节内容。
  • 更新 “平台模块AT命令”小节内容。

01

2024-04-10

第一次正式版本发布。

  • 更新 “测试调试相关AT指令一览表”小节内容。
  • 更新 “测试调试相关AT指令描述”小节内容。
  • 更新 “SLE AT指令描述”小节内容。
  • 更新 “平台模块AT命令”小节内容。

00B06

2024-03-29

  • 更新 “3.1.2.1.5”小节内容。
  • 更新 “设置雷达退出延时”小节内容。
  • 更新“读取NV项”小节内容。
  • 更新“写入用户预留位”小节内容。

00B05

2024-03-14

  • 更新 “测试调试相关AT指令”小节内容。
  • 更新 “平台模块AT命令”章节内容。

00B04

2024-02-22

  • 更新 "AT+STASTAT 查看STA连接状态" 小节内容。
  • 更新“BLE”小节内容。
  • 更新“SLE”小节内容。

00B03

2024-01-15

  • 更新“AT+CONN 发起与AP的连接”小节内容。
  • 更新“AT+STARTAP 普通模式启动SoftAP”小节内容。
  • 更新 “BLE&SLE模块AT指令”章节内容,新增BLE/SLE常发常收命令。
  • 新增 “Repeater相关AT指令”章节内容。

00B02

2023-12-18

新增“雷达模块AT命令”小节内容。

00B01

2023-11-27

第一次临时版本发布。

指令说明

命令简介

AT命令用于TE(例如:PC等用户终端)和MT(例如:移动台等移动终端)之间控制信息的交互,如图1所示。

图 1 AT命令示意图

指令类型

AT指令类型如表1所示。

表 1 AT指令类型说明

类型

格式

用途

测试指令

AT+<cmd>=?

该命令用于查询设置指令的参数以及取值范围。

查询指令

AT+<cmd>?

该命令用于返回参数的当前值。

设置指令

AT+<cmd>=<parameter>,…

设置参数值或执行。

执行指令

AT+<cmd>

用于执行本指令的功能。

注意事项

  • 不是每一条指令都具备表1中的4种类型的命令。

  • 如果存在当前软件版本不支持的AT指令,会返回ERROR。

  • 双引号表示字符串数据 "string",例如:AT+SCANSSID="XXX"。

  • 串口通信默认:波特率为115200、8个数据位、1个停止位、无校验,无流量控制。

  • <>为必选参数;[ ]内为可选值,参数可选。

  • 命令中的参数以“,”作为分隔符,除双引号括起来的字符串参数外,不支持参数本身带“,”。

  • AT指令中的参数不能有多余的空格。

  • AT指令必须大写,且必须以回车换行符作为结尾(CR LF),部分串口工具在用户敲击键盘回车键时只有回车符(CR)没有换行符(LF),导致AT指令无法识别,如需使用串口工具手动输入AT指令,需在串口工具中将回车键设置为回车符(CR)+换行符(LF)。以IPOP V4.1为例,说明如图1所示。

    图 1 IPOP V4.1 CR+LF设置示例

Wi-Fi模块AT指令

通用AT指令

通用AT指令一览表

指令

描述

AT+HELP

查看当前可用AT命令。

AT+MAC

MAC地址管理。

AT+IPERF

性能测试。

AT+SYSINFO

查看系统信息。

AT+PING

测试IPV4网络连接。

AT+PING6

测试IPV6网络连接。

AT+DNS

设置单板dns服务器地址。

AT+NETSTAT

查看网络状态。

AT+DHCP

dhcp客户端命令。

AT+DHCPS

dhcps服务器端命令。

AT+IFCFG

接口配置。

AT+PS

Wi-Fi低功耗设置。

AT+RST

复位单板。

AT+SENDPKT

发送任意帧。

通用AT指令描述

AT+HELP 查看当前可用AT命令

格式

AT+HELP

响应

+HELP:

显示当前支持的AT命令

OK

参数说明

-

示例

AT+HELP

注意

包含Wi-Fi、BLE、GLE命令。默认不使能。

AT+MAC MAC地址管理

格式

设置命令:

AT+MAC=<MAC>

查询命令:

AT+MAC?

响应

  • 成功:OK
  • 失败:ERROR

+MAC: <MAC>

  • 成功:OK
  • 失败:ERROR

参数说明

<MAC>:MAC地址

-

示例

AT+MAC=90:2B:D2:E4:CE:28

AT+MAC?

注意

设置命令在AT+STARTSTA/AT+STARTAP前下发有效。该mac地址重启之后丢失,设置的地址为sta mac地址,softAP mac地址会在此地址的基础上将倒数第二个字节加2派生。

AT+IPERF 性能测试

格式

AT+IPERF=<-x>

响应

+IPERF:

<Interval> <Transfer> <Bandwidth>

  • 成功:OK
  • 失败:ERROR

参数说明

  • <-x>:参数类型

    -s:以server模式启动

    -c,IP:以client模式启动,IP为server端地址

    -u:使用udp协议

    -i,sec:以秒为单位显示报告间隔

    -t,sec:测试时间,默认30s

    -b,Bandwidth:udp发送带宽,单位为bps,如设置为10K、20M,默认值为1Mbps

    -l,length:单次发送数据长度,单位为字节

    -B,IP:绑定一个主机IP地址,当主机有多个地址或接口时使用该参数

    -S,value:指定tos,value不同取值范围分别对应tid0~tid7,value取值与tid对应关系如下:

    0~31:tid0

    32~63:tid1

    64~95:tid2

    96~127:tid3

    128~159:tid4

    160~191:tid5

    192~223:tid6

    224~255:tid7

    -p,portNum:指定服务器端使用的端口或客户端所连接的端口

    -k:停止iperf服务

  • <Interval>:统计时间间隔,单位为s。
  • <Bandwidth>:测试吞吐量,显示统计间隔内的平均吞吐量。

示例

  • AT+IPERF=-s,-i,1:以server模式启动iperf,使用协议默认为tcp,显示报告以1s为间隔。
  • AT+IPERF=-s,-u,-i,1:以server模式启动iperf,使用协议udp,显示报告以1s为间隔。
  • AT+IPERF=-c,192.168.3.1,-t,5,-i,1:以client模式启动iperf,使用协议默认为tcp,测试5s,显示报告以1s为间隔。
  • AT+IPERF=-c,192.168.3.1,-u,-b,10M,-t,5,-i,1:以client模式启动iperf,使用协议udp,发送带宽为10Mbps,测试5s,显示报告以1s为间隔。
  • AT+IPERF=-c,192.168.3.1,-u,-b,10M,-t,5,-i,1,-l,1000,-B,192.168.3.2,-p,5001,-S,28:以client模式启动iperf,使用协议udp,发送带宽为10Mbps,测试5s,显示报告以1s为间隔,单次发送数据包最大为1000Byte,绑定本次iperf命令的主机IP地址为192.168.3.2,设定使用端口5001,指定tos为28。
  • AT+IPERF=-k:手动停止iperf性能测试。

注意

  • -c或者-s须放在第一个参数位置。
  • -s使用时,须使用-k结束才能进行下一次启动。
  • -s使用时,如果打流结束,iperf server进程会自动关闭,再次测试需要重新起server
  • 仅支持一次执行,不支持多实例同时进行。

AT+SYSINFO 查看系统信息

格式

AT+SYSINFO

响应

+SYSINFO:

显示SDK版本号和系统当前所有任务详细信息,如任务ID、优先级、栈内存大小、调度状态等。

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SYSINFO

注意

-

AT+PING 测试IPV4网络连接

格式

AT+PING=[<-x>,]<IP>

响应

[<index>]Reply from <IP>: time=<time> TTL=<TTL>

<tx_count> packets transmitted, <rx_count> received, <loss_count> loss

  • 成功:OK
  • 失败:ERROR

参数说明

  • <-x>:参数类型。

    -n,count:发送count指定的数据包数,默认值为4

    -t:Ping指定的主机,直到AT+PING=-k停止

    -w,interval:相邻两次ping包的时间间隔,参数范围1~INT_MAX,单位为毫秒

    -W,timeout:ping超时时间设置,参数范围1000~10000,单位为毫秒

    -l,size:单次发送数据长度,参数范围0~65344,单位为字节,默认48字节

    -k:停止ping包,-k后不带参数

  • <IP>:目的主机IP地址。
  • <index>:ping包序号。
  • <time>:ping包耗时。
  • <TTL>:生存时间TTL。
  • <tx_count>:发包数。
  • <rx_count>:收包数。
  • <loss_count>:丢包数。

示例

  • AT+PING=192.168.3.1:执行ping 192.168.3.1,默认ping 4个包。
  • AT+PING=-n,6,192.168.3.1:执行ping 192.168.3.1,ping 6个包。
  • AT+PING=-w,1,192.168.3.1:执行ping 192.168.3.1,相邻两次ping包的时间间隔为1ms。
  • AT+PING=-l,100,192.168.3.1:执行ping 192.168.3.1,设置单次发送包长最大为100Byte。
  • AT+PING=-t,192.168.3.1:执行ping 192.168.3.1,直到输入ping的-k命令停止。
  • AT+PING=-k:停止ping包。

注意

-

AT+PING6 测试IPV6网络连接

格式

AT+PING6=[<-x>,]< IP>

响应

  • [<index>]Reply from <IP>: time=<time>
  • <tx_count> packets transmitted, <rx_count> received, <loss_count> loss
  • 成功:OK
  • 失败:ERROR

参数说明

  • <-x>:参数类型

    -c,count:执行count值对应次数,默认为4次

    -t:Ping指定的主机,直到AT+PING6=-k停止

    -k:停止ping包,-k后不带-I和IP参数

  • < IP >:目的主机IPV6地址
  • <index>:发包序列号
  • <time>:单次ping包耗时时长
  • <tx_count>:总发包数
  • <rx_count>:总收包数
  • <loss_count>:丢包数

示例

  • AT+PING6=2001:a:b:c:d:e:f:b
  • AT+PING6=-c,100,2001:a:b:c:d:e:f:b
  • AT+PING6=-k

注意

-

AT+DNS 设置单板dns服务器地址

格式

设置命令:

AT+DNS=<dns_num>,<IP>

查询命令:

AT+DNS?

响应

  • 成功:OK
  • 失败:ERROR

+DNS:

<Dns1_IP>

<Dns2_IP>

  • 成功:OK
  • 失败:ERROR

参数说明

  • <dns_num>:选择设置第一个还是第二个DNS服务器。

    1:第一个DNS服务器。

    2:第二个DNS服务器。

  • <IP>:服务器IP地址。
  • <Dns1_IP>:DNS1的IP地址。
  • <Dns2_IP>:DNS2的IP地址。

示例

  • AT+DNS?
  • AT+DNS=1,192.168.3.1
  • AT+DNS=2,192.168.3.2

注意

-

AT+NETSTAT 查看网络状态

格式

AT+NETSTAT

响应

Proto Recv-Q Send-Q Local Address Foreign Address State

  • 成功:OK
  • 失败:ERROR

参数说明

  • Proto:协议类型。

    tcp

    udp

  • Resv-Q:未被用户读取的数据量。
  • Send-Q:对TCP连接,已发送但未确认的数据量;对UDP连接,由于IP地址解析未完成而缓存的数据量。
  • Local Address:本地地址和端口。
  • Foreign Address:远程地址和端口。
  • State:TCP连接状态;UDP不包含此项。

TCP连接态描述如下:

  • CLOSED,即没有任何连接状态。
  • LISTEN,即侦听来自远方的TCP端口的连接请求。
  • SYN_SENT,即在发送连接请求后等待匹配的连接请求。
  • SYN_RCVD,即在收到和发送一个连接请求后等待对方对连接请求的确认。
  • ESTABLISHED,即代表一个打开的连接。
  • FIN_WAIT_1,即等待远程TCP连接中断请求,或先前的连接中断请求的确认。
  • FIN_WAIT_2,即从远程TCP等待连接中断请求。
  • CLOSE_WAIT,即等待从本地用户发来的连接中断请求。
  • CLOSING,即等待远程TCP对连接中断的确认。
  • LAST_ACK,即等待原来的发向远程TCP的连接中断请求的确认。
  • TIME_WAIT,即等待足够的时间以确保远程TCP接收到连接中断请求的确认。

示例

AT+NETSTAT

注意

-

AT+DHCP dhcp客户端命令

格式

AT+DHCP=<ifname>,<stat>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ifname>:网卡名称。
  • <stat>:DHCP开关。

    0:停止

    1:启动

示例

AT+DHCP=wlan0,1

注意

网卡名称与AT+IFCFG查看的STA网卡名称保持一致。

AT+DHCPS dhcps服务器端命令

格式

AT+DHCPS=<ifname>,<stat>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ifname>:网卡名称。
  • <stat>:DHCPS开关。

    0:停止

    1:启动

示例

AT+DHCPS=ap0,1

注意

网卡名称与AT+IFCFG查看的AP网卡名称保持一致。

AT+IFCFG 接口配置

格式

设置指令:

AT+IFCFG=<ifname>,<IP>,netmask,<netmask>, gateway,<gateway>

AT+IFCFG=<ifname>[,<switch>]

查询指令:

AT+ IFCFG

响应

  • 成功:OK
  • 失败:ERROR

+IFCFG:<ifname>,ip=<IP>,netmask =<netmask>,gateway =<gateway>, ip6=<IP6>, HWaddr =<HWaddr>,MTU=<MTU value>, RunStatus =<RunStatus>

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ifname>:网卡名称。
  • <IP>:IP 地址。
  • <netmask>:子网掩码。
  • <gateway>:网关地址。
  • <switch>:网卡开关。

    up:启用网卡;

    down:停用网卡。

  • <IP6>:IPV6 地址。
  • <HWaddr>:硬件地址。
  • <MTU value>:数据帧最大长度。
  • <RunStatus>:网卡是否正在运行。

    0:网卡没有运行;

    1:网卡正在运行。

示例

  • AT+IFCFG=ap0,192.168.3.1,netmask,255.255.255.0,gateway,192.168.3.1:配置网卡ap0的IP、子网掩码、网关。
  • AT+IFCFG=ap0,up:启动网卡ap0。
  • AT+IFCFG=ap0,down:停用网卡ap0。
  • AT+IFCFG:查询网卡各类配置信息。

注意

  • 启动STA/SOFTAP后,方可查询到有效<HWaddr>。
  • 配置IP地址时,需将<IP>紧跟<ifname>之后。
  • 启用/关闭网卡时,需将<switch>紧跟<ifname>之后。
  • 启用/关闭网卡和网卡的IP/netmask/gateway配置,不能在同一条命令中配置。

AT+PS Wi-Fi 低功耗设置

格式

AT+PS=<switch>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <switch>:低功耗模式使能开关。

    0:关闭低功耗;

    1:使能FAST-PS低功耗模式;

    2:使能PS-POLL低功耗模式;

    3:关闭PS-POLL模式,使能FAST-PS低功耗模式;

    255:永久关闭低功耗设置(仅认证使用,重启后恢复)。

示例

AT+PS=0

注意

低功耗命令,需要在Wi-Fi关联并获取IP之后下发,否则有可能不生效。

AT+RST 复位单板

格式

执行命令:

AT+RST

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+RST

注意

软重启

AT+SENDPKT 发送任意帧

格式

AT+SENDPKT=<type>,<data>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<type>:vap类型,取值范围0,1,依次为STA、AP。

<data>:报文内容,字符长度最大为2800,即报文最大为1400字节。

示例

以下已关联状态的STA发送RST帧为例,其他类型报文请自行参考报文结构构造:

AT+SENDPKT=0,B4010000D45D64A4CCD05CED93A10503

【0,1】位:B4,表示报文的SubType和Type;

【2,3】位:01,表示报文的Frame Control Flag字段;

【4,7】位:0000, 表示报文的Duration字段;

【8,19】位,D45D64A4CCD0,根据RTS报文,表示RA地址;

【20,31】位,5CED93A10503,根据RTS报文,表示TA地址。

注意

STA未关联场景,如果需要发送任意帧,请先指定信道。

STA相关AT指令

STA相关AT指令一览表

指令

描述

AT+STARTSTA

启动STA。

AT+STOPSTA

关闭STA。

AT+RECONN

配置重连策略。

AT+SCAN

发起STA扫描。

AT+SCANCHN

指定信道扫描。

AT+SCANSSID

指定ssid扫描。

AT+SCANPRSSID

指定前缀ssid扫描

AT+SCANRESULT

查看STA扫描结果。

AT+CONN

发起与AP的连接。

AT+FCONN

发起与AP的快速连接。

AT+DISCONN

断开与AP的连接。

AT+STASTAT

查看STA状态。

AT+PBC

wps pbc连接。

AT+PIN

wps_pin连接。

AT+PINSHOW

显示生成的pin码。

STA相关AT指令描述

AT+STARTSTA 启动STA

格式

带参数执行指令:AT+STARTSTA=[<protocol_mode>],[<pmf>]

不带参数执行指令:

AT+STARTSTA

响应

  • 成功:OK
  • 失败:ERROR
  • 成功:OK
  • 失败:ERROR

参数说明

  • <protocol_mode>:协议类型,默认为4

    0:未配置;

    1:802.11b;

    2:802.11b + 802.11g;

    3:802.11b + 802.11g + 802.11n;

    4:802.11b + 802.11g + 802.11n + 802.11ax。

  • <pmf>:管理帧保护策略,默认为1。

    0:不保护;

    1:自适应;

    2:强制保护。

-

示例

AT+STARTSTA

AT+STARTSTA=1,1

AT+STARTSTA

注意

  • 不带参数指令执行时,上述参数使用系统默认值。
  • 不支持重复启动STA。

AT+STOPSTA 关闭STA

格式

AT+STOPSTA

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+STOPSTA

注意

执行AT+STOPSTA后,无需先执行"AT+DHCP=wlan0,0"关闭DHCP服务,会自动关闭DHCP服务。

AT+RECONN 配置重连策略

格式

AT+RECONN=<enable>[,<period>,<count>[,<timeout>]]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <enable>:重连使能。

    0:不执行重连;

    1:执行重连。

  • <period>:重连间隔周期,单位为s,取值范围:1~65535。
  • <count>:重连最大次数,取值范围:1~65535。
  • <timeout>:单次重连超时时间,取值范围:2~65535,默认2,当取值为65535时,表示无限次循环重连。

示例

AT+RECONN=1,10,3600,50

AT+RECONN=1,10,3600,

AT+RECONN=0

注意

  • 当重连使能位为0(关闭使能)时,不用再输入后面的参数,否则会响应ERROR。
  • 当重连使能位为1(开启使能)时,需要输入后面的参数,参数个数必须3个,或者4个。
  • 命令在AT+STARTSTA之后才能使用,执行AT+STOPSTA关闭STA以后,本命令配置的参数会恢复成默认值。

AT+SCAN 启动STA扫描

格式

AT+SCAN

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SCAN

注意

  • 此命令为非阻塞式命令。
  • 命令返回OK表示启动扫描成功,执行“AT+SCANRESULT”查看扫描结果。

AT+SCANCHN 指定信道扫描

格式

AT+SCANCHN=<chn>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<chn>:信道号,取值范围1~14,只支持单信道扫描。

示例

AT+SCANCHN=3

注意

  • 此命令为非阻塞式命令。
  • 命令返回OK表示启动扫描成功。
  • <chn>不同区域取值范围有差异,中国为1~13。

AT+SCANSSID 指定ssid扫描

格式

AT+SCANSSID=<ssid>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<ssid>:服务集标识符,即路由器名称,参数需使用双引号。

示例

AT+SCANSSID="XXX"

AT+SCANSSID=P"\\xe4\\xb8\\xad\\xe5\\x9b\\xbd":指定ssid为“中国”并启动扫描

注意

  • 此命令为非阻塞式命令。
  • 命令返回OK表示启动扫描成功。
  • <ssid>如果为非ASCll编码的字符(例如:名称为“中国”的ssid),按照如下格式输入“中国”的编码:P"\\xe4\\xb8\\xad\\xe5\\x9b\\xbd"。
  • <ssid>内容包含特殊符号“或者,需使用\转义,如ssid名称为"ab,c",命令参数应为"ab\,c"。

AT+SCANPRSSID指定ssid前缀扫描

格式

AT+SCANPRSSID=<ssid>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<ssid>:服务集标识符,即路由器名称,参数需使用双引号。

示例

AT+SCANPRSSID="XXX"

注意

  • 此命令为非阻塞式命令。
  • 命令返回OK表示启动扫描成功。
  • <ssid>如果为非ASCll编码的字符(例如:名称为“中国”的ssid),按照如下格式输入“中国”的编码:P"\\xe4\\xb8\\xad\\xe5\\x9b\\xbd"。
  • <ssid>内容包含特殊符号“或者,需使用\转义,如ssid名称为"ab,c",命令参数应为"ab\,c"。

AT+SCANRESULT 查看STA扫描结果

格式

AT+SCANRESULT

响应

+SCANRESULT:<ssid>,<bssid>,<chn>,<rssi>,<auth_type>

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ssid>:服务集标识符,即路由器名称
  • <bssid>:基本服务集标识符,通常为路由器MAC地址
  • <chn>:信道号,取值范围1~14
  • <rssi>:信号强度
  • <auth_type>:认证方式。

    -1:无效安全类型

    0:OPEN

    1:WEP

    2:WPA2_PSK

    3:WPA_WPA2_PSK

    4:WPA_PSK

    5:WPA

    6:WPA2

    7:SAE

    8:WPA3_WPA2_PSK_MIX

    9:WPA3-Enterprise

    10:OWE

    11:WAPI-PSK

    12:WAPI-CERT

    13:WPA3/WPA2-Enterprise MIX

    14:未知类型

示例

AT+SCANRESULT

注意

  • <chn>:不同区域取值范围有差异,中国为1~13。
  • 执行扫描命令成功后才能查询到扫描结果。
  • <ssid>如果为非ASCll编码的字符,则按照原编码显示。例如:名称为“中国”的ssid,显示格式为:P"\xe4\xb8\xad\xe5\x9b\xbd"。
  • <bssid> 会遵循隐私要求,例如:2c:00:73:7e:**:**

AT+CONN 发起与AP的连接

格式

AT+CONN=<ssid>[,<bssid>,<passwd>][,<psk_type>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ssid>:服务集标识符,即路由器名称,参数需使用双引号。
  • <bssid>:基本服务集标识符,通常为路由器MAC地址。
  • <passwd>:密码,需使用双引号。
  • <psk_type>:密码类型,0表示ASCII格式,1表示HEX格式,默认值为0。

示例

  • AT+CONN="XXX":连接名称为XXX,且加密方式为open的路由器。
  • AT+CONN="XXX",,"123456789":连接名称为XXX,且加密方式非open的路由器。
  • AT+CONN=,90:2B:D2:E4:CE:28,"123456789" :连接bssid为90:2B:D2:E4:CE:28的路由器。
  • AT+CONN= P"\\xe4\\xb8\\xad\\xe5\\x9b\\xbd",,"123456789":连接名称为“中国”的路由器。
  • AT+CONN="XXX",,"3132333435",1 :路由器设置认证方式为WEP,且密码为HEX格式,需要将psk_type置为1。

注意

  • <ssid>与<bssid>不能同时为空。
  • <ssid>与<bssid>都不为空时,如果<ssid>与<bssid>不匹配,则连接失败。
  • <ssid>如果为非ASCll编码的字符(例如:名称为“中国”的ssid),按照如下格式输入“中国”的编码:P"\\xe4\\xb8\\xad\\xe5\\x9b\\xbd"。
  • <ssid>和<passwd>内容如果包含特殊符号“或者,需使用\转义,如ssid名称为"ab,c",命令参数应为"ab\,c"。
  • 如果密码为HEX类型,需要将psk_type置为1。
  • 此命令为非阻塞式命令。
    1. 如果wpa3加密,或者wpa2/wpa3混合加密,则psk-type=ASCII。
    2. 如果WEP加密,密码长度5或者13,psk-type=ASCII;密码长度是10或者26,psk-type=HEX。
    3. 如果WPA,WPA2,或者WPA/WPA2混合加密,密码范围8-63,则psk-type=ASCII;如果密码长度64,则psk-type=HEX。
  • 命令返回OK表示连接命令下发成功,连接结果通过+NOTICE上报,+NOTICE信息如下:

    +NOTICE:CONNECTED,表示连接成功;

    +NOTICE:DISCONNECTED,表示连接失败。

AT+FCONN 发起与AP的快速连接

格式

AT+FCONN=<ssid>,<bssid>,<chn>,<auth_type>[,<passwd>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ssid>:服务集标识符,即路由器名称,参数需使用双引号。
  • <bssid>:基本服务集标识符,通常为路由器MAC地址。
  • <chn>:信道号,取值范围1~14。
  • <auth_type>:认证方式。

    0:OPEN

    1:WEP

    2:WPA2_PSK

    3:WPA_WPA2_PSK

    7:WPA3-SAE

    8:WPA2_PSK_WPA3-SAE

    11:WAPI-PSK

  • <passwd>:密码,需使用双引号,如果对端网络认证方式为WEP,并且密码为ASCII格式,此处密码输入需要双层双引号。

示例

  • AT+FCONN="XXX",,6,3,"123456789":连接名称为XXX的路由器,指定6信道。
  • AT+FCONN= P"\\xe4\\xb8\\xad\\xe5\\x9b\\xbd",,6,3,"123456789":连接名称为“中国”的路由器,指定6信道。
  • AT+FCONN=,90:2B:D2:E4:CE:28,6,3,"123456789":连接bssid为90:2B:D2:E4:CE:28的路由器,指定6信道。
  • AT+FCONN="XXX",,6,1,""1234567890123"" :连接名称为XXX的路由器,对端路由器设置的认证方式为WEP,密码为ASCII格式,此处使用双层双引号。

注意

  • <ssid>与<bssid>不能同时为空。
  • <ssid>与<bssid>都不为空时,如果<ssid>与<bssid>不匹配则连接失败。
  • <ssid>如果为非ASCll编码的字符(例如:名称为“中国”的ssid),按照如下格式输入“中国”的编码:P"\\xe4\\xb8\\xad\\xe5\\x9b\\xbd"。
  • <ssid>和<passwd>内容如果包含特殊符号“或者,需使用\转义,如ssid名称为"ab,c",命令参数应为"ab\,c"。
  • <auth_type>设置为OPEN时,无需<passwd>参数及参数前的逗号。
  • <chn>不同区域取值范围有差异,中国为1~13。
  • 此命令为阻塞式命令,先返回连接结果再返回OK或ERROR。
  • 连接结果通过+NOTICE上报,+NOTICE信息如下:

    +NOTICE:CONNECTED,表示连接成功;

    +NOTICE:DISCONNECTED,表示连接失败。

AT+DISCONN 断开与AP的连接

格式

AT+DISCONN

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+DISCONN

注意

  • 此命令为非阻塞式命令。
  • 命令返回OK表示断开连接命令下发成功。

AT+STASTAT 查看STA连接状态

格式

AT+STASTAT

响应

+STASTAT: <status>,<ssid>, <bssid >,<chn>,<rssi>

  • 成功:OK
  • 失败:ERROR

参数说明

  • <status>:当前连接状态。

    0:未连接;

    1:已连接。

  • <ssid>:服务集标识符,即路由器名称。
  • <bssid >:基本服务集标识符,通常为路由器MAC地址。
  • <chn>:信道号,取值范围1~14。
  • <rssi>:路由器信号强度,取值范围-100 ~ 0。

示例

AT+STASTAT

注意

  • <chn>不同区域取值范围有差异,中国为1~13。
  • <ssid>如果为非ASCll编码的字符,则按照原编码显示。例如:名称为“中国”的ssid,显示格式为:P"\xe4\xb8\xad\xe5\x9b\xbd"。

AT+PBC PBC连接

格式

AT+PBC

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+PBC

注意

  • 默认未使能。
  • 此命令为非阻塞式命令。
  • 命令返回OK表示PBC连接命令下发成功,连接结果通过+NOTICE上报,+NOTICE信息如下:

    +NOTICE:CONNECTED,表示连接成功。

AT+PIN PIN连接

格式

AT+PIN=<pin>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<pin>:PIN码

示例

AT+PIN=03882368

注意

  • 默认未使能。
  • 此命令为非阻塞式命令。
  • 命令返回OK表示PIN连接命令下发成功,连接结果通过+NOTICE上报,+NOTICE信息如下:

    +NOTICE:CONNECTED,表示连接成功。

AT+PINSHOW 生成PIN码

查询指令

AT+PINSHOW

响应

+PINSHOW:<pin>

  • 成功:OK
  • 失败:ERROR

参数说明

<pin>:PIN码

示例

AT+PINSHOW

注意

  • 默认未使能。

SoftAP相关AT指令

SoftAP相关AT指令一览表

指令

描述

AT+STARTAP

普通模式启动SoftAP。

AT+SETAPADV

配置SoftAP启动参数。

AT+STOPAP

停止SoftAP。

AT+SHOWSTA

AP显示当前连接的STA信息。

AT+DEAUTHSTA

AP断开STA连接。

AT+APSCAN

AP扫描。

AT+APSCANRESULT

AP扫描结果显示.

SoftAP相关AT指令描述

AT+STARTAP 普通模式启动SoftAP

格式

AT+STARTAP=<ssid>,<chn>,<auth_type>[,<passwd>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ssid>:服务集标识符,即路由器名称,参数需使用双引号。
  • <chn>:信道号,取值范围1~14或者取值0表示不指定信道,使用自动信道选择(ACS)算法,此时会触发一次自动信道扫描。
  • <auth_type>:认证方式。

    0:OPEN

    1:WEP-SHARED

    2:WPA2_PSK

    3:WPA_WPA2_PSK

    7:WPA3-SAE

    8:WPA2_PSK_WPA3-SAE

    14:WEP-OPEN

  • <passwd>:密码,参数需使用双引号,认证方式为2/3/7/8要求密码长度为8位或以上,1/14密码为固定长度5/10/13/26。

示例

AT+STARTAP="XXX",6,2,"123456789"

AT+STARTAP="XXX",6,0

注意

  • <chn>不同区域取值范围有差异,中国为1~13。
  • <auth_type>设置为OPEN时,无<passwd>参数及参数前的逗号。
  • <auth_type>设置为WEP-SHARED或WEP-OPEN时,<passwd>参数长度只能为5/10/13/26。
  • <ssid>和<passwd>内容如果包含特殊符号“或者,需使用\转义,如ssid名称为"ab,c",命令参数应为"ab\\,c"。
  • 如需进行高级参数配置,请先执行AT+SETAPADV,再启动AP;

AT+SETAPADV 配置SoftAP启动参数

格式

AT+SETAPADV=[<protocol_mode>],[<bcn_period>],[<dtim_period>],[<group_rekey>],[<ssid_hide>],[<sgi>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <protocol_mode>:协议类型,默认为4

    1:802.11b

    2:802.11b + 802.11g

    3:802.11b + 802.11g + 802.11n

    4:802.11b + 802.11g + 802.11n + 802.11ax

  • <bcn_period>:beacon周期,参数取值范围25~1000,单位为ms,默认为100。
  • <dtim_period>:DTIM周期,参数取值范围1~30,默认为2。
  • <group_rekey>:配置组播秘钥更新时间,参数取值范围30~86400,单位为秒,默认86400。
  • <ssid_hide>: softap是否隐藏ssid,默认值为1。

    1:不隐藏;

    2:隐藏。

  • <sgi>:short GI开关,默认为1。

    0:关闭short GI;

    1:开启short GI。

示例

AT+SETAPADV=3,100,2,3600,1,1

AT+SETAPADV=,100,2,3600,,

注意

  • 此命令需在AT+STARTAP前下发。
  • 如果不需要改变上述参数默认值,无需下发此命令。
  • AT+STOPAP不会改变上述参数设置值。
  • 参数可以省略,省略的参数使用系统默认值。

AT+STOPAP 停止SoftAP

格式

AT+STOPAP

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+STOPAP

注意

执行AT+STOPAP后,无需先执行"AT+DHCPS=AP0,0"关闭DHCP服务。

AT+SHOWSTA 显示当前连接的STA信息

格式

AT+SHOWSTA

响应

+SHOWSTA:<STA_MAC>, rssi: <RSSI>,rate<RATE>

  • 成功:OK
  • 失败:ERROR

参数说明

  • <STA_MAC>:当前已连接的STA MAC地址。
  • <RSSI>:信号接收强度。
  • <RATE>: 当前速率

示例

AT+SHOWSTA

注意

-

AT+DEAUTHSTA 断开STA连接

格式

AT+DEAUTHSTA=<MAC>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<MAC>:要断开的STA MAC地址。

示例

AT+DEAUTHSTA=90:2B:D2:E4:CE:28

注意

-

AT+APSCAN softap扫描

格式

AT+APSCAN

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+APSCAN

注意

  • 此命令为非阻塞式命令。
  • 命令返回OK表示softap启动扫描成功。

AT+APSCANRESULT softap查看扫描结果

格式

AT+APSCANRESULT

响应

+SCANRESULT:<ssid>,<bssid>,<chn>,<rssi>,<auth_type>

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ssid>:服务集标识符,即路由器名称
  • <bssid>:基本服务集标识符,通常为路由器MAC地址
  • <chn>:信道号,取值范围1~14
  • <rssi>:信号强度
  • <auth_type>:认证方式。

    -1:无效安全类型

    0:OPEN

    1:WEP

    2:WPA2_PSK

    3:WPA_WPA2_PSK

    4:WPA_PSK

    5:WPA

    6:WPA2

    7:SAE

    8:WPA3_WPA2_PSK_MIX

    9:WPA3-Enterprise

    10:OWE

    11:WAPI-PSK

    12:WAPI-CERT

    13:WPA3/WPA2-Enterprise MIX

    14:未知类型

示例

AT+APSCANRESULT

注意

  • <chn>:不同区域取值范围有差异,中国为1~13。
  • 执行扫描命令成功后才能查询到扫描结果。
  • <ssid>如果为非ASCll编码的字符,则按照原编码显示。例如:名称为“中国”的ssid,显示格式为:P"\xe4\xb8\xad\xe5\x9b\xbd"。
  • <bssid> 会遵循隐私要求,例如:2c:00:73:7e:**:**

Repeater相关AT指令

Repeater相关AT指令一览表

指令

描述

AT+BRCTL

配置Repeater特性开关、网络接口以及相关信息显示。默认未使能。

Repeater相关AT指令描述

格式

AT+BRCTL=<cmd>[,<ifname>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <cmd>:Repeater配置命令字。

    addbr:使能Repeater功能

    delbr:去使能Repeater功能

    addif:添加网络接口,与<ifname>参数配合使用

    delif:删除网络接口,与<ifname>参数配合使用

    show:打印维测信息,包含Repeater特性是否使能以及网络接口

  • <ifname>:网络接口名

示例

AT+BRCTL=addbr

AT+BRCTL=addif,wlan0

AT+BRCTL=show

注意

  • 使用Repeater功能需保证Repeater特性使能以及STA、Softap网络接口均已添加
  • 添加STA网络接口需保证已连接成功
  • Softap不需要启用dhcps服务器

TCP/IP相关AT指令

TCP/IP相关AT指令一览表

指令

描述

AT+IPSTART

创建socket,TCP协议发起连接。

AT+IPSEND

发送TCP/UDP数据。

AT+IPLISTEN

启动TCP监听。

AT+IPCLOSE

删除socket ,TCP协议断开连接。

+IPD

接收TCP/UDP数据的主动上报。

TCP/IP相关AT指令描述

AT+IPSTART 创建socket,TCP协议发起连接

格式

TCP:

AT+IPSTART=<link_ID>,<IP_protocol>,<remote_IP>,<remote_port>

UDP:

AT+IPSTART=<link _ID>,<IP_protocol>,<local_port>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <link_ID>:网络连接号,与本机socket绑定,取值范围需要根据业务场景确定,配置网络协议栈socket资源,AT场景仅做功能验证,支持6个TCP连接和4个UDP传输,但总数不超过8个,取值范围0~7。
  • <IP_protocol>:IP协议类型。
  • TCP:TCP连接。
  • UDP:UDP监听。
  • <remote_IP>:远端 IP地址。
  • <remote_port>:远端端口号。
  • <local_port>:本地端⼝号。

示例

AT+IPSTART=0,tcp,192.168.3.1,5001

AT+IPSTART=0,udp,5001

注意

-

AT+IPSEND 发送TCP/UDP数据

格式

  • 发送TCP数据:

    AT+IPSEND=<link_ID>,<len>,<string>

  • 发送UDP数据:

    AT+IPSEND=<link_ID>,<len>,<remote IP>,<remote port>,<string>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <link ID>:网络连接号,与本机socket绑定,取值范围:0~7。
  • <len>:发送数据的长度,最大长度为1024。
  • <remote_IP>:远端IP地址。
  • <remote_port>:远端端口号。
  • <string>:要发送的数据。

示例

AT+IPSEND=0,9,data test

OK

AT+IPSEND=0,9,192.168.3.1,5001,data test

OK

注意

  • \0作为发送结束符,如果要发送\0,需转义成\\0。
  • TCP和UDP发送数据场景,需要组网内开启Server端接收数据。

AT+IPLISTEN 启动TCP监听

格式

AT+IPLISTEN=<control>[,<local_port>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <control>:

    0:关闭TCP监听

    1:启动TCP监听

  • <local_port>:本地端口号。

示例

AT+IPLISTEN=1,5001

AT+IPLISTEN=0

注意

<control>取值为0时不需要<local_port>参数。

AT+IPCLOSE 关闭连接

格式

AT+IPCLOSE=<link_ID>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<link_ID>:网络连接号,与本机socket绑定,取值范围:0~7。

示例

AT+IPCLOSE=0

注意

-

+IPD 接收网络数据

格式

+IPD,<link_ID>,<len>,<remote_IP>,<remote_port>:<data>

响应

当系统处于TCP连接态或UDP监听态时,如果收到远端TCP/UDP数据,会主动上报:+IPD,<link_ID>,<len>,<remote_IP>,<remote_port>:<data>

参数说明

  • <link_ID>:网络连接号,与本机socket绑定,取值范围:0~7。
  • <len>:本次接收数据的长度。
  • <remote_IP>:远端 IP 地址。
  • <remote_port>:远端端口号。
  • <data>:收到的数据。

示例

+IPD,0,4,192.168.3.1,5001:abcd

注意

单次接收数据长度最大为1024,长度超过1024的数据分多次上报。

测试调试相关AT指令

测试调试相关AT指令一览表

指令

描述

AT+ALTX

设置常发功能。

AT+ALRX

设置常收功能。

AT+RXINFO

查询常收。

AT+CALTONE

设置单音功能。

AT+CC

设置/查看国家码

AT+SETRPWR

设置发送功率

测试调试相关AT指令描述

AT+ALTX 设置常发功能

格式

AT+ALTX=<control>[,<protocol_mode>,<bw>,<chn>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <control>:使能开关

    0:关闭

    1:打开

  • <protocol_mode>:协议类型

    0:802.11n

    1:802.11g

    2:802.11b

    3:802.11ax

    5:11n 40plus

    6:11n 40minus

  • <bw>:带宽

    20:20MHz带宽

    40:40MHz带宽

  • <chn>:信道号,取值范围1~14

示例

  • 开启常发功能

    AT+STARTSTA

    AT+ALTX=1,0,20,2

    其中:1表示使能开关开启,0表示11n协议,20表示20M带宽,2表示2信道。

  • 开启11n 40M常发时

    AT+ALTX=1,5,40,1 其中:5表示40plus

    AT+ALTX=1,6,40,11 其中:6表示40minus

注意

  • <chn>不同区域取值范围有差异,中国为1~13。
  • <control>设置为0时,其他参数不配置。

AT+ALRX 设置常收功能

格式

AT+ALRX=<control>[,<protocol_mode>,<bw>,<chn>,<mac_filter>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <control>:使能开关。

    0:关闭

    1:打开

  • <protocol_mode>:协议类型。

    0:802.11n

    1:802.11g

    2:802.11b

    3:802.11ax

    5:11n 40plus

    6:11n 40minus

    <bw>:带宽

    20:20M带宽

    40:40M带宽

  • <chn>:信道号,取值范围1~14。
  • <mac_filter>:MAC地址过滤使能开关(暂不支持)。

    0:关闭

    1:打开

示例

AT+ALRX=1,0,20,1,1

开启常收11n 40M时:

  • AT+ALRX=1,5,40,1,0 40plus
  • AT+ALRX=1,6,40,11,0 40minus

注意

  • <chn>不同区域取值范围有差异,中国为1~13。
  • <control>设置为0时,其他参数不配置。

AT+RXINFO 查询常收

格式

AT+RXINFO

响应

+RXINFO: rx succ num[mpdu,ampdu]:[<pkt>,<pkt>] fail num:<pkt> rssi:<d>

mac mpdu[<pkt>,<pkt>] ampdu[<pkt>,<pkt>]

phy dotb[<pkt>,<pkt>] ht[<pkt>,<pkt>] vht[<pkt>,<pkt>] lega[<pkt>,<pkt>]

  • 成功:OK
  • 失败:ERROR

参数说明

  • <pkt>:接收报文数量。
  • rssi:<d>:最后一个收包rssi强度。

示例

AT+RXINFO

注意

仪器发包完成后再执行,执行后会清除当前统计值。

AT+CALTONE 设置单音功能

格式

AT+CALTONE=<sw>, <tone_freq>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <sw>:开关,1: 开启 0: 关闭。
  • <tone_freq>:单音偏移频率,单位kHz

示例

  • 开启单音,单音频移中心频率2.5MHz

    AT+CALTONE=1, 2500

  • 关闭单音

    AT+CALTONE=0, 0

注意

单音功能的命令在WIFI常发后使用。

AT+CC设置/查看国家码

格式

AT+CC=<country>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <country>:国家码简称。
  • 默认值为CN。
  • 可配置范围:CN,JP,US,CA,KHRU,AU,MY,ID,TR,PL,FR,PT,IT,DE,ES,AR,ZA,MA,PH,TH,GB,CO,MX,EC,PE,CL,SA,EG,AE.

示例

AT+CC=CN

注意

AT+CC?用于查看当前配置的国家码。

AT+SETRPWR设置功率

格式

AT+SETRPWR=<protocol_mode>,<rate>,<power_offset>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <protocol_mode>:协议模式

    0:802.11b

    1:802.11g

    2:802.11n 20M/802.11ax 20M

    3:802.11n 40M

  • <rate>:速率

    802.11b:0~3表示1、2、5.5、11Mbps;4表示全速率修改;

    802.11g:0~7表示6、9、12、18、24、36、48、54Mbps;8表示全速率修改;

    11n/11ax 20M:0~9表示mcs0~mcs9; 10表示全速率修改;

    11n 40M:0~9表示mcs0~mcs9;10 表示mcs32;11表示全速率修改。

  • <power_offset>:功率偏移值。

    范围:-100~+40,单位0.1dB,表示相对当前功率的偏移值。

示例

AT+SETRPWR=0,0,-10

注意

此命令需在AT+STARTAP/AT+STARTSTA执行后下发。

11n 20M和11n 40M最大支持到mcs7。

使用场景示例

启动/停止SoftAP

启动SoftAP示例

AT+MAC=90:2B:D2:E4:CE:28

AT+STARTAP="XXX",6,2,"123456789"

AT+IFCFG=ap0,192.168.3.1,netmask,255.255.255.0,gateway,192.168.3.1

AT+DHCPS=ap0,1

注意:设置MAC地址命令可选,如果不设置则使用随机MAC;设置的MAC地址为STA的地址,SoftAP的地址为STA的地址+1。

停止SoftAP示例

AT+STOPAP

启动/停止STA

启动STA示例

AT+MAC=90:2B:D2:E4:CE:28

AT+STARTSTA

AT+SCAN

AT+SCANRESULT

AT+CONN="XXX",,"123456789"

AT+STASTAT

AT+DHCP=wlan0,1

注意:设置MAC地址命令可选,如果不设置则使用随机MAC;设置的MAC地址为STA的地址,SoftAP的地址为STA的地址+1。

停止STA示例

AT+STOPSTA

注意:-

启动/停止Repeater

启动Repeater示例

AT+MAC=90:2B:D2:E4:CE:28

AT+STARTSTA

AT+SCAN

AT+SCANRESULT

AT+CONN="XXX",,"123456789"

AT+STASTAT

AT+STARTAP="XXX",6,2,"123456789"

AT+BRCTL=addbr

AT+BRCTL=addif,wlan0

AT+BRCTL=addif,ap0

AT+BRCTL=show

注意:设置MAC地址命令可选,如果不设置则使用随机MAC;设置的MAC地址为STA的地址,SoftAP的地址为STA的地址+1。

停止Repeater示例

AT+BRCTL=delif,wlan0

AT+BRCTL=delif,ap0

AT+BRCTL=delbr

注意:-

吞吐量测试

吞吐量测试示例

AT+STARTSTA

AT+SCAN

AT+SCANRESULT

AT+CONN="XXX",,0

AT+DHCP=wlan0,1

AT+IFCFG

AT+PING=192.168.3.1

AT+PING=-k

#UDP测试,192.168.3.1为对端iperf server IP地址

AT+IPERF=-c,192.168.3.1,-u,-b,100M,-t,30,-i,1

AT+IPERF=-s,-i,1,-u

#TCP测试

AT+IPERF=-c,192.168.3.1,-i,1,-t,30

AT+IPERF=-s,-i,1

AT+IPERF=-k

注意:AT+IPERF测试启动前,要保证对端IP可ping通。

RF 测试

RF常发测试

RF常发

AT+RST

AT+STARTSTA

AT+ALTX=1,0,20,1

RF常收测试

RF常收

AT+RST

AT+MAC=90:2B:D2:E4:CE:28

AT+STARTSTA

AT+ALRX=1,0,20,1,1

AT+RXINFO

注意:AT+RXINFO为查看常收结果命令。

BLE&SLE模块AT指令

BLE

BLE AT指令一览表

gap模块AT命令

指令

描述

AT+BLEENABLE

使能BLE协议栈

AT+BLEDISABLE

关闭BLE协议栈

AT+BLESETADDR=<参数>

设置本地设备地址

AT+BLEGETADDR

获取本地设备地址

AT+BLESETNAME=<参数>

设置本地设备名称

AT+BLEGETNAME

获取本地设备名称

AT+BLESETAPPEARANCE=<参数>

设置本地设备外观

AT+BLESETADVDATA=<参数>

设置BLE广播数据

AT+BLESETADVPAR=<参数>

设置BLE广播参数

AT+BLESTARTADV=<参数>

开始发送BLE广播

AT+BLESTOPADV=<参数>

停止发送BLE广播

AT+BLESETSCANPAR=<参数>

设置BLE扫描参数

AT+BLESTARTSCAN

启动BLE扫描

AT+BLESTOPSCAN

停止BLE扫描

AT+BLEPAIR=<参数>

与对端设备发起配对

AT+BLEGETPAIREDNUM

获取BLE设备配对设备数量

AT+BLEGETPAIREDDEV

获取BLE设备配对设备

AT+BLEGETPAIREDSTA=<参数>

获取BLE设备配对状态

AT+BLEUNPAIR=<参数>

取消配对

AT+BLEUNPAIRALL

取消所有配对

AT+BLECONNPARUPD=<参数>

连接参数更新

AT+BLECONN=<参数>

与BLE设备连接

AT+BLEDISCONN=<参数>

断开BLE设备连接

AT+BLEGAPREGCBK

注册gap回调函数

gatts模块AT命令

指令

描述

AT+GATTSREGSRV=<参数>

创建一个GATT server

AT+GATTSUNREG=<参数>

删除GATT server,释放资源

AT+GATTSADDSERV=<参数>

添加一个GATT服务(弃用,使用同步命令)

AT+GATTSSYNCADDSERV=<参数>

添加一个GATT服务(同步)

AT+GATTSADDCHAR=<参数>

为GATT服务添加一个特征(弃用,使用同步命令)

AT+GATTSSYNCADDCHAR=<参数>

为GATT服务添加一个特征(同步)

AT+GATTSADDDESCR=<参数>

为最新的特征添加一个描述符(弃用,使用同步命令)

AT+GATTSSYNCADDDESCR=<参数>

为最新的特征添加一个描述符(同步)

AT+GATTSSTARTSERV=<参数>

启动指定的GATT服务

AT+GATTSDELALLSERV=<参数>

删除指定server上的所有服务

AT+GATTSSENDRSP=<参数>

发送响应

AT+GATTSSNDNTFY=<参数>

发送通知或指示

AT+GATTSSNDNTFYBYUUID=<参数>

根据uuid发送通知或指示

AT+GATTSREGCBK

注册GATT服务端回调函数

AT+GATTSSETMTU=<参数>

在连接之前设置server rx mtu

gattc模块AT命令

指令

描述

AT+GATTCREG=<参数>

创建一个GATT client

AT+GATTCUNREG=<参数>

删除GATT client,释放资源

AT+GATTCFNDSERV=<参数>

发现所有服务(可by uuid)

AT+GATTCFNDCHAR=<参数>

发现所有特征

AT+GATTCFNDDESCR=<参数>

发现所有描述符

AT+GATTCREADBYHDL=<参数>

读取by hdl

AT+GATTCREADBYUUID=<参数>

读取by_uuid

AT+GATTCWRITEREQ=<参数>

写by hdl req

AT+GATTCWRITECMD=<参数>

写by hdl cmd

AT+GATTCEXCHMTU=<参数>

交换mtu请求

AT+GATTCREGCBK

注册GATT客户端回调函数

BLE AT指令描述

gap模块AT命令

AT+BLEENABLE 使能ble协议栈

格式

AT+BLEENABLE

响应

打开BLE开关

OK

参数说明

-

示例

AT+BLEENABLE

注意

使用BLE功能需首先下发该指令

AT+BLEDISABLE 关闭ble协议栈

格式

AT+BLEDISABLE

响应

关闭BLE开关

OK

参数说明

-

示例

AT+BLEDISABLE

注意

-

AT+BLESETADDR 设置本地设备地址

格式

AT+BLESETADDR=<addr_type,addr>

响应

  • 正确:OK
  • 错误:ERROR

参数说明

<addr_type>:蓝牙设备类型

<addr>:蓝牙设备地址

示例

AT+BLESETADDR=0,0x112233445566

注意

设备类型取值范围为

  • 0:公共设备地址
  • 1:随机设备地址
  • 2:公共本端地址
  • 3:随机静态本端地址

设备地址为长度为14的字符串。

AT+BLEGETADDR 获取本地设备地址

格式

AT+BLEGETADDR

响应

  • 正确:本地设备地址
  • 错误:ERROR

参数说明

-

示例

AT+BLEGETADDR

注意

-

AT+BLESETNAME 设置本地设备名称

格式

AT+BLESETNAME=<len,name>

响应

  • 正确:OK
  • 错误:ERROR

参数说明

  • <len>:本地设备名称长度。
  • <name>:本地设备名称。

示例

AT+BLESETNAME=9,atcmdtest

注意

名称长度取值范围为[1,31],设备名称长度为len的字符串。

AT+BLEGETNAME 获取本地设备名称

格式

AT+BLEGETNAME

响应

  • 正确:本地设备名称
  • 错误:ERROR

参数说明

-

示例

AT+BLEGETNAME

注意

-

AT+BLESETAPPEARANCE 设置本地设备外观

格式

AT+BLESETAPPEARANCE=<appearance>

响应

  • 正确:OK
  • 错误:ERROR

参数说明

<appearance>:本地设备外观

示例

AT+BLESETAPPEARANCE=961

注意

参数值应为规定值,示例中961为键盘的外观值,962为鼠标的外观, 在手机蓝牙列表中搜索到该设备时会显示键盘/鼠标图标。

AT+BLESETADVDATA 设置BLE广播数据

格式

AT+BLESETADVDATA=<adv_length,adv_data,scan_rsp_length,scan_rsp_data,adv_id>

响应

  • 正确:OK
  • 错误:ERROR

参数说明

<adv_length>:广播数据长度(最大190字节,≤31是传统广播,>31是拓展广播)

<adv_data>:广播数据(广播数据的设定需符合蓝牙协议规定, 自行定义的数据可能导致对端设备无法识别)

<scan_rsp_length>:扫描返回数据长度(长度限制与广播数据一致)

<scan_rsp_data>:扫描返回数据 (当对端设备扫描到本端广播后会发送req, 此时如果配置了rsp_data, 则本端可主动给对端回复rsp, 若设置为0则不回复)

<adv_id>:广播id[1, 0xEF]

示例

AT+BLESETADVDATA=0,0,0,0,1

注意

广播数据长度单位为Byte,所以广播数据应为长度两倍的字符串,扫描返回数据同理,广播ID取值范围为[1,0xEF]。

AT+BLESETADVPAR 设置广播数据参数

格式

AT+BLESETADVPAR=<min_interval,max_interval,adv_type,own_addr,peer_addr_type,peer_addr,channel_map,adv_filter_policy,tx_power,duration,adv_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<min_interval>:最小扫描间隔;取值范围[0x20, 0x4000],Time=N×0.625ms

<max_interval>:最大扫描间隔;取值范围[0x20, 0x4000],Time=N×0.625ms

<adv_type>:广播类型

0:可连接可扫描非定向广播

1:可连接不可扫描高频定向广播

2:不可连接可扫描非定向广播

3:不可连接不可扫描非定向广播

4:可连接不可扫描低频定向广播

<own_addr>:本端地址

<peer_addr_type>:对端地址类型(当广播类型设置为定向广播时, 此参数生效)

<peer_addr>:对端地址(当广播类型设置为定向广播时, 此参数生效)

<channel_map>:信道,取值范围为[0x01, 0x07]

<adv_filter_policy>:过滤策略()

<tx_power>:扫描功率(传值范围[-127, 20] 或 0x7F, 传0x7F时表示使用BTC的默认值)

<duration>:扫描周期;仅取值为0

<adv_id>:广播ID,取值范围[1, 0xEF]

示例

AT+BLESETADVPAR=192,192,0,0x112233445577,0,0x112233445566,7,0,0x7F,0,1

注意

1. 广播参数里的本端地址主要用于起广播,set_addr主要用于设置mac地址和发起广播。当广播参数里的本端地址全0时,set_addr既用于设置mac地址,也用于起广播;当广播参数里的本端地址非全0时,set_addr就用来设置mac地址,广播参数里的非全0地址用来起广播。

2. 用广播参数设置地址后, 蓝牙设备地址类型默认是1, 连接时需用指定蓝牙设备地址类型为1去连接。

AT+BLESTARTADV 开始发送BLE广播

格式

AT+BLESTARTADV=<adv_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<adv_id>:广播id,对应set_adv_para里的adv_id, [1-0xEF]

示例

AT+BLESTARTADV=1

注意

-

AT+BLESTOPADV 停止发送BLE广播

格式

AT+BLESTOPADV=<adv_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<adv_id>:广播id

示例

AT+BLESTOPADV=1

注意

-

AT+BLESETSCANPAR 设置BLE扫描参数

格式

AT+BLESETSCANPAR=<scan_interval,scan_window,scan_type,scan_phy,scan_rsp_policy>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<scan_interval>:扫描间隔;取值范围[0x04, 0x4000],Time=N×0.625ms

<scan_window>:扫描窗口;取值范围[0x04, 0x4000],Time=N×0.625ms

<scan_type>:扫描类型,取值范围:

  • 0:被动扫描
  • 1:主动扫描

<scan_phy>:扫描phy

<scan_rsp_policy>:扫描过滤策略

示例

AT+BLESETSCANPAR=0x48,0x48,0,1,0

注意

-

AT+BLESTARTSCAN 启动BLE扫描

格式

AT+BLESTARTSCAN

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+BLESTARTSCAN

注意

-

AT+BLESTOPSCAN 停止BLE扫描

格式

AT+BLESTOPSCAN

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+BLESTOPSCAN

注意

-

AT+BLEPAIR 与对端设备发起配对

格式

AT+BLEPAIR=<addr_type,addr>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<addr_type>:蓝牙设备地址类型

<addr>:蓝牙设备地址

示例

AT+BLEPAIR=0,0x112233445566

注意

设备地址类型取值范围:

  • 0:公共设备地址
  • 1:随机设备地址
  • 2:公共本端地址
  • 3:随机静态本端地址

设备地址为长度为14的字符串

AT+BLEGETPAIREDNUM 获取BLE设备配对设备数量

格式

AT+BLEGETPAIREDNUM

响应

  • 成功:配对设备数量
  • 失败:ERROR

参数说明

-

示例

AT+BLEGETPAIREDNUM

注意

-

AT+BLEGETPAIREDDEV 获取BLE设备配对设备

格式

AT+BLEGETPAIREDDEV

响应

  • 成功:配对设备地址
  • 失败:ERROR

参数说明

-

示例

AT+BLEGETPAIREDDEV

注意

-

AT+BLEGETPAIREDSTA 获取BLE设备配对状态

格式

AT+BLEGETPAIREDSTA=<addr_type,addr>

响应

  • 成功:BLE设备配对状态
  • 失败:ERROR

参数说明

<addr_type>:蓝牙设备类型

<addr>:蓝牙设备地址

示例

AT+BLEGETPAIREDSTA=0,0x112233445566

注意

设备类型取值范围:

  • 0:公共设备地址
  • 1:随机设备地址
  • 2:公共本端地址
  • 3:随机静态本端地址

设备地址为长度为14的字符串

AT+BLEUNPAIR 取消配对

格式

AT+BLEUNPAIR=<addr_type,addr>

响应

  • 成功:断连
  • 失败:ERROR

参数说明

<addr_type>:蓝牙设备类型

<addr>:蓝牙设备地址

示例

AT+BLEUNPAIR=0,0x112233445566

注意

设备类型取值范围:

  • 0:公共设备地址
  • 1:随机设备地址
  • 2:公共本端地址
  • 3:随机静态本端地址

设备地址为长度为14的字符串

AT+BLEUNPAIRALL取消所有配对

格式

AT+BLEUNPAIRALL

响应

  • 成功:断连
  • 失败:ERROR

参数说明

-

示例

AT+BLEUNPAIRALL

注意

-

AT+BLECONNPARUPD 更新连接参数

格式

AT+BLECONNPARUPD=<conn_handle,interval_min,interval_max,slave_latency,timeout_multiplier>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <conn_handle>:连接句柄
  • <interval_min>:链路调度最小间隔,[0x06, 0x0C80],Time=N×1.25ms
  • <interval_max>:链路调度最大间隔,[0x06, 0x0C80],Time=N×1.25ms
  • <slave_latency>:延迟周期,单位slot(该值表示在设置值的周期内可以不回复, 为0时则表示每包都需回复)
  • <timeout_multiplier>:超时断连间隔

示例

AT+BLECONNPARUPD=0,0x48,0x48,0,500

注意

-

AT+BLECONN 与BLE设备连接

格式

AT+BLECONN=<addr_type,addr>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <addr_type>:蓝牙设备地址类型
  • <addr>:蓝牙设备地址

示例

AT+BLECONN=0,0x112233445566

注意

设备地址类型取值范围:

  • 0:公共设备地址
  • 1:随机设备地址
  • 2:公共本端地址
  • 3:随机静态本端地址

设备地址为长度为14的字符串

AT+BLEDISCONN 与BLE设备断开连接

格式

AT+BLEDISCONN=<addr_type,addr>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<addr_type>:蓝牙设备类型

<addr>:蓝牙设备地址

示例

AT+BLEDISCONN=0,0x112233445566

注意

设备类型取值范围:

  • 0:公共设备地址
  • 1:随机设备地址
  • 2:公共本端地址
  • 3:随机静态本端地址

设备地址为长度为14的字符串

AT+BLEGAPREGCBK 注册BLE回调函数

格式

AT+BLEGAPREGCBK

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+BLEGAPREGCBK

注意

-

AT+BLEREADPEERRSSI 读取RSSI值

格式

AT+BLEREADPEERRSSI=<conn_handle>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <conn_handle>:连接句柄

示例

AT+BLEREADPEERRSSI=0

注意

-

AT+BLESETPHY 设置 BLE PHY

格式

AT+BLESETPHY=<conn_handle>,<all_phys>,<tx_phys>,<rx_phys>,<phy_options>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <conn_handle>:连接句柄
  • <all_phys>:host配置phy信息,按bit配置,bit0是tx phy mask,bit1是rx phy mask,配0生效,配1不生效

    0:tx rx phy生效

    1:tx phy不生效,rx phy生效

    2:tx phy生效,rx phy不生效

    3:tx rx phy都不生效

  • <tx_phy>: tx phys配置,按bit 配置

    0:1M PHY

    1:2M PHY

    2:Code PHY

  • <rx_phy>:rx phys配置,按bit 配置

    0:1M PHY

    1:2M PHY

    2:Code PHY

  • <phy_options>: phy编码选项,coded phy生效

    0: 主机没有首选编码

    1: 使用S=2编码PHY(1M/2=512k)

    2: 使用S=8编码PHY(1M/8=128k)

示例

AT+BLESETPHY=0,2,1,1,0

注意

上述各参数中没有列出的示例值为预留字段, AT侧不做拦截, 下发后BTC会回复异常参数, 请关注回调中的异常日志打印。

gatts模块AT命令

AT+GATTSREGSRV 创建一个GATT server

格式

AT+GATTSREGSRV=<uuid>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<uuid>:应用uuid(长度:2字节或16字节)

示例

AT+GATTSREGSRV=0x1122

注意

-

AT+GATTSUNREG 删除GATT server,释放资源

格式

AT+GATTSUNREG=<server_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<server_id>:注册server时生成的server id,默认为1

示例

AT+GATTSUNREG=1

注意

-

AT+GATTSSYNCADDSERV 添加一个GATT服务(同步)

格式

AT+GATTSSYNCADDSERV=<server_id,svc_uuid,is_primary_flag>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<server_id>:服务端id

<svc_uuid>:服务uuid

<is_primary_flag>:是否是首要服务

示例

AT+GATTSSYNCADDSERV=1,0x1812,1

注意

-

AT+GATTSSYNCADDCHAR 为GATT服务添加一个特征(同步)

格式

AT+GATTSSYNCADDCHAR=<server_id,service_handle,chara_uuid,permissions,properties,value_len,value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<server_id>:服务端id

<service_handle>:服务句柄

<chara_uuid>:特征uuid

<permissions>:权限

  • 0x01:可读
  • 0x02:可写
  • 0x04:需要加密
  • 0x08:需要认证
  • 0x10:需要授权
  • 0x20:需要MITM保护

注: 多个权限类型使用'|'后的值, 如可读可写需要授权为, 0x01|0x02|0x08 值为0x0B

<properties>:特性

  • 0x01:广播特征值
  • 0x02:读特征值
  • 0x04:写特征值并且不需要响应
  • 0x08:写特征值
  • 0x10:通知特征值
  • 0x20:指示特征值
  • 0x40:签名写特征值
  • 0x80:在特征扩展特性描述符中定义了附加的特征特性

注: 多个特征类型使用'|'后的值, 如读写特征为, 0x02|0x08 值为0x0A

<value_len>:值长度

<value>:值

示例

AT+GATTSSYNCADDCHAR=1,14,0x1234,0x01,0x02,4,01010003

注意

值是长度为值长度两倍的字符串。

AT+GATTSSYNCADDDESCR 为最新的特征添加一个描述符(同步)

格式

AT+GATTSSYNCADDDESCR=<server_id,service_handle,chara_uuid,permissions,value_len,value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<server_id>:服务端id

<service_handle>:服务句柄

<chara_uuid>:特征uuid

<permissions>:权限

  • 0x01:可读
  • 0x02:可写
  • 0x04:需要加密
  • 0x08:需要认证
  • 0x10:需要授权
  • 0x20:需要MITM保护

注: 多个特征类型使用|后的值, 如可读可写需要授权为, 0x01|0x02|0x08 值为0x0B

<value_len>:值长度

<value>:值

示例

AT+GATTSSYNCADDDESCR=1,14,0x2902,0x03,2,0100

注意

值是长度为值长度两倍的字符串。

AT+GATTSSTARTSERV 启动指定的GATT服务

格式

AT+GATTSSTARTSERV=<server_id,service_handle>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<server_id>:服务端id

<service_handle>:服务句柄

示例

AT+GATTSSTARTSERV=1,14

注意

-

AT+GATTSDELALLSERV 删除指定server上的所有服务

格式

AT+GATTSDELALLSERV=<server_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<server_id>:服务端id

示例

AT+GATTSDELALLSERV=1

注意

-

AT+GATTSSENDRSP 发送响应

格式

AT+GATTSSENDRSP=<server_id,conn_handle,request_id,status,offset,value_len,value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<server_id>:服务端id

<conn_handle>:连接句柄

<request_id>:请求id(client端发read/write后触发的回调中上报req_id)

<status>:请求结果

<offset>:偏移

<value_len>:值长度

<value>:值

示例

AT+GATTSSENDRSP=1,0,1,0,0,2,0x4562

注意

值是长度为值长度两倍的字符串。

AT+GATTSSNDNTFY 发送通知或指示

格式

AT+GATTSSNDNTFY=<server_id,conn_handle,character_value_handle,value_len,value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<server_id>:服务端id

<conn_handle>:连接句柄

<character_value_handle>:特征值handle

<value_len>:值长度

<value>:值

示例

AT+GATTSSNDNTFY=1,0,9,7,0x00000000000014

注意

值是长度为值长度两倍的字符串。

AT+GATTSSNDNTFYBYUUID 根据uuid发送通知或指示

格式

AT+GATTSSNDNTFYBYUUID=<server_id,conn_handle,chara_uuid,start_handle,end_handle,value_len,value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<server_id>:服务端id

<conn_handle>:连接句柄

<chara_uuid>:特征uuid

<start_handle>:起始句柄 (0~255)

<end_handle>:结束句柄 (0~255)

<value_len>:值长度

<value>:值

示例

AT+GATTSSNDNTFYBYUUID=1,0,0x2a4d,1,9,7,0x00000000000014

注意

值是长度为值长度两倍的字符串。

AT+GATTSREGCBK 注册GATT服务端回调函数

格式

AT+GATTSREGCBK

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+GATTSREGCBK

注意

-

AT+GATTSSETMTU 在连接之前设置server rx mtu

格式

AT+GATTSSETMTU=<server_id,mtu_size>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<server_id>:服务端id

<mtu_size>:mtu大小 (最大517)

示例

AT+GATTSSETMTU=1,23

注意

MTU默认值为23。

gattc模块AT命令

AT+GATTCREG 创建一个GATT client

格式

AT+GATTCREG=<uuid>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<uuid>:应用uuid

示例

AT+GATTCREG=0x1212

注意

-

AT+GATTCUNREG 删除GATT client,释放资源

格式

AT+GATTCUNREG=<client_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<client_id>:客户端id

示例

AT+GATTCUNREG=1

注意

-

AT+GATTCFNDSERV 发现服务

格式

AT+GATTCFNDSERV=<client_id,conn_id,uuid>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<client_id>:客户端id;

<conn_id>:连接id

[uuid]:应用uuid(可选)

示例

AT+GATTCFNDSERV=1,0

注意

-

AT+GATTCFNDCHAR 发现特征

格式

AT+GATTCFNDCHAR=<client_id,conn_id,service_handle,uuid>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <client_id>:客户端id
  • <conn_id>:连接id
  • <service_handle>:服务句柄
  • [uuid]:应用uuid(可选)

示例

AT+GATTCFNDCHAR=1,0,0

注意

服务句柄service handle取值可根据AT+GATTCFNDSERV命令的回显,例如:[GATTClient]Discovery service----client:1 conn_id:0

start handle:14 end handle:17 uuid_len:2 uuid:1812 status:0

service handle为start handle,设置为14

AT+GATTCFNDDESCR 发现描述符

格式

AT+GATTCFNDDESCR=<client_id,conn_id,declare_handle>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <client_id>:客户端id
  • <conn_id>:连接id
  • <declare_handle>:特征描述句柄

示例

AT+GATTCFNDDESCR=1,1,0

注意

根据AT+GATTCFNDCHAR命令回显设置declare handle,例如:

[GATTClient]Discovery character----client:1 conn_id:0 uuid_len:2 uuid:1234

declare handle:15 value handle:16 properties:2a status:0

AT+GATTCREADBYHDL 读取by hdl

格式

AT+GATTCREADBYHDL=<client_id,conn_id,service_handle>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <client_id>:客户端id
  • <conn_id>:连接id
  • <service_handle>:服务句柄

示例

AT+GATTCREADBYHDL=1,1,0

注意

-

AT+GATTCREADBYUUID 读取by_uuid

格式

AT+GATTCREADBYUUID=<client_id,conn_id,start_hdl,end_hdl,uuid>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <client_id>:客户端id
  • <conn_id>:连接id
  • <start_hdl>:起始句柄(1~255)
  • <end_hdl>:结束句柄(1~255)
  • <uuid>:想要读的uuid

示例

AT+GATTCREADBYUUID=1,0,13,13,2a4d

注意

start_handle和end_handle可根据AT+GATTCFNDSERV命令的回显,例如:[GATTClient]Discovery service----client:1 conn_id:0

start handle:14 end handle:17 uuid_len:2 uuid:1812 status:0

AT+GATTCWRITEREQ 写by hdl req

格式

AT+GATTCWRITEREQ=<client_id,conn_id,character_value_handle,data_len,data>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <client_id>:客户端id
  • <conn_id>:连接id
  • <character_value_handle>:描述符句柄
  • <data_len>:数据长度
  • <data>:数据

示例

AT+GATTCWRITEREQ=1,0,13,1,0x11

注意

注册服务时, character的property配置为"写特征值并且不需要响应"时, write_req不会打印回显, 如果配置正常写特征值就会打印

根据AT+GATTCFNDCHAR命令回显设置character_value_handle,例如:

[GATTClient]Discovery character----client:1 conn_id:0 uuid_len:2 uuid:1234

declare handle:15 value handle:16 properties:2a status:0

character_value_handle设置为16

AT+GATTCWRITECMD 写by hdl cmd

格式

AT+GATTCWRITECMD=<client_id,conn_id,character_value_handle,data_len,data>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <client_id>:客户端id
  • <conn_id>:连接id
  • <character_value_handle>:描述符句柄
  • <data_len>:数据长度
  • <data>:数据

示例

AT+GATTCWRITECMD=1,0,13,1,0x11

注意

-

AT+GATTCEXCHMTU 交换MTU请求

格式

AT+GATTCEXCHMTU=<server_id,conn_id,mtu_size>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <server_id>:服务端id
  • <conn_id>:连接id
  • <mtu_size>:client rx mtu大小(23~517)

示例

AT+GATTCEXCHMTU=1,0,100

注意

-

AT+GATTCREGCBK 注册GATT客户端回调函数

格式

AT+GATTCREGCBK

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+GATTCREGCBK

注意

-

BLE AT命令使用场景示例

以下演示了使用AT命令快速进行构建BLE server和BLE client,扫描、连接、数传等操作,各个命令含义可以在该文档中查找到。

BLE server端:

AT+BLEENABLE
AT+BLEGAPREGCBK
AT+GATTSREGCBK
AT+BLESETADDR=0,0xAA8888888813
AT+GATTSREGSRV=0x1122
AT+GATTSSYNCADDSERV=1,0x1812,1
AT+GATTSSYNCADDCHAR=1,14,0x1213,0x03,0x0E,4,01010003
AT+GATTSSYNCADDDESCR=1,14,0x2902,0x03,2,0100
AT+GATTSSTARTSERV=1,14
AT+BLESETADVDATA=0,0,0,0,0x1
AT+BLESETADVPAR=0x32,0x32,0,0x000000000000,0,0x000000000000,6,0,1,0,0x1
AT+BLESTARTADV=1  # 开始广播,等待client连接
AT+BLESTOPADV=1  # 停止广播
AT+BLEGETPAIREDNUM
AT+GATTSUNREG=1
AT+GATTSDELALLSERV=1

BLE client端:

AT+BLEENABLE
AT+GATTCREGCBK
AT+BLEGAPREGCBK
AT+GATTCREG=0x1212
AT+BLESETADDR=0,0x000000003853
AT+BLECONN=0,0xAA8888888813  # 发起连接
AT+BLEPAIR=0,0xAA8888888813  # 配对

AT+GATTSSETMTU=1,251
AT+GATTCEXCHMTU=1,0,512
AT+GATTCWRITECMD=1,0,16,2,0x5678  # 写by hdl cmd
AT+GATTCWRITEREQ=1,0,16,2,0x1122 # 写by hdl req
AT+GATTCREADBYHDL=1,0,16
AT+BLEGETPAIREDNUM
AT+BLEGETPAIREDDEV
AT+BLEGETPAIREDSTA=0,0x112233445566
AT+GATTCFNDSERV=1,0
AT+GATTCFNDCHAR=1,0,14,0x1812
AT+GATTCFNDDESCR=1,0,15

AT+BLEDISCONN=0,0xAA8888888813
AT+BLEUNPAIR=1,0xAA8888888813
AT+BLESETSCANPAR=0x48,0x48,0,1,0
AT+BLESTARTSCAN
AT+BLESTOPSCAN
AT+BLESETNAME=3,123
AT+BLEGETNAME

SLE

SLE AT指令一览表

指令

描述

AT+SLEENABLE

SLE使能

AT+SLEATCOMMONREGCBK

注册启停广播与扫描回调

AT+SLESETADVPAR

设置SLE广播参数

AT+SLESETADVDATA

设置指令

AT+SLESTARTADV

起SLE广播

AT+SLESTOPADV

停SLE广播

AT+SLESTARTSCAN

启动扫描

AT+SLESTOPSCAN

关闭扫描

AT+SLESETNAME

设置本端名称

AT+SLEGETNAME

获取本端名称

AT+SLESETADDR

设置本端地址

AT+SLEGETADDR

获取本端地址

AT+SLECONN

建立SLE连接

AT+SLEDISCONN

断开SLE连接

AT+SLESETPHY

设置SLE PHY

AT+SLESETDEFAULTCONNP

设置SLE 默认连接参数

AT+SLESETMCS

设置SLE连接mcs传输特性

AT+SLEPAIR

进行加密配对

AT+SLEUNPAIR

移除加密配对

AT+SLEGETPAIREDNUM

获取配对设备数目

AT+SLEGETPAIRDEV

获取配对设备

AT+SLEGETPAIRSTA

获取配对状态

AT+SLEGETBONDDEV

获取绑定设备状态

AT+SLECONNPARUPD

星闪逻辑链路更新参数

AT+SLEREADPEERRSSI

读取对端rssi

AT+SSAPSADDSRV

注册服务端

AT+SSAPSDELALLSRV

删除服务端

AT+SSAPSADDSERV

添加服务

AT+SSAPSSYNCADDSERV

添加服务(同步)

AT+SSAPSADDPROPERTY

添加属性

AT+SSAPSSYNCADDPROPERTY

添加属性(同步)

AT+SSAPSADDDESCR

添加属性描述符

AT+SSAPSSYNCADDDESCR

添加属性描述符同步

AT+SSAPSSTARTSERV

start service

AT+SSAPSSNDNTFY

服务端向客户端发送通知

AT+SSAPSNTFYBYUUID

服务端向客户端通过uuid发送通知

AT+SSAPSSNDRESP

服务端向客户端发送响应

AT+SSAPSREGCBK

服务端注册回调函数

AT+SSAPCREGCBK

注册SSAPC回调函数

AT+SSAPCFNDSTRU

发现service

AT+SSAPCWRITECMD

客户端向服务端写入数据

AT+SSAPCWRITEREQ

客户端向服务端发送写请求

AT+SSAPCEXCHINFO

客户端发起信息交换

AT+SSAPCREADBYUUID

客户端通过uuid发送读请求

AT+SSAPCREADREQ

客户端读取服务端属性数据

AT+SLESETSCANPAR

设置扫描参数

SLE AT指令描述

SLE使能

设置指令

AT+SLEENABLE

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SLEENABLE

注意

-

注册启停广播与扫描回调

设置指令

AT+SLEATCOMMONREGCBK

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SLEATCOMMONREGCBK

注意

此命令需在SLE使能AT+SLEENABLE后下发, 注册该回调后才会启停广播与扫描的回调结果。

设置SLE广播参数

设置指令

AT+SLESETADVPAR=<announce_handle>,<announce_mode>,<announce_interval_min>,<announce_interval_max>,<own_addr_type>,<own_addr_addr>,<peer_addr_type>,<peer_addr_addr>,[tx_power]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<announce_handle>:广播句柄,取值范围[1, 0x10]

<announce_mode>:广播类型

  • 0x00:不可连接不可扫描
  • 0x01:可连接不可扫描
  • 0x02:不可连接可扫描
  • 0x03:可连接可扫描
  • 0x07:可连接可扫描定向

<announce_interval_min>:广播周期最小值, 0x000020~0xffffff, 单位125μs

<announce_interval_max>:广播周期最大值, 0x000020~0xffffff, 单位125μs

<own_addr_type>:SLE本端地址类型,取值范围:

  • 0:公有地址。
  • 6:随机地址。

<own_addr_addr>:SLE本端设备地址

<peer_addr_type>:SLE对端设备地址类型,取值范围:

  • 0:公有地址。
  • 6:随机地址。

<peer_addr_addr>:SLE对端设备地址

[tx_power]: 功率, 取值范围: -127~+20,或者127(缺省参数, 默认值为127)

示例

AT+SLESETADVPAR=1,3,200,200,0,000000000000,0,000000000000

注意

此命令需在SLE使能AT+SLEENABLE后下发。

设置SLE广播数据

设置指令

AT+SLESETADVDATA=<adv_handle>,<announce_data_len>,<seek_rsp_data_len>,<announce_data>,<seek_rsp_data>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<adv_handle>:广播句柄,取值范围[1, 0x10]

<announce_data_len>:设备公开数据长度(取值: 一个字节, 0-231, 剩余字段预留)。

<seek_rsp_data_len>:扫描响应数据长度(取值: 一个字节, 0-231, 剩余字段预留)。

<announce_data>:设备公开数据(hex类型字符串,announce_data_len个字节, 最大长度462个字符)

<seek_rsp_data>:扫描响应数据(hex类型字符串,seek_rsp_data_len个字节, 最大长度462个字符)

示例

AT+SLESETADVDATA=1,10,4,aabbccddeeff11223344,11224455

注意

此命令需在SLE使能AT+SLEENABLE后下发。

起SLE广播

设置指令

AT+SLESTARTADV=<adv_handle>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<adv_handle>:广播句柄, 取值范围[1, 0x10]

示例

AT+SLESTARTADV=1

注意

此命令需在SLE使能AT+SLEENABLE后下发。

停SLE广播

设置指令

AT+SLESTOPADV=<adv_handle>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<adv_handle>:广播句柄, 取值范围[1, 0x10],需与STARTADV命令保持一致

示例

AT+SLESTOPADV=1

注意

此命令需在SLE起广播AT+SLESTARTADV=1后下发。

设置扫描参数

设置指令

AT+SLESETSCANPAR=<scan_type>,<scan_interval>,<scan_window>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<scan_type>:扫描类型。0:被动扫描;1:主动扫描

<scan_interval>:扫描间隔。取值范围[0x14, 0xFFFF] ,单位125μs

<scan_window>:扫描窗口。取值范围[0x14, 0xFFFF] ,单位125μs

示例

AT+SLESETSCANPAR=0,0x48,0x48

注意

此命令需在SLE起扫描AT+SLESTARTSCAN前下发。

使能扫描

设置指令

AT+SLESTARTSCAN

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SLESTARTSCAN

注意

需先AT+SLEATCOMMONREGCBK, 扫描结果会在串口打印, 相同地址打印一次。

关闭扫描

设置指令

AT+SLESTOPSCAN

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SLESTOPSCAN

注意

-

设置本端名称

设置指令

AT+SLESETNAME=<len>,<name>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<len>:name长度

<name>:名字

示例

AT+SLESETNAME=7,SDKTEST

注意

-

获取本端名称

设置指令

AT+SLEGETNAME

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SLEGETNAME

注意

-

设置本端地址

设置指令

AT+SLESETADDR=<addr_type>,<addr>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<addr_type>:地址类型, 当前仅支持联盟分配地址标识-0

<addr>:地址

示例

AT+SLESETADDR=0,0x000000000001

注意

-

获取本端地址

设置指令

AT+SLEGETADDR

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SLEGETADDR

注意

-

建立SLE连接

设置指令

AT+SLECONN=<sle_addr_type>,<sle_addr>

响应

连接成功后会打印[connected]字样以及对端设备地址与handle值(即 conn_id)

  • 成功:OK
  • 失败:ERROR

参数说明

< sle_addr_type >:SLE设备地址类型

取值范围如下:

  • 0:公有地址;
  • 6:随机地址。

<sle_addr>:SLE设备地址

示例

AT+SLECONN=0,000000000000

注意

-

星闪逻辑链路更新参数

设置指令

AT+SLECONNPARUPD=<conn_id>,<interval_min>,<interval_max>,<max_latency>,<supervision_timeout>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<conn_id>:连接ID

<interval_min>:链路调度最小间隔,取值范围[0x0002, 0x7D00],单位125μs

<interval_max>:链路调度最大间隔,取值范围[0x0002, 0x7D00],单位125μs

<max_latency>:延迟周期,单位slot(该值表示在设置值的周期内可以不回复, 为0时则表示每包都需回复), 取值范围[0, 0x1F3]

<supervision_timeout>:超时时间,单位10ms, 取值范围[0xA, 0xC80]

示例

AT+SLECONNPARUPD=0,20,20,0,500

注意

参数配置需满足公式:supervision_timeout * 10 > ((1 + max_latency) * (interval_max >> 2)

星闪读取远端rssi

设置指令

AT+SLEREADPEERRSSI=<conn_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<conn_id>:连接ID

示例

AT+SLEREADPEERRSSI=0

注意

在读取远端RSSI前要执行AT+SLEREGCONNCBK

断开SLE连接

设置指令

AT+SLEDISCONN=<sle_addr_type>,<sle_addr>

响应

  • 成功:OK
  • 失败:ERROR

连接成功后会打印[disconnected]字样以及对端设备地址与handle值。

参数说明

  • < sle_addr_type >:SLE设备地址类型。

    取值范围如下:

    0:公有地址;

    6:随机地址。

  • <sle_addr>:SLE设备地址。

示例

AT+SLEDISCONN=0,000000000000

注意

-

设置SLE PHY

设置指令

AT+SLESETPHY=<conn_id>,<tx_phy>,<rx_phy>,<tx_format>,<rx_format>,<tx_pilot_density>,<rx_pilot_density>,<g_feedback>,<t_feedback>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<conn_id>:连接id

<tx_phy>:TX PHY值,取值:

  • 0:1M PHY
  • 1:2M PHY
  • 2:4M PHY

<rx_phy>:RX PHY值,取值:

  • 0:1M PHY
  • 1:2M PHY
  • 2:4M PHY

    <tx_format>取值:0~13

    <rx_format>取值:0~13

    <tx_pilot_density>取值:0~3

    <rx_pilot_density>取值:0~3

    <g_feedback>取值:0~63

    <t_feedback>取值:0~7

示例

AT+SLESETPHY=0,1,1,0,0,2,2,0,0

注意

tx_ph与rx_phy取值范围:0~0xFF, 其余字段为保留字段, 下发后不生效

设置SLE 默认连接参数

设置指令

AT+SLESETDEFAULTCONNP=<enable_filter_policy>,<initiate_phys>,<gt_negotiate>,<scan_interval>,<scan_window>,<max_interval>,<min_interval>,<timeout>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <enable_filter_policy>:是否打开链路过滤
  • <initiate_phys>:链路扫描带宽

    1:1M PHY

    2:2M PHY

  • <gt_negotiate>:链路建立时是否进行G和T交互
  • <scan_interval>:扫描对端设备的interval

    最小值:0x14

    最大值:0xFFFF

  • <scan_window>:扫描对端设备的windows

    最小值:0x14

    最大值:传入的<scan_interval>

  • <max_interval>:链路最大调度interval

    最小值:0x10

    最大值:0x7D00

  • <min_interval>:链路最小调度interval

    最小值:0x10

    最大值:0x7D00

  • <timeout>:链路超时时间(N×10ms)

    最小值:0xA

    最大值:0xC80

示例

AT+SLESETDEFAULTCONNP=0,1,0x1,0x20,0x20,0x64,0x64,0x1FC

注意

-

设置SLE连接mcs传输特性

设置指令

AT+SLESETMCS =<conn_id>,<mcs>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<conn_id>:SLE连接id(AT+SLECONN指令执行成功以后,返回的回调里面打印)

<mcs>:conn_id对应的连接的传输方式

  • 最小值:0;
  • 最大值:12;

示例

AT+SLESETMCS=0,6

注意

-

进行加密配对

设置指令

AT+SLEPAIR=<sle_addr_type>,<sle_addr>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

< sle_addr_type >:SLE设备地址类型

取值范围如下:

  • 0:公有地址;
  • 6:随机地址。

<sle_addr>:SLE设备地址

示例

AT+SLEPAIR=0,000000000000

注意

需在sle建立连接以后,和对端启动加密配对。

移除加密配对

设置指令

AT+SLEUNPAIR=<sle_addr_type>,<sle_addr>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

< sle_addr_type >:SLE设备地址类型

取值范围如下:

  • 0:公有地址;
  • 6:随机地址。

<sle_addr>:SLE设备地址

示例

AT+SLEUNPAIR=0,000000000000

注意

-

获取配对设备数目

设置指令

AT+SLEGETPAIREDNUM

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SLEGETPAIREDNUM

注意

-

获取配对设备

设置指令

AT+SLEGETPAIRDEV

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SLEGETPAIRDEV

注意

-

获取设备配对状态

设置指令

AT+SLEGETPAIRSTA=<sle_addr_type>,<sle_addr>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

< sle_addr_type >:SLE设备地址类型

取值范围如下:

  • 0:公有地址;
  • 6:随机地址。

<sle_addr>:SLE设备地址

示例

AT+SLEGETPAIRSTA=0,000000000000

注意

-

获取绑定设备

设置指令

AT+SLEGETBONDDEV

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SLEGETBONDDEV

注意

-

注册服务端

设置指令

AT+SSAPSADDSRV=<uuid>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SSAPSADDSRV=0x1234

注意

-

添加服务同步

设置指令

AT+SSAPSSYNCADDSERV=<uuid>,<is_primary>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SSAPSSYNCADDSERV=0x2222,1

注意

-

添加属性同步

设置指令

AT+SSAPSSYNCADDPROPERTY=<service_handle>,<uuid>,<permissions>,<operate_indication>,<value_len>,<value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<service_handle>:服务的handle

<uuid>:SSAP 特征 UUID

<permissions>:特征权限

  • 0x01: 可读
  • 0x02: 可写
  • 0x04: 需要加密
  • 0x08: 需要认证
  • 0x10: 需要授权

注: 多个权限类型使用'|'后的值, 如可读可写需要授权为, 0x01|0x02|0x08 值为0x0B

<operate_indication>:操作指示

  • 0x01: 数据值可被读取
  • 0x02: 数据值可被写入,写入后无反馈
  • 0x04: 数据值可被写入,写入后产生反馈给客户端
  • 0x08: 数据值通过通知方式传递给客户端
  • 0x10: 数据值通过指示方式传递给客户端
  • 0x20: 数据值可携带在广播中
  • 0x100: 数据值说明描述符可被写入

    注: 多个权限类型使用'|'后的值, 如可读可写需要授权为, 0x01|0x02 值为0x03

<value_len>:响应的数据长度

<value>:响应的数据

示例

AT+SSAPSSYNCADDPROPERTY=1,0x2323,5,5,2,0x1234

注意

互联互通合入之后的版本,服务handle从16开始,命令可使用AT+SSAPSSYNCADDPROPERTY=16,0x2323,5,5,2,0x1234-

添加属性描述符同步

设置指令

AT+SSAPSSYNCADDDESCR=<service_handle>,<property_handle>,<uuid>,<permissions>,<operate_indication>,<type>,<value_len>,<value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<service_handle>:服务handle

<property_handle>:属性handle

<uuid>:SSAP 描述符 UUID

<permissions>:特征权限

  • 0x01: 可读
  • 0x02: 可写
  • 0x04: 需要加密
  • 0x08: 需要认证
  • 0x10: 需要授权

注: 多个权限类型使用'|'后的值, 如可读可写需要授权为, 0x01|0x02|0x08 值为0x0B

<operate_indication>:操作指示

  • 0x01: 数据值可被读取
  • 0x02: 数据值可被写入,写入后无反馈
  • 0x04: 数据值可被写入,写入后产生反馈给客户端
  • 0x08: 数据值通过通知方式传递给客户端
  • 0x10: 数据值通过指示方式传递给客户端
  • 0x20: 数据值可携带在广播中
  • 0x100: 数据值说明描述符可被写入

    注: 多个权限类型使用'|'后的值, 如可读可写需要授权为, 0x01|0x02 值为0x03

<type>:描述符类型

<value_len>:数据长度

<value>:数据

示例

AT+SSAPSSYNCADDDESCR=1,2,0x3333,5,5,2,2,0x0200

注意

互联互通合入之后的版本,服务handle从16开始,命令可以使用AT+SSAPSSYNCADDDESCR=16,17,0x3333,5,5,2,2,0x0200

服务端向客户端发送通知

设置指令

AT+SSAPSSNDNTFY=<conn_id>,<handle>,<type>,<value_len>,<value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<conn_id>:连接完成后打印的conn_id

<handle>:属性handle

<type>:SSAP 特征类型

  • 0:特征值;
  • 1:属性说明描述符
  • 2:客户端配置描述符
  • 3:服务端配置描述符
  • 4:格式描述符
  • 5:服务管理保留描述符,0x05–0x1F
  • 0xFF:厂商自定义描述符

<value_len>:数据长度

<value>:数据

示例

AT+SSAPSSNDNTFY=0,2,0,2,0x0200

注意

conn_id在连接完成后的回显中会打印,默认第一条连接为0,第二条连接为1,依次类推。

服务端向客户端通过uuid发送通知

设置指令

AT+SSAPSNTFYBYUUID=<conn_id>,<uuid>,<start_hdl>,<end_hdl>,<type>,<value_len>,<value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<conn_id>:连接完成后打印的conn_id

<uuid>:属性uuid

<start_hdl>:开始句柄

<end_hdl>:结束句柄

<type>:SSAP 特征类型

  • 0:特征值
  • 1:属性说明描述符
  • 2:客户端配置描述符0
  • 3:服务端配置描述符
  • 4:格式描述符
  • 5:服务管理保留描述符,0x05–0x1F
  • 0xFF:厂商自定义描述符

<value_len>:数据长度

<value>:数据

示例

AT+SSAPSNTFYBYUUID=0,0x1234,0,0xFFFF,0,2,0x0200

注意

conn_id在连接完成后的回显中会打印,默认第一条连接为0,第二条连接为1,依次类推。

服务端发送响应

设置指令

AT+SSAPSSNDRESP=<conn_id>,<request_id>,<status>,<value_len>,<value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<conn_id>:连接完成后打印的conn_id

<request_id>:请求id

<status>:发送响应原因

<value_len>:数据长度

<value>:数据

示例

AT+SSAPSSNDRESP=0,0,0,2,0x0200

注意

conn_id在连接完成后的回显中会打印,默认第一条连接为0,第二条连接为1,依次类推。

服务端注册回调

设置指令

AT+SSAPSREGCBK

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SSAPSREGCBK

注意

-

start service

设置指令

AT+SSAPSSTARTSERV=<service_handle>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<service_handle>:服务handle

示例

AT+SSAPSSTARTSERV=1

注意

-

注册SSAPC回调函数

设置指令

AT+SSAPCREGCBK

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+SSAPCREGCBK

注意

-

发现service

设置指令

AT+SSAPCFNDSTRU=<client_id>,<conn_id>,<type>,[uuid],<start_hdl>,<end_hdl>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <client_id>:客户端id
  • <conn_id>:连接id
  • <type>:查找类型

    1:首要服务

    3:属性

  • <uuid>: 缺省参数, 默认为0, 输入任意UUID查询所有服务
  • <start_hdl>: service的handle
  • <end_hdl>: 对应的PROPERTY与DESCR的最大handle

示例

AT+SSAPCFNDSTRU=0,0,1,0,0,0xff

注意

发送服务发现指令时需要指定对应service或者PROPERTY的UUID,回调中会打印对应的UUID与hdl或传0会打印所有service的信息。

通过句柄发现service

设置指令

AT+SSAPCFNDSTRUBYHDL=<client_id>,<conn_id>,<type>,<start_hdl>,<end_hdl>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <client_id>:客户端id
  • <conn_id>:连接id
  • <type>:查找类型,取值如下:

    1:首要服务。

    3:属性。

  • <start_hdl>:查找的服务起始句柄
  • <end_hdl>:查找的服务结束句柄

示例

AT+SSAPCFNDSTRUBYHDL=0,0,1,0,0xff

注意

-

查找类型字段说明:

typedef enum {
SSAP_FIND_TYPE_SERVICE_STRUCTURE = 0x00,     /*服务结构*/
SSAP_FIND_TYPE_PRIMARY_SERVICE   = 0x01,   /*首要服务*/
SSAP_FIND_TYPE_REFERENCE_SERVICE = 0x02,      /*引用服务*/
SSAP_FIND_TYPE_PROPERTY          = 0x03,       /*属性*/
SSAP_FIND_TYPE_METHOD            = 0x04,       /*方法*/
SSAP_FIND_TYPE_EVENT             = 0x05,        /*事件*/
} ssap_find_type_t;

客户端向服务端写入数据

设置指令

AT+SSAPCWRITECMD=<client_id>,<conn_id>,<handle>,<type>,<len>,<write_data>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<client_id>:客户端id

<conn_id>:连接id

<handle>:属性句柄(property handle)

<type>:属性类型,取值(0-0xFF)传0时修改property的值, 传2时修改CCCD的值,剩余值不做校验.

<len>:写入数据长度

<write_data>:写入数据段

示例

AT+SSAPCWRITECMD=0,0,2,0,2,0x8899

注意

-

客户端向服务端发送写请求

设置指令

AT+SSAPCWRITEREQ=<client_id>,<conn_id>,<handle>,<type>,<len>,<write_data>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<client_id>:客户端id

<conn_id>:连接id

<handle>:属性handle,(property handle)

<type>:属性类型, 取值(0-0xFF)传0时修改property的值, 传2时修改CCCD的值,剩余值不做校验.

<len>:写入数据长度

<write_data>:写入数据段

示例

AT+SSAPCWRITEREQ=0,0,2,0,2,0x8899

注意

-

设置服务端信息

设置指令

AT+SSAPSSETINFO=<mtu_size>,<version>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <mtu_size>:ssap通道mtu。

    最小值:251

    最大值:1500

  • <version>:版本号(预留字段

示例

AT+SSAPSSETINFO=251,1

注意

-

设置客户端信息

设置指令

AT+SSAPCEXCHINFO=<client_id>,<conn_id>,<mtu_size>,<version>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <client_id>:客户端id
  • <conn_id>:连接id
  • <mtu_size>:ssap通道mtu。

    最小值:251

    最大值:1500

  • <version>:版本号预留字段

示例

AT+SSAPCEXCHINFO=0,0,251,1

注意

-

客户端通过uuid发送读请求

设置指令

AT+SSAPCREADBYUUID=<client_id>,<conn_id>,<uuid>,<type>,<start_hdl>,<end_hdl>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<client_id>:客户端id

<conn_id>:连接id

<uuid>:uuid

<type>:客户端类型, 取值:0/1/3

<start_hdl>:开始handle

<end_hdl >:结束handle

示例

AT+SSAPCREADBYUUID=0,0,0x1234,0,0,0xFFFF

注意

handle可根据发现服务的回显设置

客户端读取服务端属性数据

设置指令

AT+SSAPCREADREQ=<client_id>,<conn_id>,<handle>,<type>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<client_id>:客户端id预留参数

<conn_id>:连接id

<handle>:property handle服务发现的回显会打印

<type>:客户端类型,取值:0/1/3

示例

AT+SSAPCREADREQ=0,0,2,0

注意

读数据时的handle需与写入数据时的handle一致

表 1 设备外观值一览表

设备外观

说明

BLE_APPEARANCE_UNKNOWN

0

None

BLE_APPEARANCE_GENERIC_PHONE

64

Generic category

BLE_APPEARANCE_GENERIC_COMPUTER

128

Generic category

BLE_APPEARANCE_GENERIC_WATCH

192

Generic category

BLE_APPEARANCE_WATCH_SPORTS_WATCH

193

Watch subtype

BLE_APPEARANCE_GENERIC_CLOCK

256

Generic category

BLE_APPEARANCE_GENERIC_DISPLAY

320

Generic category

BLE_APPEARANCE_GENERIC_REMOTE_CONTROL

384

Generic category

BLE_APPEARANCE_GENERIC_EYE_GLASSES

448

Generic category

BLE_APPEARANCE_GENERIC_TAG

512

Generic category

BLE_APPEARANCE_GENERIC_KEYRING

576

Generic category

BLE_APPEARANCE_GENERIC_MEDIA_PLAYER

640

Generic category

BLE_APPEARANCE_GENERIC_BARCODE_SCANNER

704

Generic category

BLE_APPEARANCE_GENERIC_THERMOMETER

768

Generic category

BLE_APPEARANCE_THERMOMETER_EAR

769

Thermometer subtype

BLE_APPEARANCE_GENERIC_HEART_RATE_SENSOR

832

Generic category

BLE_APPEARANCE_HEART_RATE_SENSOR_HEART_RATE_BELT

833

Heart Rate Sensor subtype

BLE_APPEARANCE_GENERIC_BLOOD_PRESSURE

896

Generic category

BLE_APPEARANCE_BLOOD_PRESSURE_ARM

897

Blood Pressure subtype

BLE_APPEARANCE_BLOOD_PRESSURE_WRIST

898

Blood Pressure subtype

BLE_APPEARANCE_HUMAN_INTERFACE_DEVICE_HID

960

HID Generic

BLE_APPEARANCE_KEYBOARD

961

HID subtype

BLE_APPEARANCE_MOUSE

962

HID subtype

BLE_APPEARANCE_JOYSTICK

963

HID subtype

BLE_APPEARANCE_GAMEPAD

964

HID subtype

BLE_APPEARANCE_DIGITIZER_TABLET

965

HID subtype

BLE_APPEARANCE_CARD_READER

966

HID subtype

BLE_APPEARANCE_DIGITAL_PEN

967

HID subtype

BLE_APPEARANCE_BARCODE_SCANNER

968

HID subtype

BLE_APPEARANCE_GENERIC_GLUCOSE_METER

1024

Generic category

BLE_APPEARANCE_GENERIC_RUNNING_WALKING_SENSOR

1088

Generic category

BLE_APPEARANCE_RUNNING_WALKING_SENSOR_IN_SHOE

1089

Running Walking Sensor subtype

BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_SHOE

1090

Running Walking Sensor subtype

BLE_APPEARANCE_RUNNING_WALKING_SENSOR_ON_HIP

1091

Running Walking Sensor subtype

BLE_APPEARANCE_GENERIC_CYCLING

1152

Generic category

BLE_APPEARANCE_CYCLING_CYCLING_COMPUTER

1153

Cycling subtype

BLE_APPEARANCE_CYCLING_SPEED_SENSOR

1154

Cycling subtype

BLE_APPEARANCE_CYCLING_CADENCE_SENSOR

1155

Cycling subtype

BLE_APPEARANCE_CYCLING_POWER_SENSOR

1156

Cycling subtype

BLE_APPEARANCE_CYCLING_SPEED_AND_CADENCE_SENSOR

1157

Cycling subtype

BLE_APPEARANCE_INVALID

65536

out of uint16_t

SLE AT命令使用场景示例

以下演示了使用AT命令快速进行构建SLE server和SLE client,扫描、连接、数传等操作,各个命令含义可以在该文档中查找到。

SLE server端:

AT+SLEENABLE
AT+SSAPSREGCBK
AT+SLEATCOMMONREGCBK
AT+SLEREGCONNCBK
AT+SLESETADDR=0,0x000000000063
AT+SLESETADVPAR=1,3,0x400,0x400,0,000000000063,0,000000000000
AT+SLESETADVDATA=1,10,4,aabbccddeeff11223344,11224455
AT+SLESTARTADV=1  # 开始广播
AT+SSAPSADDSRV=0x1234
AT+SSAPSSYNCADDSERV=0x2223,1
AT+SSAPSSYNCADDPROPERTY=16,0x2224,0x03,0x08,6,0x112233445566
AT+SSAPSSYNCADDDESCR=16,17,0xa90a,0x03,0x13,2,2,0x0100
AT+SSAPSSTARTSERV=16

SLE client端:

AT+SLEENABLE
AT+SLEATCOMMONREGCBK
AT+SLEREGCONNCBK
AT+SSAPCREGCBK
AT+SLESETADDR=0,0x999999990115
AT+SLECONN=0,0x000000000063  # 发起连接
AT+SLEPAIR=0,0x000000000063  # 发起配对
AT+SSAPCWRITECMD=0,0,0x11,0,7,0x123456789abcde  # 发送写命令
AT+SSAPCREADREQ=0,0,0x11,0  # 发送读请求
AT+SSAPCWRITEREQ=0,0,0x11,0,2,0x7890  # 发送写请求
AT+SSAPCFNDSTRU=0,0,0x1,0,0,0xff
AT+SLESETSCANPAR=1,0x48,0x48
AT+SLESTARTSCAN
AT+SLESTOPSCAN

雷达模块AT命令

设置雷达状态

设置指令

AT+RADARSETST=<status>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<status>:雷达状态。

0:stop

1:start

2:reset

3:resume

示例

AT+RADARSETST=1启动雷达,AT+RADARSETST=0停止雷达。

注意

启动雷达之前,需启动STA或SoftAp,STA处于关联或断开连接状态均可使用。

查询雷达状态

设置指令

AT+RADARGETST

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+RADARGETST

注意

  • 返回雷达当前状态:

    0:idle;

    1:running。

  • 执行AT+RADARSETST=1命令后,查询状态应为1,否则雷达功能异常。

设置雷达退出延时

设置指令

AT+RADARSETDLY=<dly_time>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<dly_time>:雷达有目标到无目标状态退出时间:范围:1~43200,单位:s。

示例

AT+RADARSETDLY=20 设置雷达有目标到无目标状态退出时间为20s。

注意

从有目标状态切换到无目标状态后,感知指示灯灭。

查询雷达退出延时

设置指令

AT+RADARGETDLY

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+RADARGETDLY

注意

返回雷达当前有目标到无目标状态退出时间。

查询雷达天线隔离度信息

设置指令

AT+RADARGETISO

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+RADARGETISO

注意

返回雷达当前所使用信道条件下的天线隔离度信息。

设置雷达维测参数

设置指令

AT+RADARSETPARA=<times>,<loop>,<ant>,<wave>,<dbg_type>,<period>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<times>:雷达子帧发送次数,

0:无限次,雷达开启后一直发送,直到雷达关闭,

1~20:1次~20次,用于调试。

<loop>:单个子帧雷达波形循环发送次数,默认设置为8。

<ant>:接收通路选择,默认设置为0。

<wave>:雷达发射波形类型选择,默认设置为2。

<dbg_type>:维测信息输出选择,范围0~4,

0:UART0只输出基础流程日志,UART1无输出;

1:UART0输出基础流程日志+单帧基础检测结果,UART1输出脉压后原始数据+单帧维测结果;

2:UART0输出基础流程日志+单帧基础检测结果,UART1输出ADC原始数据+单帧维测结果(<period>需调至15000以上);

3:UART0输出基础流程日志+单帧基础检测结果,UART1输出单帧维测结果;

4:UART0输出基础流程日志+单帧基础检测结果+单帧维测结果,UART1无输出。

<period>:雷达子帧间隔,单位μs,范围3000~100000,默认设置为5000,调试中可设置更大值。

示例

AT+RADARSETPARA=0,8,0,2,0,5000

注意

设置雷达算法参数套选择

设置指令

AT+RADARLAGCTRL=<height>,<material>,<scenario>,<fusion_track>,<fusion_ai>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<height>:模组安装位置架高信息,范围0~2。

  • 0:安装架高为0~1.5米;
  • 1:安装架高为1.5~2.5米;
  • 2:安装架高为2.5~3.5米。

<material>:模组天线前方或周围覆盖的材料信息,范围0~1。

  • 0:塑料,或其他对天线影响不大的材料;
  • 1:金属,PCB,显示面板等,对天线影响较大的材料。

<scenario>:模组使用环境,范围0~1。

  • 0:家居环境,或其他空间类似家居等环境30㎡以下,层高3米以下
  • 1:空旷环境,30㎡以上,层高3米以上。
<fusion_track>:是否开启距离跟踪算法,默认开启,范围0~1。
  • 0:不开启;
  • 1:开启。

<fusion_ai>:是否开启AI人体识别算法(可对抗风吹动的窗帘、绿植,摇头的扇叶为塑料材质的风扇),默认开启,范围0~1。

  • 0:不开启;
  • 1:开启。

示例

AT+RADARALGCTRL=1,0,0,1,1

注意

前三个参数设置,再加上当前wifi是ap还是sta模式,在固件中可以映射到16套参数。

需按照协议范围设置,超出后会导致设置不成功,从而选择默认参数套。

设置对应雷达算法参数套下的算法参数值

设置指令

AT+RADARALGPARA=<d_th_1m>,<d_th_2m>,<p_th>,<t_th_1m>,<t_th_2m>,<b_th_ratio>,<b_th_cnt>,<a_th>,<write_to_flash>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<d_th_1m>:靠近1米档检测门限,单位dB,范围0~99。

<d_th_2m>:靠近2米档检测门限,单位dB,范围0~99。

<p_th>:存在6米档位检测门限,单位dB,范围0~99。

<t_th_1m>:距离跟踪1米档位检测门限,单位分米,范围0~30。

<t_th_2m>:距离跟踪2米档位检测门限,单位分米,范围0~30。

<b_th_ratio>:抗频谱对称干扰百分比门限,范围0~99。

<b_th_cnt>:抗频谱对称干扰数量门限,范围0~99。

<a_th>:AI人体识别相似度门限,范围0~99。

<write_to_flash>: 是否写入flash, 1为写入flash, 范围0~1。

示例

AT+RADARALGPARA=38,28,30,10,20,50,15,70,0

注意

需按照协议范围设置,超出后会导致设置不成功,从而使用默认参数。

平台模块AT命令

读取NV项

设置指令

AT+NVREAD=<key_id>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <key_id>:需要读取的NV项的ID

示例

AT+NVREAD=0x3 //读取ID为0x3的NV项

NV[0x3] is permanent //该NV项持有永久属性,无法通过命令或者接口修改NV值

NV[0x3] is non_upgrade //该NV项持有不可升级属性,无法通过OTA修改NV值

nv_value[0] = [0x1] //该NV项长度为一个字节,第一个字节值为1

OK

注意

-

修改NV项

设置指令

AT+NVWRITE=<key_id>,<attr>,<length>,<value>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<key_id>:需要修改的NV项的ID

<attr>:需要修改的属性值,

  • 0:普通NV
  • 1:永久NV,不可修改/升级
  • 4:不可升级NV,可修改,不可OTA升级

<length>:需要修改的值的长度,对于非加密NV项,支持最大值为4060;加密NV项为4048

<value>:需要修改的值,每两个字符识别为一个字节

示例

AT+NVWRITE=0x5,0,6,010203040506 将ID为0x5的NV项的值修改为[1,2,3,4,5,6]

nv_value[0] = [0x1]

nv_value[1] = [0x2]

nv_value[2] = [0x3]

nv_value[3] = [0x4]

nv_value[4] = [0x5]

nv_value[5] = [0x6]

OK

注意

  • value输入时不要加'0x'头,不然会影响对length的判断

写入efuse mac

设置指令

AT+EFUSEMAC=<mac_addr>,<type>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<mac_addr>:需要设置的mac_addr,全0,全1,组播地址会自动返错,设置失败

<type>:设置mac地址的类型,

  • 0:写入wifi mac地址
  • 1:写入nv mac
  • 2:写入sle mac地址

示例

AT+EFUSEMAC=00:22:33:44:55:cc,0 写入wifi mac地址,最多可写四次,软件使用最后一次写入值

OK

AT+EFUSEMAC=00:22:33:44:55:44,2 写入sle mac地址,只能写入一次

OK

注意

-

读取efuse mac

设置指令

AT+EFUSEMAC?

响应

  • 成功:OK
  • 失败:ERROR

参数说明

示例

AT+EFUSEMAC?

+EFUSEMAC: NV MAC 00:00:00:00:**:** // 打印NV存储的mac地址

+EFUSEMAC: EFUSE MAC 00:22:33:44:**:** // 打印写入efuse中的wifi mac地址(打印最后一次写入的地址)

+EFUSEMAC: Efuse mac chance(s) left: 0 times. // 提示efuse中wifi的mac地址还能写几次(最多写四次)

+EFUSEMAC: EFUSE SLE MAC 00:22:33:44:**:** // 打印efuse中保存的sle mac地址

+EFUSEMAC: NV SLE MAC 00:00:00:00:**:**

OK

注意

-

写入用户预留位

设置指令

AT+CUSTOMEFUSE=<efuse_data>[,<force>]

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <efuse_data>:0x0123456789abcdef2546565487341248,0x开头的128bit 16进制数,高位与efuse高位对应
  • <force>:该参数为可选参数;表示是否强制写入,当设置为强制写入时,忽略要写入bit位的状态,efuse_data中为1的bit会确保为1,为0的bit不会被写入efuse

    0:不强制写

    1:强制写入

示例

按以下流程依次将最低位和次低位写1:

  1. AT+CUSTOMEFUSE=0x00000000000000000000000000000001

    OK

    该命令可以把最低bit位写为1,需要将最低位配置为1,其他不需要写入的bit位配置为0

  2. AT+CUSTOMEFUSE=0x00000000000000000000000000000002

    ERROR

    由于整个客户预留位已有最低位被写入,因此不能继续写入

  3. AT+CUSTOMEFUSE=0x00000000000000000000000000000002,1

    OK

    配置第二个参数为1后,可再次写入客户预留位。该命令执行完后,结合第一条命令,此时最低位和次低位都写为1,需要注意,因此查询整个客户预留位结果为0x00000000000000000000000000000003

注意

-efuse_data数据位宽必须为128bit,为0的数据位不可省略,该命令只在产测版本可使用。

写入eduse_data时需注意,要写入的bit位写1,不需要写入的bit位写0。

写入的bit位不能与之前已写入的bit位有重叠。

由于efuse只能将bit位从0写为1,不能从1写为0,本命令也有同样的约束。

查询用户预留位

设置指令

AT+CUSTOMEFUSE?

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+CUSTOMEFUSE?

RESERVED EFUSE:0x1032547698badcfeefcdab8967452301

OK

注意

该命令只在产测版本可使用。

打印版本号

设置指令

AT+CSV

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+CSV

SDK Version:1.10.T0

OK

注意

-

打印死机信息

设置指令

AT+DUMP

响应

  • 成功:OK
  • 失败:无死机信息打印

参数说明

-

示例

AT+dump

No crash dump found!

OK

打印死机信息

APP|--------------Last Crash info dump--------------

APP|task:at

thrdPid:0xb

type:0x7

nestCnt:1

phase:Task

ccause:0x1

mcause:0x7

mtval:0x0

......

注意

仅保存最后一次死机信息,且只打印一次,可导出后再通过脚本解析

设置打印等级

设置指令

AT+LOGL=<level>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <level>:0:debug级别,1:warn级别,2:error级别

示例

AT+LOGL=1 //设置打印等级

+LOGL:1

OK

AT+LOGL //查询打印等级

+LOGL:1

OK

注意

  • 无参数时为查询打印等级
  • 产测版本不支持
  • 该命令供客户使用,且仅对以下打印接口生效:

    dfx_print_info,dfx_print_warn,dfx_print_error,dfx_print

设置IO工作模式

设置指令

AT+SETIOMODE=<GPIO ID>,<MODE>,<PULL>,<DS>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <GPIO ID>:0~18
  • <MODE>:0~7,IO管脚复用模式,各管脚支持的复用模式不同,请参考《芯片 用户指南》
  • <PULL>:0~3,引脚上下拉状态:

    0:去使能;

    1:下拉;

    2:强上拉;

    3:上拉。

  • <DS>:0~7,引脚驱动能力,7到0,驱动能力依次减弱

示例

AT+SETIOMODE=1,2,3,4

+SETIOMODE:<GPIO ID>,<MODE>,<PULL>,<DS>

OK

注意

  

查询IO工作模式

设置指令

AT+GETIOMODE=<GPIO ID>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ID>:0~18

示例

AT+GETIOMODE=1

+GETIOMODE:<GPIO ID>,<MODE>,<PULL>,<DS>

OK

  • <MODE>:0~7,IO管脚复用模式,各管脚支持的复用模式不同,请参考《芯片 用户指南》
  • <PULL>:0~3,引脚上下拉状态:

    0:去使能;

    1:下拉;

    2:强上拉;

    3:上拉。

  • <DS>:0~7,引脚驱动能力,7到0,驱动能力依次减弱。

注意

-

设置GPIO工作为输入或输出

设置指令

AT+GPIODIR=<GPIO ID>,<DIR>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <GPIO ID>:0~18
  • <DIR>:0:输入,1:输出

示例

AT+GPIODIR=2,1

+GPIODIR:<GPIO ID>,<DIR>

OK

注意

当查询的ID对应管脚不为GPIO复用状态时会返错

设置GPIO的电平状态

设置指令

AT+WTGPIO=<GPIO ID>,<LEVEL>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <GPIO ID>:0~18
  • <LEVEL>:0:低电平,1:高电平

示例

AT+WTGPIO=3,1

+WRGPIO:<GPIO ID>,<DIR>,<LEVEL>

OK

  • <DIR>:0:输入,1:输出

注意

当查询的ID对应管脚不为输出模式时会返错

读取GPIO的电平状态

设置指令

AT+RDGPIO=<GPIO ID>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <ID>:0~18

示例

AT+RDGPIO=2

+RDGPIO:<GPIO ID>,<DIR>,<LEVEL>

OK

  • <DIR>:

    0:输入

    1:输出

  • <LEVEL>:

    0:低电平

    1:高电平

注意

-

写入第二个用户预留位

须知: 该写入为不可逆操作,写入的EFUSE位为复用安全启动中根公钥HASH的EFUSE区域,写入该区域后,将无法使用安全启动功能。

设置指令

AT+CUSTOMEFUSEREUSEFAPC=<efuse_data>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

  • <efuse_data>:0x0123456789abcdef2546565487341248,0x开头的128bit 16进制数,高位与EFUSE高位对应

示例

AT+CUSTOMEFUSEREUSEFAPC=0x0123456789abcdef2546565487341248

OK

注意

-efuse_data数据位宽必须为128bit,高位为0时不可省略,该命令只在产测版本可使用。

-该命令最多可执行成功两次,第二次写入时为在第一次写入内容的尾部追加写入,非覆盖。

查询第二个用户预留位

设置指令

AT+CUSTOMEFUSEREUSEFAPC?

响应

  • 成功:OK
  • 失败:ERROR

参数说明

-

示例

AT+CUSTOMEFUSEREUSEFAPC?

RESERVED2 EFUSE:0x1032547698badcfeefcdab8967452301

OK

注意

-该命令只在产测版本可使用。

-该命令优先读取第二组128bit数据,读取为空后(全0)会读取第一组数据,第一组数据也为空时,返回全0数据。

AT+SETUART 配置串口功能

设置指令

AT+SETUART=<debug_uart>,<at_uart>,<hso_uart>

响应

  • 成功:OK
  • 失败:ERROR

参数说明

<debug_uart>:debug打印串口,取值范围:0~2,默认值为0

<at_uart>:AT命令串口,取值范围:0~2,默认值为0

<hso_uart>:HSO通信串口,取值范围:0~2,默认值为1

三个UART取值0、1、2对应的串口如下:

0:UART 0

1:UART 1

2:UART 2

示例

AT+SETUART=0,0,1

OK

AT+SETUART=0,1,2

OK

注意

  • HSO必须独占一个串口。
  • 该命令配置在单板重启后才能生效。
  • 该命令在产测版本不支持,产测版本仅有打印。