前言¶
本文介绍WS63V100的AT指令式及场景,为用户提供相应的指令格式和参数示例解释。
与本文档相对应的产品版本如下。
本文档主要适用于以下工程师:
技术支持工程师
软件开发工程师
在本文中可能出现下列标志,它们所代表的含义如下。
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
新增“雷达模块AT命令”小节内容。 |
||
指令说明¶
命令简介¶
AT命令用于TE(例如:PC等用户终端)和MT(例如:移动台等移动终端)之间控制信息的交互,如图1所示。

指令类型¶
AT指令类型如表1所示。
表 1 AT指令类型说明
注意事项¶
不是每一条指令都具备表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所示。
Wi-Fi模块AT指令¶
通用AT指令¶
通用AT指令一览表¶
通用AT指令描述¶
AT+HELP 查看当前可用AT命令¶
AT+MAC MAC地址管理¶
|
|
|
设置命令在AT+STARTSTA/AT+STARTAP前下发有效。该mac地址重启之后丢失,设置的地址为sta mac地址,softAP mac地址会在此地址的基础上将倒数第二个字节加2派生。 |
||
AT+IPERF 性能测试¶
AT+SYSINFO 查看系统信息¶
|
显示SDK版本号和系统当前所有任务详细信息,如任务ID、优先级、栈内存大小、调度状态等。
|
|
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 发送任意帧¶
|
|
以下已关联状态的STA发送RST帧为例,其他类型报文请自行参考报文结构构造: AT+SENDPKT=0,B4010000D45D64A4CCD05CED93A10503 【2,3】位:01,表示报文的Frame Control Flag字段; |
|
AT+HEAPSTAT 打印堆使用情况¶
AT+TASKSTACK 打印每个任务栈使用情况¶
AT+TASKMALLOC 打印每个任务内存申请情况¶
STA相关AT指令¶
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连接状态¶
+STASTAT: <status>,<ssid>, <bssid >,<chn>,<rssi>
|
|
|
AT+PIN PIN连接¶
|
|
AT+PINSHOW 生成PIN码¶
|
|
|
SoftAP相关AT指令¶
SoftAP相关AT指令一览表¶
SoftAP相关AT指令描述¶
AT+STARTAP 普通模式启动SoftAP¶
AT+SETAPADV 配置SoftAP启动参数¶
AT+STOPAP 停止SoftAP¶
|
|
AT+SHOWSTA 显示当前连接的STA信息¶
+SHOWSTA:<STA_MAC>, rssi: <RSSI>,rate<RATE>
|
|
|
|
AT+DEAUTHSTA 断开STA连接¶
|
|
AT+APSCAN softap扫描¶
|
|
|
AT+APSCANRESULT softap查看扫描结果¶
TCP/IP相关AT指令¶
TCP/IP相关AT指令一览表¶
TCP/IP相关AT指令描述¶
AT+IPSTART 创建socket,TCP协议发起连接¶
AT+IPSEND 发送TCP/UDP数据¶
|
||
|
||
|
||
AT+IPLISTEN 启动TCP监听¶
|
|
|
|
AT+IPCLOSE 关闭连接¶
|
|
+IPD 接收网络数据¶
测试调试相关AT指令¶
测试调试相关AT指令一览表¶
测试调试相关AT指令描述¶
AT+ALTX 设置常发功能¶
|
|
|
AT+ALRX 设置常收功能¶
|
|
|
|
|
|
|
AT+RXINFO 查询常收¶
AT+CALTONE 设置单音功能¶
|
|
|
|
AT+CC设置/查看国家码¶
|
|
|
|
AT+SETRPWR设置功率¶
|
|
使用场景示例¶
启动/停止SoftAP¶
|
AT+STARTAP="XXX",6,2,"123456789" AT+IFCFG=ap0,192.168.3.1,netmask,255.255.255.0,gateway,192.168.3.1 |
注意:设置MAC地址命令可选,如果不设置则使用随机MAC;设置的MAC地址为STA的地址,SoftAP的地址为STA的地址+1。 |
启动/停止STA¶
注意:设置MAC地址命令可选,如果不设置则使用随机MAC;设置的MAC地址为STA的地址,SoftAP的地址为STA的地址+1。 |
吞吐量测试¶
|
#UDP测试,192.168.3.1为对端iperf server IP地址 AT+IPERF=-c,192.168.3.1,-u,-b,100M,-t,30,-i,1 |
RF 测试¶
RF常发测试¶
RF常收测试¶
BLE&SLE模块AT指令¶
BLE¶
BLE AT指令一览表¶
gap模块AT命令¶
gatts模块AT命令¶
gattc模块AT命令¶
BLE AT指令描述¶
gap模块AT命令¶
AT+BLEENABLE 使能ble协议栈¶
AT+BLEDISABLE 关闭ble协议栈¶
AT+BLESETADDR 设置本地设备地址¶
|
|
|
AT+BLEGETADDR 获取本地设备地址¶
|
|
AT+BLESETNAME 设置本地设备名称¶
|
|
|
|
AT+BLEGETNAME 获取本地设备名称¶
|
|
AT+BLESETAPPEARANCE 设置本地设备外观¶
|
|
参数值应为规定值,示例中961为键盘的外观值,962为鼠标的外观, 在手机蓝牙列表中搜索到该设备时会显示键盘/鼠标图标。 |
AT+BLESETADVDATA 设置BLE广播数据¶
AT+BLESETADVPAR 设置广播数据参数¶
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+BLESETFEATURE设置BLE特性¶
|
|
|
|
AT+BLECONN 与BLE设备连接¶
|
|
|
|
|
AT+BLECONNCANCEL取消异步连接¶
|
|
当使用AT+BLESETFEATURE设置连接为异步连接后,再使用AT+BLECONN发起连接,在连接超时时间内才能使用此AT命令取消连接 |
AT+BLEDISCONN 与BLE设备断开连接¶
|
|
|
AT+BLEGAPREGCBK 注册BLE回调函数¶
|
|
AT+BLEREADPEERRSSI 读取RSSI值¶
|
|
|
|
AT+BLESETPHY 设置BLE PHY¶
AT+BLESETPHY=<conn_handle>,<all_phys>,<tx_phys>,<rx_phys>,<phy_options> |
|
|
|
|
|
gatts模块AT命令¶
AT+GATTSREGSRV 创建一个GATT server¶
|
|
AT+GATTSUNREG 删除GATT server,释放资源¶
|
|
AT+GATTSSYNCADDSERV 添加一个GATT服务(同步)¶
|
|
AT+GATTSSYNCADDCHAR 为GATT服务添加一个特征(同步)¶
AT+GATTSSYNCADDDESCR 为最新的特征添加一个描述符(同步)¶
AT+GATTSSYNCADDDESCR=<server_id,service_handle,chara_uuid,permissions,value_len,value> |
|
|
|
|
|
AT+GATTSSTARTSERV 启动指定的GATT服务¶
|
|
AT+GATTSDELALLSERV 删除指定server上的所有服务¶
|
|
AT+GATTSSENDRSP 发送响应¶
AT+GATTSSENDRSP=<server_id,conn_handle,request_id,status,offset,value_len,value> |
|
|
|
AT+GATTSSNDNTFY 发送通知或指示¶
AT+GATTSSNDNTFY=<server_id,conn_handle,character_value_handle,value_len,value> |
|
|
|
AT+GATTSSNDNTFYBYUUID 根据uuid发送通知或指示¶
AT+GATTSSNDNTFYBYUUID=<server_id,conn_handle,chara_uuid,start_handle,end_handle,value_len,value> |
|
|
|
AT+GATTSREGCBK 注册GATT服务端回调函数¶
|
|
AT+GATTSSETMTU 在连接之前设置server rx mtu¶
|
|
gattc模块AT命令¶
AT+GATTCREG 创建一个GATT client¶
|
|
AT+GATTCUNREG 删除GATT client,释放资源¶
|
|
AT+GATTCFNDSERV 发现服务¶
|
|
AT+GATTCFNDCHAR 发现特征¶
AT+GATTCFNDDESCR 发现描述符¶
|
|
|
|
根据AT+GATTCFNDCHAR命令回显设置declare handle,例如: [GATTClient]Discovery character----client:1 conn_id:0 uuid_len:2 uuid:1234 |
AT+GATTCREADBYHDL 读取by hdl¶
|
|
|
|
AT+GATTCREADBYUUID 读取by_uuid¶
AT+GATTCWRITEREQ 写by hdl req¶
AT+GATTCWRITECMD 写by hdl cmd¶
AT+GATTCWRITECMD=<client_id,conn_id,character_value_handle,data_len,data> |
|
|
|
|
|
AT+GATTCEXCHMTU 交换MTU请求¶
|
|
|
|
AT+GATTCREGCBK 注册GATT客户端回调函数¶
|
|
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指令一览表¶
SLE AT指令描述¶
SLE使能¶
|
|
注册启停广播与扫描回调¶
|
|
设置SLE广播参数¶
设置SLE广播数据¶
起SLE广播¶
|
|
停SLE广播¶
|
|
设置扫描参数¶
|
|
<scan_type>:扫描类型。0:被动扫描;1:主动扫描 |
|
使能扫描¶
|
|
关闭扫描¶
|
|
设置本端名称¶
|
|
获取本端名称¶
|
|
设置本端地址¶
|
|
获取本端地址¶
|
|
建立SLE连接¶
连接成功后会打印[connected]字样以及对端设备地址与handle值(即conn_id)
|
|
|
|
星闪逻辑链路更新参数¶
星闪读取远端rssi¶
|
|
断开SLE连接¶
|
|
|
|
设置SLE PHY¶
AT+SLESETPHY=<conn_id>,<tx_phy>,<rx_phy>,[tx_format],[rx_format],[tx_pilot_density],[rx_pilot_density],[g_feedback],[t_feedback] |
|
|
|
|
|
设置SLE 默认连接参数¶
设置SLE连接mcs传输特性¶
|
|
<conn_id>:SLE连接id(AT+SLECONN指令执行成功以后,返回的回调里面打印)
|
|
进行加密配对¶
|
|
|
|
移除加密配对¶
|
|
|
|
获取配对设备数目¶
|
|
获取配对设备¶
|
|
获取设备配对状态¶
|
|
|
|
获取绑定设备¶
|
|
注册服务端¶
|
|
添加服务同步¶
|
|
添加属性同步¶
添加属性描述符同步¶
服务端向客户端发送通知¶
AT+SSAPSSNDNTFY=<conn_id>,<handle>,<type>,<value_len>,<value> |
|
|
|
|
|
服务端向客户端通过uuid发送通知¶
AT+SSAPSNTFYBYUUID=<conn_id>,<uuid>,<start_hdl>,<end_hdl>,<type>,<value_len>,<value> |
|
|
|
|
|
服务端发送响应¶
AT+SSAPSSNDRESP=<conn_id>,<request_id>,<status>,<value_len>,<value> |
|
|
|
服务端注册回调¶
|
|
start service¶
|
|
注册SSAPC回调函数¶
|
|
发现service¶
AT+SSAPCFNDSTRU=<client_id>,<conn_id>,<type>,[uuid],<start_hdl>,<end_hdl> |
|
|
|
发送服务发现指令时需要指定对应service或者PROPERTY的UUID,回调中会打印对应的UUID与hdl或传0会打印所有service的信息。 |
通过句柄发现service¶
AT+SSAPCFNDSTRUBYHDL=<client_id>,<conn_id>,<type>,<start_hdl>,<end_hdl> |
|
|
|
查找类型字段说明:
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> |
|
|
|
|
<handle>:属性句柄(property handle) |
|
客户端向服务端发送写请求¶
AT+SSAPCWRITEREQ=<client_id>,<conn_id>,<handle>,<type>,<len>,<write_data> |
|
|
|
|
<handle>:属性handle,(property handle) |
|
设置服务端信息¶
|
|
设置客户端信息¶
|
|
客户端通过uuid发送读请求¶
AT+SSAPCREADBYUUID=<client_id>,<conn_id>,<uuid>,<type>,<start_hdl>,<end_hdl> |
|
|
|
客户端读取服务端属性数据¶
|
|
表 1 设备外观值一览表
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命令¶
设置雷达状态¶
|
|
查询雷达状态¶
|
|
设置雷达退出延时¶
|
|
查询雷达退出延时¶
|
|
查询雷达天线隔离度信息¶
|
|
设置雷达维测参数¶
设置雷达算法参数套选择¶
设置对应雷达算法参数套下的算法参数值¶
设置自适应WALL算法参数¶
平台模块AT命令¶
读取NV项¶
|
|
|
|
|
NV[0x3] is permanent //该NV项持有永久属性,无法通过命令或者接口修改NV值 NV[0x3] is non_upgrade //该NV项持有不可升级属性,无法通过OTA修改NV值 |
|
修改NV项¶
|
|
|
|
AT+NVWRITE=0x5,0,6,010203040506 将ID为0x5的NV项的值修改为[1,2,3,4,5,6] |
|
|
写入efuse mac¶
|
|
<mac_addr>:需要设置的mac_addr,全0,全1,组播地址会自动返错,设置失败
|
|
AT+EFUSEMAC=00:22:33:44:55:cc,0 写入wifi mac地址,最多可写四次,软件使用最后一次写入值 |
|
读取efuse mac¶
写入用户预留位¶
|
|
-efuse_data数据位宽必须为128bit,为0的数据位不可省略,该命令只在产测版本可使用。 |
查询用户预留位¶
|
|
打印版本号¶
|
|
打印死机信息¶
|
|
设置打印等级¶
|
|
|
|
设置IO工作模式¶
|
|
查询IO工作模式¶
|
|
|
|
|
+GETIOMODE:<GPIO ID>,<MODE>,<PULL>,<DS> |
|
设置GPIO工作为输入或输出¶
|
|
|
|
设置GPIO的电平状态¶
|
|
|
|
|
+WRGPIO:<GPIO ID>,<DIR>,<LEVEL>
|
|
读取GPIO的电平状态¶
|
|
|
|
|
+RDGPIO:<GPIO ID>,<DIR>,<LEVEL> |
|
写入第二个用户预留位¶
须知: 该写入为不可逆操作,写入的EFUSE位为复用安全启动中根公钥HASH的EFUSE区域,写入该区域后,将无法使用安全启动功能。
|
|
|
|
查询第二个用户预留位¶
|
|
AT+SETUART 配置串口功能¶
|
|
<debug_uart>:debug打印串口,取值范围:0~2,默认值为0 <at_uart>:AT命令串口,取值范围:0~2,默认值为0 |
|
|





