前言¶
概述
本文介绍WS63V100的AT指令式及场景,为用户提供相应的指令格式和参数示例解释。
产品版本
与本文档相对应的产品版本如下。
产品名称 |
产品版本 |
|---|---|
WS63 |
V100 |
读者对象
本文档主要适用于以下工程师:
技术支持工程师
软件开发工程师
符号约定
在本文中可能出现下列标志,它们所代表的含义如下。
符号 |
说明 |
|---|---|
|
表示如不避免则将会导致死亡或严重伤害的具有高等级风险的危害。 |
|
表示如不避免则可能导致死亡或严重伤害的具有中等级风险的危害。 |
|
表示如不避免则可能导致轻微或中度伤害的具有低等级风险的危害。 |
|
用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。 “须知”不涉及人身伤害。 |
|
对正文中重点信息的补充说明。 “说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。 |
修改记录
文档版本 |
发布日期 |
修改说明 |
|---|---|---|
05 |
2025-08-29 |
|
04 |
2025-02-28 |
|
03 |
2024-10-30 |
|
02 |
2024-07-01 |
|
01 |
2024-04-10 |
第一次正式版本发布。
|
00B06 |
2024-03-29 |
|
00B05 |
2024-03-14 |
|
00B04 |
2024-02-22 |
|
00B03 |
2024-01-15 |
|
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+HEAPSTAT |
打印堆使用情况。 |
AT+TASKSTACK |
打印每个任务栈使用情况。 |
AT+TASKMALLOC |
打印每个任务内存申请情况。 |
通用AT指令描述¶
AT+HELP 查看当前可用AT命令¶
格式 |
AT+HELP |
|---|---|
响应 |
+HELP: 显示当前支持的AT命令 OK |
参数说明 |
- |
示例 |
AT+HELP |
注意 |
包含Wi-Fi、BLE、GLE命令。默认不使能。 |
AT+MAC MAC地址管理¶
格式 |
设置命令: AT+MAC=<MAC> |
查询命令: AT+MAC? |
|---|---|---|
响应 |
|
+MAC: <MAC>
|
参数说明 |
<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>
|
参数说明 |
|
示例 |
|
注意 |
|
AT+SYSINFO 查看系统信息¶
格式 |
AT+SYSINFO |
|---|---|
响应 |
+SYSINFO: 显示SDK版本号和系统当前所有任务详细信息,如任务ID、优先级、栈内存大小、调度状态等。
|
参数说明 |
- |
示例 |
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
|
参数说明 |
|
示例 |
|
注意 |
- |
AT+PING6 测试IPV6网络连接¶
格式 |
AT+PING6=[<-x>,]< IP> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
|
注意 |
- |
AT+DNS 设置单板dns服务器地址¶
格式 |
设置命令: AT+DNS=<dns_num>,<IP> |
查询命令: AT+DNS? |
|---|---|---|
响应 |
|
+DNS: <Dns1_IP> <Dns2_IP>
|
参数说明 |
|
|
示例 |
|
|
注意 |
- |
|
AT+NETSTAT 查看网络状态¶
格式 |
AT+NETSTAT |
|---|---|
响应 |
Proto Recv-Q Send-Q Local Address Foreign Address State
|
参数说明 |
TCP连接态描述如下:
|
示例 |
AT+NETSTAT |
注意 |
- |
AT+DHCP dhcp客户端命令¶
格式 |
AT+DHCP=<ifname>,<stat> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+DHCP=wlan0,1 |
注意 |
网卡名称与AT+IFCFG查看的STA网卡名称保持一致。 |
AT+DHCPS dhcps服务器端命令¶
格式 |
AT+DHCPS=<ifname>,<stat> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+DHCPS=ap0,1 |
注意 |
网卡名称与AT+IFCFG查看的AP网卡名称保持一致。 |
AT+IFCFG 接口配置¶
格式 |
设置指令: AT+IFCFG=<ifname>,<IP>,netmask,<netmask>, gateway,<gateway> AT+IFCFG=<ifname>[,<switch>] |
查询指令: AT+ IFCFG |
|---|---|---|
响应 |
|
+IFCFG:<ifname>,ip=<IP>,netmask =<netmask>,gateway =<gateway>, ip6=<IP6>, HWaddr =<HWaddr>,MTU=<MTU value>, RunStatus =<RunStatus>
|
参数说明 |
|
|
示例 |
|
|
注意 |
|
|
AT+PS Wi-Fi 低功耗设置¶
格式 |
AT+PS=<switch> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+PS=0 |
注意 |
低功耗命令,需要在Wi-Fi关联并获取IP之后下发,否则有可能不生效。 |
AT+RST 复位单板¶
格式 |
执行命令: AT+RST |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+RST |
注意 |
软重启 |
AT+SENDPKT 发送任意帧¶
格式 |
AT+SENDPKT=<type>,<data> |
|---|---|
响应 |
|
参数说明 |
<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未关联场景,如果需要发送任意帧,请先指定信道。 |
AT+HEAPSTAT 打印堆使用情况¶
格式 |
AT+HEAPSTAT |
|---|---|
响应 |
打印所有线程堆内存申请信息 OK |
参数说明 |
- |
示例 |
AT+HEAPSTAT |
注意 |
- |
AT+TASKSTACK 打印每个任务栈使用情况¶
格式 |
AT+TASKSTACK |
|---|---|
响应 |
打印所有线程栈信息 OK |
参数说明 |
- |
示例 |
AT+TASKSTACK |
注意 |
- |
AT+TASKMALLOC 打印每个任务内存申请情况¶
格式 |
AT+TASKMALLOC=para |
|---|---|
响应 |
打印某个线程堆内存申请信息 OK |
参数说明 |
<task_id>:线程ID |
示例 |
AT+TASKMALLOC=2 |
注意 |
- |
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 |
|---|---|---|
响应 |
|
|
参数说明 |
|
- |
示例 |
AT+STARTSTA AT+STARTSTA=1,1 |
AT+STARTSTA |
注意 |
|
|
AT+STOPSTA 关闭STA¶
格式 |
AT+STOPSTA |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+STOPSTA |
注意 |
执行AT+STOPSTA后,无需先执行"AT+DHCP=wlan0,0"关闭DHCP服务,会自动关闭DHCP服务。 |
AT+RECONN 配置重连策略¶
格式 |
AT+RECONN=<enable>[,<period>,<count>[,<timeout>]] |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+RECONN=1,10,3600,50 AT+RECONN=1,10,3600, AT+RECONN=0 |
注意 |
|
AT+SCAN 启动STA扫描¶
格式 |
AT+SCAN |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+SCAN |
注意 |
|
AT+SCANCHN 指定信道扫描¶
格式 |
AT+SCANCHN=<chn> |
|---|---|
响应 |
|
参数说明 |
<chn>:信道号,取值范围1~14,只支持单信道扫描。 |
示例 |
AT+SCANCHN=3 |
注意 |
|
AT+SCANSSID 指定ssid扫描¶
格式 |
AT+SCANSSID=<ssid> |
|---|---|
响应 |
|
参数说明 |
<ssid>:服务集标识符,即路由器名称,参数需使用双引号。 |
示例 |
AT+SCANSSID="XXX" AT+SCANSSID=P"\\xe4\\xb8\\xad\\xe5\\x9b\\xbd":指定ssid为“中国”并启动扫描 |
注意 |
|
AT+SCANPRSSID指定ssid前缀扫描¶
格式 |
AT+SCANPRSSID=<ssid> |
|---|---|
响应 |
|
参数说明 |
<ssid>:服务集标识符,即路由器名称,参数需使用双引号。 |
示例 |
AT+SCANPRSSID="XXX" |
注意 |
|
AT+SCANRESULT 查看STA扫描结果¶
格式 |
AT+SCANRESULT |
|---|---|
响应 |
+SCANRESULT:<ssid>,<bssid>,<chn>,<rssi>,<auth_type>
|
参数说明 |
|
示例 |
AT+SCANRESULT |
注意 |
|
AT+CONN 发起与AP的连接¶
格式 |
AT+CONN=<ssid>[,<bssid>,<passwd>][,<psk_type>] |
|---|---|
响应 |
|
参数说明 |
|
示例 |
|
注意 |
|
AT+FCONN 发起与AP的快速连接¶
格式 |
AT+FCONN=<ssid>,<bssid>,<chn>,<auth_type>[,<passwd>] |
|---|---|
响应 |
|
参数说明 |
|
示例 |
|
注意 |
|
AT+DISCONN 断开与AP的连接¶
格式 |
AT+DISCONN |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+DISCONN |
注意 |
|
AT+STASTAT 查看STA连接状态¶
格式 |
AT+STASTAT |
|---|---|
响应 |
+STASTAT: <status>,<ssid>, <bssid >,<chn>,<rssi>
|
参数说明 |
|
示例 |
AT+STASTAT |
注意 |
|
AT+PBC PBC连接¶
格式 |
AT+PBC |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+PBC |
注意 |
|
AT+PIN PIN连接¶
格式 |
AT+PIN=<pin> |
|---|---|
响应 |
|
参数说明 |
<pin>:PIN码 |
示例 |
AT+PIN=03882368 |
注意 |
|
AT+PINSHOW 生成PIN码¶
查询指令 |
AT+PINSHOW |
|---|---|
响应 |
+PINSHOW:<pin>
|
参数说明 |
<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>] |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+STARTAP="XXX",6,2,"123456789" AT+STARTAP="XXX",6,0 |
注意 |
|
AT+SETAPADV 配置SoftAP启动参数¶
格式 |
AT+SETAPADV=[<protocol_mode>],[<bcn_period>],[<dtim_period>],[<group_rekey>],[<ssid_hide>],[<sgi>] |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+SETAPADV=3,100,2,3600,1,1 AT+SETAPADV=,100,2,3600,, |
注意 |
|
AT+STOPAP 停止SoftAP¶
格式 |
AT+STOPAP |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+STOPAP |
注意 |
执行AT+STOPAP后,无需先执行"AT+DHCPS=AP0,0"关闭DHCP服务。 |
AT+SHOWSTA 显示当前连接的STA信息¶
格式 |
AT+SHOWSTA |
|---|---|
响应 |
+SHOWSTA:<STA_MAC>, rssi: <RSSI>,rate<RATE>
|
参数说明 |
|
示例 |
AT+SHOWSTA |
注意 |
- |
AT+DEAUTHSTA 断开STA连接¶
格式 |
AT+DEAUTHSTA=<MAC> |
|---|---|
响应 |
|
参数说明 |
<MAC>:要断开的STA MAC地址。 |
示例 |
AT+DEAUTHSTA=90:2B:D2:E4:CE:28 |
注意 |
- |
AT+APSCAN softap扫描¶
格式 |
AT+APSCAN |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+APSCAN |
注意 |
|
AT+APSCANRESULT softap查看扫描结果¶
格式 |
AT+APSCANRESULT |
|---|---|
响应 |
+SCANRESULT:<ssid>,<bssid>,<chn>,<rssi>,<auth_type>
|
参数说明 |
|
示例 |
AT+APSCANRESULT |
注意 |
|
Repeater相关AT指令¶
Repeater相关AT指令一览表¶
指令 |
描述 |
|---|---|
AT+BRCTL |
配置Repeater特性开关、网络接口以及相关信息显示。默认未使能。 |
Repeater相关AT指令描述¶
格式 |
AT+BRCTL=<cmd>[,<ifname>] |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+BRCTL=addbr AT+BRCTL=addif,wlan0 AT+BRCTL=show |
注意 |
|
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> |
|---|---|---|
响应 |
|
|
参数说明 |
|
|
示例 |
AT+IPSTART=0,tcp,192.168.3.1,5001 AT+IPSTART=0,udp,5001 |
|
注意 |
- |
|
AT+IPSEND 发送TCP/UDP数据¶
格式 |
|
|
|---|---|---|
响应 |
|
|
参数说明 |
|
|
示例 |
AT+IPSEND=0,9,data test OK AT+IPSEND=0,9,192.168.3.1,5001,data test OK |
|
注意 |
|
|
AT+IPLISTEN 启动TCP监听¶
格式 |
AT+IPLISTEN=<control>[,<local_port>] |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+IPLISTEN=1,5001 AT+IPLISTEN=0 |
注意 |
<control>取值为0时不需要<local_port>参数。 |
AT+IPCLOSE 关闭连接¶
格式 |
AT+IPCLOSE=<link_ID> |
|---|---|
响应 |
|
参数说明 |
<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> |
参数说明 |
|
示例 |
+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>] |
|---|---|
响应 |
|
参数说明 |
|
示例 |
|
注意 |
|
AT+ALRX 设置常收功能¶
格式 |
AT+ALRX=<control>[,<protocol_mode>,<bw>,<chn>,<mac_filter>] |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+ALRX=1,0,20,1,1 开启常收11n 40M时:
|
注意 |
|
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>]
|
参数说明 |
|
示例 |
AT+RXINFO |
注意 |
仪器发包完成后再执行,执行后会清除当前统计值。 |
AT+CALTONE 设置单音功能¶
格式 |
AT+CALTONE=<sw>, <tone_freq> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
|
注意 |
单音功能的命令在WIFI常发后使用。 |
AT+CC设置/查看国家码¶
格式 |
AT+CC=<country> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+CC=CN |
注意 |
AT+CC?用于查看当前配置的国家码。 |
AT+SETRPWR设置功率¶
格式 |
AT+SETRPWR=<protocol_mode>,<rate>,<power_offset> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
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+BLESETFEATURE=<参数> |
设置特性 |
AT+BLECONN=<参数> |
与BLE设备连接 |
AT+BLECONNCANCEL |
取消异步连接 |
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> |
|---|---|
响应 |
|
参数说明 |
<addr_type>:蓝牙设备类型 <addr>:蓝牙设备地址 |
示例 |
AT+BLESETADDR=0,0x112233445566 |
注意 |
设备类型取值范围为
设备地址为长度为14的字符串。 |
AT+BLEGETADDR 获取本地设备地址¶
格式 |
AT+BLEGETADDR |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+BLEGETADDR |
注意 |
- |
AT+BLESETNAME 设置本地设备名称¶
格式 |
AT+BLESETNAME=<len,name> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+BLESETNAME=9,atcmdtest |
注意 |
名称长度取值范围为[1,31],设备名称长度为len的字符串。 |
AT+BLEGETNAME 获取本地设备名称¶
格式 |
AT+BLEGETNAME |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+BLEGETNAME |
注意 |
- |
AT+BLESETAPPEARANCE 设置本地设备外观¶
格式 |
AT+BLESETAPPEARANCE=<appearance> |
|---|---|
响应 |
|
参数说明 |
<appearance>:本地设备外观 |
示例 |
AT+BLESETAPPEARANCE=961 |
注意 |
参数值应为规定值,示例中961为键盘的外观值,962为鼠标的外观, 在手机蓝牙列表中搜索到该设备时会显示键盘/鼠标图标。 |
AT+BLESETADVDATA 设置BLE广播数据¶
格式 |
AT+BLESETADVDATA=<adv_length,adv_data,scan_rsp_length,scan_rsp_data,adv_id> |
|---|---|
响应 |
|
参数说明 |
<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> |
|---|---|
响应 |
|
参数说明 |
<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> |
|---|---|
响应 |
|
参数说明 |
<adv_id>:广播id,对应set_adv_para里的adv_id, [1-0xEF] |
示例 |
AT+BLESTARTADV=1 |
注意 |
- |
AT+BLESTOPADV 停止发送BLE广播¶
格式 |
AT+BLESTOPADV=<adv_id> |
|---|---|
响应 |
|
参数说明 |
<adv_id>:广播id |
示例 |
AT+BLESTOPADV=1 |
注意 |
- |
AT+BLESETSCANPAR 设置BLE扫描参数¶
格式 |
AT+BLESETSCANPAR=<scan_interval,scan_window,scan_type,scan_phy,scan_rsp_policy> |
|---|---|
响应 |
|
参数说明 |
<scan_interval>:扫描间隔;取值范围[0x04, 0x4000],Time=N×0.625ms <scan_window>:扫描窗口;取值范围[0x04, 0x4000],Time=N×0.625ms <scan_type>:扫描类型,取值范围:
<scan_phy>:扫描phy <scan_rsp_policy>:扫描过滤策略 |
示例 |
AT+BLESETSCANPAR=0x48,0x48,0,1,0 |
注意 |
- |
AT+BLESTARTSCAN 启动BLE扫描¶
格式 |
AT+BLESTARTSCAN |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+BLESTARTSCAN |
注意 |
- |
AT+BLESTOPSCAN 停止BLE扫描¶
格式 |
AT+BLESTOPSCAN |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+BLESTOPSCAN |
注意 |
- |
AT+BLEPAIR 与对端设备发起配对¶
格式 |
AT+BLEPAIR=<addr_type,addr> |
|---|---|
响应 |
|
参数说明 |
<addr_type>:蓝牙设备地址类型 <addr>:蓝牙设备地址 |
示例 |
AT+BLEPAIR=0,0x112233445566 |
注意 |
设备地址类型取值范围:
设备地址为长度为14的字符串 |
AT+BLEGETPAIREDNUM 获取BLE设备配对设备数量¶
格式 |
AT+BLEGETPAIREDNUM |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+BLEGETPAIREDNUM |
注意 |
- |
AT+BLEGETPAIREDDEV 获取BLE设备配对设备¶
格式 |
AT+BLEGETPAIREDDEV |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+BLEGETPAIREDDEV |
注意 |
- |
AT+BLEGETPAIREDSTA 获取BLE设备配对状态¶
格式 |
AT+BLEGETPAIREDSTA=<addr_type,addr> |
|---|---|
响应 |
|
参数说明 |
<addr_type>:蓝牙设备类型 <addr>:蓝牙设备地址 |
示例 |
AT+BLEGETPAIREDSTA=0,0x112233445566 |
注意 |
设备类型取值范围:
设备地址为长度为14的字符串 |
AT+BLEUNPAIR 取消配对¶
格式 |
AT+BLEUNPAIR=<addr_type,addr> |
|---|---|
响应 |
|
参数说明 |
<addr_type>:蓝牙设备类型 <addr>:蓝牙设备地址 |
示例 |
AT+BLEUNPAIR=0,0x112233445566 |
注意 |
设备类型取值范围:
设备地址为长度为14的字符串 |
AT+BLEUNPAIRALL取消所有配对¶
格式 |
AT+BLEUNPAIRALL |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+BLEUNPAIRALL |
注意 |
- |
AT+BLECONNPARUPD 更新连接参数¶
格式 |
AT+BLECONNPARUPD=<conn_handle,interval_min,interval_max,slave_latency,timeout_multiplier> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+BLECONNPARUPD=0,0x48,0x48,0,500 |
注意 |
interval_min需要小于等于interval_max |
AT+BLESETFEATURE设置BLE特性¶
格式 |
AT+BLESETFEATURE=<feature,val> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+BLESETFEATURE=0,1 |
注意 |
feature的值只能从ble_feature_type_t枚举中选择 |
AT+BLECONN 与BLE设备连接¶
格式 |
AT+BLECONN=<addr_type,addr> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+BLECONN=0,0x112233445566 |
注意 |
设备地址类型取值范围:
设备地址为长度为14的字符串 |
AT+BLECONNCANCEL取消异步连接¶
格式 |
AT+BLECONNCANCEL |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+BLECONNCANCEL |
注意 |
当使用AT+BLESETFEATURE设置连接为异步连接后,再使用AT+BLECONN发起连接,在连接超时时间内才能使用此AT命令取消连接 |
AT+BLEDISCONN 与BLE设备断开连接¶
格式 |
AT+BLEDISCONN=<addr_type,addr> |
|---|---|
响应 |
|
参数说明 |
<addr_type>:蓝牙设备类型 <addr>:蓝牙设备地址 |
示例 |
AT+BLEDISCONN=0,0x112233445566 |
注意 |
设备类型取值范围:
设备地址为长度为14的字符串 |
AT+BLEGAPREGCBK 注册BLE回调函数¶
格式 |
AT+BLEGAPREGCBK |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+BLEGAPREGCBK |
注意 |
- |
AT+BLEREADPEERRSSI 读取RSSI值¶
格式 |
AT+BLEREADPEERRSSI=<conn_handle> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+BLEREADPEERRSSI=0 |
注意 |
- |
AT+BLESETPHY 设置BLE PHY¶
格式 |
AT+BLESETPHY=<conn_handle>,<all_phys>,<tx_phys>,<rx_phys>,<phy_options> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+BLESETPHY=0,2,1,1,0 |
注意 |
上述各参数中没有列出的示例值为预留字段, AT侧不做拦截, 下发后BTC会回复异常参数, 请关注回调中的异常日志打印。 |
gatts模块AT命令¶
AT+GATTSREGSRV 创建一个GATT server¶
格式 |
AT+GATTSREGSRV=<uuid> |
|---|---|
响应 |
|
参数说明 |
<uuid>:应用uuid(长度:2字节或16字节) |
示例 |
AT+GATTSREGSRV=0x1122 |
注意 |
- |
AT+GATTSUNREG 删除GATT server,释放资源¶
格式 |
AT+GATTSUNREG=<server_id> |
|---|---|
响应 |
|
参数说明 |
<server_id>:注册server时生成的server id,默认为1 |
示例 |
AT+GATTSUNREG=1 |
注意 |
- |
AT+GATTSSYNCADDSERV 添加一个GATT服务(同步)¶
格式 |
AT+GATTSSYNCADDSERV=<server_id,svc_uuid,is_primary_flag> |
|---|---|
响应 |
|
参数说明 |
<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> |
|---|---|
响应 |
|
参数说明 |
<server_id>:服务端id <service_handle>:服务句柄 <chara_uuid>:特征uuid <permissions>:权限
注: 多个权限类型使用'|'后的值, 如可读可写需要授权为, 0x01|0x02|0x08 值为0x0B <properties>:特性
注: 多个特征类型使用'|'后的值, 如读写特征为, 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> |
|---|---|
响应 |
|
参数说明 |
<server_id>:服务端id <service_handle>:服务句柄 <chara_uuid>:特征uuid <permissions>:权限
注: 多个特征类型使用|后的值, 如可读可写需要授权为, 0x01|0x02|0x08 值为0x0B <value_len>:值长度 <value>:值 |
示例 |
AT+GATTSSYNCADDDESCR=1,14,0x2902,0x03,2,0100 |
注意 |
值是长度为值长度两倍的字符串。 |
AT+GATTSSTARTSERV 启动指定的GATT服务¶
格式 |
AT+GATTSSTARTSERV=<server_id,service_handle> |
|---|---|
响应 |
|
参数说明 |
<server_id>:服务端id <service_handle>:服务句柄 |
示例 |
AT+GATTSSTARTSERV=1,14 |
注意 |
- |
AT+GATTSDELALLSERV 删除指定server上的所有服务¶
格式 |
AT+GATTSDELALLSERV=<server_id> |
|---|---|
响应 |
|
参数说明 |
<server_id>:服务端id |
示例 |
AT+GATTSDELALLSERV=1 |
注意 |
- |
AT+GATTSSENDRSP 发送响应¶
格式 |
AT+GATTSSENDRSP=<server_id,conn_handle,request_id,status,offset,value_len,value> |
|---|---|
响应 |
|
参数说明 |
<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> |
|---|---|
响应 |
|
参数说明 |
<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> |
|---|---|
响应 |
|
参数说明 |
<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 |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+GATTSREGCBK |
注意 |
- |
AT+GATTSSETMTU 在连接之前设置server rx mtu¶
格式 |
AT+GATTSSETMTU=<server_id,mtu_size> |
|---|---|
响应 |
|
参数说明 |
<server_id>:服务端id <mtu_size>:mtu大小 (最大517) |
示例 |
AT+GATTSSETMTU=1,23 |
注意 |
MTU默认值为23。 |
gattc模块AT命令¶
AT+GATTCREG 创建一个GATT client¶
格式 |
AT+GATTCREG=<uuid> |
|---|---|
响应 |
|
参数说明 |
<uuid>:应用uuid |
示例 |
AT+GATTCREG=0x1212 |
注意 |
- |
AT+GATTCUNREG 删除GATT client,释放资源¶
格式 |
AT+GATTCUNREG=<client_id> |
|---|---|
响应 |
|
参数说明 |
<client_id>:客户端id |
示例 |
AT+GATTCUNREG=1 |
注意 |
- |
AT+GATTCFNDSERV 发现服务¶
格式 |
AT+GATTCFNDSERV=<client_id,conn_id,uuid> |
|---|---|
响应 |
|
参数说明 |
<client_id>:客户端id; <conn_id>:连接id [uuid]:应用uuid(可选) |
示例 |
AT+GATTCFNDSERV=1,0 |
注意 |
- |
AT+GATTCFNDCHAR 发现特征¶
格式 |
AT+GATTCFNDCHAR=<client_id,conn_id,service_handle,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> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
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> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+GATTCREADBYHDL=1,1,0 |
注意 |
- |
AT+GATTCREADBYUUID 读取by_uuid¶
格式 |
AT+GATTCREADBYUUID=<client_id,conn_id,start_hdl,end_hdl,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> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
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> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+GATTCWRITECMD=1,0,13,1,0x11 |
注意 |
- |
AT+GATTCEXCHMTU 交换MTU请求¶
格式 |
AT+GATTCEXCHMTU=<server_id,conn_id,mtu_size> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+GATTCEXCHMTU=1,0,100 |
注意 |
- |
AT+GATTCREGCBK 注册GATT客户端回调函数¶
格式 |
AT+GATTCREGCBK |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
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 |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+SLEENABLE |
注意 |
- |
注册启停广播与扫描回调¶
设置指令 |
AT+SLEATCOMMONREGCBK |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
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] |
|---|---|
响应 |
|
参数说明 |
<announce_handle>:广播句柄,取值范围[1, 0x10] <announce_mode>:广播类型
<announce_interval_min>:广播周期最小值, 0x000020~0xffffff, 单位125μs <announce_interval_max>:广播周期最大值, 0x000020~0xffffff, 单位125μs <own_addr_type>:SLE本端地址类型,取值范围:
<own_addr_addr>:SLE本端设备地址 <peer_addr_type>:SLE对端设备地址类型,取值范围:
<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> |
|---|---|
响应 |
|
参数说明 |
<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> |
|---|---|
响应 |
|
参数说明 |
<adv_handle>:广播句柄, 取值范围[1, 0x10] |
示例 |
AT+SLESTARTADV=1 |
注意 |
此命令需在SLE使能AT+SLEENABLE后下发。 |
停SLE广播¶
设置指令 |
AT+SLESTOPADV=<adv_handle> |
|---|---|
响应 |
|
参数说明 |
<adv_handle>:广播句柄,取值范围[1, 0x10],需与STARTADV命令保持一致 |
示例 |
AT+SLESTOPADV=1 |
注意 |
此命令需在SLE起广播AT+SLESTARTADV=1后下发。 |
设置扫描参数¶
设置指令 |
AT+SLESETSCANPAR=<scan_type>,<scan_interval>,<scan_window> |
|---|---|
响应 |
|
参数说明 |
<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 |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+SLESTARTSCAN |
注意 |
需先AT+SLEATCOMMONREGCBK, 扫描结果会在串口打印, 相同地址打印一次。 |
关闭扫描¶
设置指令 |
AT+SLESTOPSCAN |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+SLESTOPSCAN |
注意 |
- |
设置本端名称¶
设置指令 |
AT+SLESETNAME=<len>,<name> |
|---|---|
响应 |
|
参数说明 |
<len>:name长度 <name>:名字 |
示例 |
AT+SLESETNAME=7,SDKTEST |
注意 |
- |
获取本端名称¶
设置指令 |
AT+SLEGETNAME |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+SLEGETNAME |
注意 |
- |
设置本端地址¶
设置指令 |
AT+SLESETADDR=<addr_type>,<addr> |
|---|---|
响应 |
|
参数说明 |
<addr_type>:地址类型, 当前仅支持联盟分配地址标识-0 <addr>:地址 |
示例 |
AT+SLESETADDR=0,0x000000000001 |
注意 |
- |
获取本端地址¶
设置指令 |
AT+SLEGETADDR |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+SLEGETADDR |
注意 |
- |
建立SLE连接¶
设置指令 |
AT+SLECONN=<sle_addr_type>,<sle_addr> |
|---|---|
响应 |
连接成功后会打印[connected]字样以及对端设备地址与handle值(即conn_id)
|
参数说明 |
< sle_addr_type >:SLE设备地址类型 取值范围如下:
<sle_addr>:SLE设备地址 |
示例 |
AT+SLECONN=0,000000000000 |
注意 |
- |
星闪逻辑链路更新参数¶
设置指令 |
AT+SLECONNPARUPD=<conn_id>,<interval_min>,<interval_max>,<max_latency>,<supervision_timeout> |
|---|---|
响应 |
|
参数说明 |
<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 |
注意 |
1. 参数配置需满足公式:supervision_timeout * 10 > ((1 + max_latency) * (interval_max >> 2) 2. interval_min需要小于等于interval_max |
星闪读取远端rssi¶
设置指令 |
AT+SLEREADPEERRSSI=<conn_id> |
|---|---|
响应 |
|
参数说明 |
<conn_id>:连接ID |
示例 |
AT+SLEREADPEERRSSI=0 |
注意 |
在读取远端RSSI前要执行AT+SLEREGCONNCBK |
断开SLE连接¶
设置指令 |
AT+SLEDISCONN=<sle_addr_type>,<sle_addr> |
|---|---|
响应 |
连接成功后会打印[disconnected]字样以及对端设备地址与handle值。 |
参数说明 |
|
示例 |
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] |
|---|---|
响应 |
|
参数说明 |
<conn_id>:连接id <tx_phy>:TX PHY值,取值:
<rx_phy>:RX PHY值,取值:
|
示例 |
AT+SLESETPHY=0,1,1,0,0,2,2,0,0 或 AT+SLESETPHY=0,1,1 |
注意 |
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> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+SLESETDEFAULTCONNP=0,1,0x1,0x20,0x20,0x64,0x64,0x1FC |
注意 |
- |
设置SLE连接mcs传输特性¶
设置指令 |
AT+SLESETMCS =<conn_id>,<mcs> |
|---|---|
响应 |
|
参数说明 |
<conn_id>:SLE连接id(AT+SLECONN指令执行成功以后,返回的回调里面打印) <mcs>:conn_id对应的连接的传输方式
|
示例 |
AT+SLESETMCS=0,6 |
注意 |
- |
进行加密配对¶
设置指令 |
AT+SLEPAIR=<sle_addr_type>,<sle_addr> |
|---|---|
响应 |
|
参数说明 |
< sle_addr_type >:SLE设备地址类型 取值范围如下:
<sle_addr>:SLE设备地址 |
示例 |
AT+SLEPAIR=0,000000000000 |
注意 |
需在sle建立连接以后,和对端启动加密配对。 |
移除加密配对¶
设置指令 |
AT+SLEUNPAIR=<sle_addr_type>,<sle_addr> |
|---|---|
响应 |
|
参数说明 |
< sle_addr_type >:SLE设备地址类型 取值范围如下:
<sle_addr>:SLE设备地址 |
示例 |
AT+SLEUNPAIR=0,000000000000 |
注意 |
- |
获取配对设备数目¶
设置指令 |
AT+SLEGETPAIREDNUM |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+SLEGETPAIREDNUM |
注意 |
- |
获取配对设备¶
设置指令 |
AT+SLEGETPAIRDEV |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+SLEGETPAIRDEV |
注意 |
- |
获取设备配对状态¶
设置指令 |
AT+SLEGETPAIRSTA=<sle_addr_type>,<sle_addr> |
|---|---|
响应 |
|
参数说明 |
< sle_addr_type >:SLE设备地址类型 取值范围如下:
<sle_addr>:SLE设备地址 |
示例 |
AT+SLEGETPAIRSTA=0,000000000000 |
注意 |
- |
获取绑定设备¶
设置指令 |
AT+SLEGETBONDDEV |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+SLEGETBONDDEV |
注意 |
- |
注册服务端¶
设置指令 |
AT+SSAPSADDSRV=<uuid> |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+SSAPSADDSRV=0x1234 |
注意 |
- |
添加服务同步¶
设置指令 |
AT+SSAPSSYNCADDSERV=<uuid>,<is_primary> |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+SSAPSSYNCADDSERV=0x2222,1 |
注意 |
- |
添加属性同步¶
设置指令 |
AT+SSAPSSYNCADDPROPERTY=<service_handle>,<uuid>,<permissions>,<operate_indication>,<value_len>,<value> |
|---|---|
响应 |
|
参数说明 |
<service_handle>:服务的handle <uuid>:SSAP 特征 UUID <permissions>:特征权限
注: 多个权限类型使用'|'后的值, 如可读可写需要授权为, 0x01|0x02|0x08 值为0x0B <operate_indication>:操作指示
<value_len>:响应的数据长度 <value>:响应的数据 |
示例 |
AT+SSAPSSYNCADDPROPERTY=1,0x2323,5,5,2,0x1234 |
注意 |
|
添加属性描述符同步¶
设置指令 |
AT+SSAPSSYNCADDDESCR=<service_handle>,<property_handle>,<uuid>,<permissions>,<operate_indication>,<type>,<value_len>,<value> |
|---|---|
响应 |
|
参数说明 |
<service_handle>:服务handle <property_handle>:属性handle <uuid>:SSAP 描述符 UUID <permissions>:特征权限
注:多个权限类型使用'|'后的值, 如可读可写需要授权为, 0x01|0x02|0x08 值为0x0B <operate_indication>:操作指示
<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> |
|---|---|
响应 |
|
参数说明 |
<conn_id>:连接完成后打印的conn_id <handle>:属性handle <type>:SSAP 特征类型
<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> |
|---|---|
响应 |
|
参数说明 |
<conn_id>:连接完成后打印的conn_id <uuid>:属性uuid <start_hdl>:开始句柄 <end_hdl>:结束句柄 <type>:SSAP 特征类型
<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> |
|---|---|
响应 |
|
参数说明 |
<conn_id>:连接完成后打印的conn_id <request_id>:请求id <status>:发送响应原因 <value_len>:数据长度 <value>:数据 |
示例 |
AT+SSAPSSNDRESP=0,0,0,2,0x0200 |
注意 |
conn_id在连接完成后的回显中会打印,默认第一条连接为0,第二条连接为1,依次类推。 |
服务端注册回调¶
设置指令 |
AT+SSAPSREGCBK |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+SSAPSREGCBK |
注意 |
- |
start service¶
设置指令 |
AT+SSAPSSTARTSERV=<service_handle> |
|---|---|
响应 |
|
参数说明 |
<service_handle>:服务handle |
示例 |
AT+SSAPSSTARTSERV=1 |
注意 |
- |
注册SSAPC回调函数¶
设置指令 |
AT+SSAPCREGCBK |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+SSAPCREGCBK |
注意 |
- |
发现service¶
设置指令 |
AT+SSAPCFNDSTRU=<client_id>,<conn_id>,<type>,[uuid],<start_hdl>,<end_hdl> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
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> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
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> |
|---|---|
响应 |
|
参数说明 |
<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> |
|---|---|
响应 |
|
参数说明 |
<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> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+SSAPSSETINFO=251,1 |
注意 |
- |
设置客户端信息¶
设置指令 |
AT+SSAPCEXCHINFO=<client_id>,<conn_id>,<mtu_size>,<version> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+SSAPCEXCHINFO=0,0,251,1 |
注意 |
- |
客户端通过uuid发送读请求¶
设置指令 |
AT+SSAPCREADBYUUID=<client_id>,<conn_id>,<uuid>,<type>,<start_hdl>,<end_hdl> |
|---|---|
响应 |
|
参数说明 |
<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> |
|---|---|
响应 |
|
参数说明 |
<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> |
|---|---|
响应 |
|
参数说明 |
<status>:雷达状态。 0:stop 1:start 2:reset 3:resume |
示例 |
AT+RADARSETST=1启动雷达,AT+RADARSETST=0停止雷达。 |
注意 |
启动雷达之前,需启动STA或SoftAp,STA处于关联或断开连接状态均可使用。 |
查询雷达状态¶
设置指令 |
AT+RADARGETST |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+RADARGETST |
注意 |
|
设置雷达退出延时¶
设置指令 |
AT+RADARSETDLY=<dly_time> |
|---|---|
响应 |
|
参数说明 |
<dly_time>:雷达有目标到无目标状态退出时间:范围:1~43200,单位:s。 |
示例 |
AT+RADARSETDLY=20 设置雷达有目标到无目标状态退出时间为20s。 |
注意 |
从有目标状态切换到无目标状态后,感知指示灯灭。 |
查询雷达退出延时¶
设置指令 |
AT+RADARGETDLY |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+RADARGETDLY |
注意 |
返回雷达当前有目标到无目标状态退出时间。 |
查询雷达天线隔离度信息¶
设置指令 |
AT+RADARGETISO |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+RADARGETISO |
注意 |
返回雷达当前所使用信道条件下的天线隔离度信息。 |
设置雷达维测参数¶
设置指令 |
AT+RADARSETPARA=<times>,<loop>,<ant>,<wave>,<dbg_type>,<period> |
|---|---|
响应 |
|
参数说明 |
<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> |
|---|---|
响应 |
|
参数说明 |
<height>:模组安装位置架高信息,范围0~2。
<material>:模组天线前方或周围覆盖的材料信息,范围0~1。
<scenario>:模组使用环境,范围0~1。
<fusion_track>:是否开启距离跟踪算法,默认开启,范围0~1。
<fusion_ai>:是否开启AI人体识别算法(可对抗风吹动的窗帘、绿植,摇头的扇叶为塑料材质的风扇),默认开启,范围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>,<pt_cld_para_1><pt_cld_para_2><pt_cld_para_3><pt_cld_para_4><rd_pwr_para_1><rd_pwr_para_2><rd_pwr_para_3><write_to_flash> |
|---|---|
响应 |
|
参数说明 |
<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。 <pt_cld_para_1>:0~1米范围点云门限, 范围0~20。 <pt_cld_para_2>:1~2米范围点云门限, 范围0~20。 <pt_cld_para_3>:2~5米范围点云门限, 范围0~20。 <pt_cld_para_4>:5米以上范围点云门限, 范围0~20。 <rd_pwr_para_1>:0~1米范围点云门限, 范围1~100。 <rd_pwr_para_2>:1~2米范围点云门限, 范围1~100。 <rd_pwr_para_3>:2~6米范围点云门限, 范围1~100。 <write_to_flash>: 是否写入flash,1为写入flash, 范围0~1。 |
示例 |
AT+RADARALGPARA=38,28,30,10,20,50,15,70,3,3,3,3,3,3,3,0 |
注意 |
需按照协议范围设置,超出后会导致设置不成功,从而使用默认参数。 |
设置自适应WALL算法参数¶
设置指令 |
AT+RADARWALLPARA=<update_duration>,<check_duration>,<calc_duration_multiplier>,<is_thru_wall_adapt_en>,<use_pwr_sum>,<sensitivity>,<save_thres>,<use_leakage>,<write_to_flash> |
|---|---|
响应 |
|
参数说明 |
<update_duration>:更新周期,单位帧,范围1~30000。 <check_duration>:检查周期,单位帧,范围1~30000。 <calc_duration_multiplier>:计算周期系数,范围1~255。 <is_thru_wall_adapt_en>:算法开关,范围0~1。 <use_pwr_sum>:是否使用pwr_sum,范围0~1。 <sensitivity>:灵敏度调节,无量纲,范围0~500。 <save_thres>:是否使用不同信道buf门限记录,范围0~1。 <use_leakage>:是否使用leakage调整门限,范围0~1。 <write_to_flash>:是否写入flash, 1为写入flash, 范围0~1。 |
示例 |
AT+RADARWALLPARA=100,100,1,1,0,250,0,0,1 |
注意 |
需按照协议范围设置,超出后会导致设置不成功,从而使用默认参数。 |
平台模块AT命令¶
读取NV项¶
设置指令 |
AT+NVREAD=<key_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> |
|---|---|
响应 |
|
参数说明 |
<key_id>:需要修改的NV项的ID <attr>:需要修改的属性值,
<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 |
注意 |
|
写入efuse mac¶
设置指令 |
AT+EFUSEMAC=<mac_addr>,<type> |
|---|---|
响应 |
|
参数说明 |
<mac_addr>:需要设置的mac_addr,全0,全1,组播地址会自动返错,设置失败 <type>:设置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? |
|---|---|
响应 |
|
参数说明 |
无 |
示例 |
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>] |
|---|---|
响应 |
|
参数说明 |
|
示例 |
按以下流程依次将最低位和次低位写1:
|
注意 |
-efuse_data数据位宽必须为128bit,为0的数据位不可省略,该命令只在产测版本可使用。 写入eduse_data时需注意,要写入的bit位写1,不需要写入的bit位写0。 写入的bit位不能与之前已写入的bit位有重叠。 由于efuse只能将bit位从0写为1,不能从1写为0,本命令也有同样的约束。 |
查询用户预留位¶
设置指令 |
AT+CUSTOMEFUSE? |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+CUSTOMEFUSE? RESERVED EFUSE:0x1032547698badcfeefcdab8967452301 OK |
注意 |
该命令只在产测版本可使用。 |
打印版本号¶
设置指令 |
AT+CSV |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+CSV SDK Version:1.10.T0 OK |
注意 |
- |
打印死机信息¶
设置指令 |
AT+DUMP |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
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> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+LOGL=1 //设置打印等级 +LOGL:1 OK AT+LOGL //查询打印等级 +LOGL:1 OK |
注意 |
|
设置IO工作模式¶
设置指令 |
AT+SETIOMODE=<GPIO ID>,<MODE>,<PULL>,<DS> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+SETIOMODE=1,2,3,4 +SETIOMODE:<GPIO ID>,<MODE>,<PULL>,<DS> OK |
注意 |
查询IO工作模式¶
设置指令 |
AT+GETIOMODE=<GPIO ID> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+GETIOMODE=1 +GETIOMODE:<GPIO ID>,<MODE>,<PULL>,<DS> OK
|
注意 |
- |
设置GPIO工作为输入或输出¶
设置指令 |
AT+GPIODIR=<GPIO ID>,<DIR> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+GPIODIR=2,1 +GPIODIR:<GPIO ID>,<DIR> OK |
注意 |
当查询的ID对应管脚不为GPIO复用状态时会返错 |
设置GPIO的电平状态¶
设置指令 |
AT+WTGPIO=<GPIO ID>,<LEVEL> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+WTGPIO=3,1 +WRGPIO:<GPIO ID>,<DIR>,<LEVEL> OK
|
注意 |
当查询的ID对应管脚不为输出模式时会返错 |
读取GPIO的电平状态¶
设置指令 |
AT+RDGPIO=<GPIO ID> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+RDGPIO=2 +RDGPIO:<GPIO ID>,<DIR>,<LEVEL> OK
|
注意 |
- |
写入第二个用户预留位¶
须知: 该写入为不可逆操作,写入的EFUSE位为复用安全启动中根公钥HASH的EFUSE区域,写入该区域后,将无法使用安全启动功能。
设置指令 |
AT+CUSTOMEFUSEREUSEFAPC=<efuse_data> |
|---|---|
响应 |
|
参数说明 |
|
示例 |
AT+CUSTOMEFUSEREUSEFAPC=0x0123456789abcdef2546565487341248 OK |
注意 |
-efuse_data数据位宽必须为128bit,高位为0时不可省略,该命令只在产测版本可使用。 -该命令最多可执行成功两次,第二次写入时为在第一次写入内容的尾部追加写入,非覆盖。 |
查询第二个用户预留位¶
设置指令 |
AT+CUSTOMEFUSEREUSEFAPC? |
|---|---|
响应 |
|
参数说明 |
- |
示例 |
AT+CUSTOMEFUSEREUSEFAPC? RESERVED2 EFUSE:0x1032547698badcfeefcdab8967452301 OK |
注意 |
-该命令只在产测版本可使用。 -该命令优先读取第二组128bit数据,读取为空后(全0)会读取第一组数据,第一组数据也为空时,返回全0数据。 |
AT+SETUART 配置串口功能¶
设置指令 |
AT+SETUART=<debug_uart>,<at_uart>,<hso_uart> |
|---|---|
响应 |
|
参数说明 |
<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 |
注意 |
|




