前言
本文介绍WS63V100的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字段; |
|
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+PBC PBC连接
|
|
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查看扫描结果
Repeater相关AT指令
Repeater相关AT指令一览表
Repeater相关AT指令描述
|
|
|
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。 |
启动/停止Repeater
注意:设置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+BLECONN 与BLE设备连接
|
|
|
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) <type>:属性类型,取值(0-0xFF):传0时修改property的值, 传2时修改CCCD的值,剩余值不做校验. |
|
客户端向服务端发送写请求
AT+SSAPCWRITEREQ=<client_id>,<conn_id>,<handle>,<type>,<len>,<write_data> |
|
|
|
<handle>:属性handle,(property handle) <type>:属性类型, 取值(0-0xFF):传0时修改property的值, 传2时修改CCCD的值,剩余值不做校验. |
|
设置服务端信息
|
|
设置客户端信息
|
|
客户端通过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命令
设置雷达状态
|
|
查询雷达状态
|
|
设置雷达退出延时
|
|
查询雷达退出延时
|
|
查询雷达天线隔离度信息
|
|
设置雷达维测参数
设置雷达算法参数套选择
设置对应雷达算法参数套下的算法参数值
平台模块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 |
|
|