AT模块 7: BLE 相关 AT 命令(BLE Related AT Commands)
BLE 相关 AT 命令
指令列表
| 指令 | 描述 |
|---|---|
AT+BLEINIT
|
初始化 BLE |
AT+BLEADDR
|
BLE 地址 |
AT+BLENAME
|
设置 BLE 设备名称 |
AT+BLESCANPARAM
|
设置 BLE 扫描参数 |
AT+BLESCAN
|
启用 BLE 扫描 |
AT+BLESCANRSPDATA
|
设置 BLE SCAN 响应数据 |
AT+BLEADVPARAM
|
设置 BLE 广播参数 |
AT+BLEADVDATA
|
设置 BLE 广播数据 |
AT+BLEADVSTART
|
启用 BLE 广播 |
AT+BLEADVSTOP
|
停止 BLE 广播 |
AT+BLECONN
|
建立 BLE 连接 |
AT+BLECONNPARAM
|
更新 BLE 连接参数 |
AT+BLEDISCONN
|
断开 BLE 连接 |
AT+BLEDATALEN
|
设置 BLE 数据包长度 |
AT+BLEEXCHANGEMTU
|
交换 BLE MTU 大小 |
AT+BLEGATTSSRV
|
GATTS 发现服务 |
AT+BLEGATTSSRVCRE
|
GATTS 创建服务 |
AT+BLEGATTSSRVDEL
|
GATTS 删除服务 |
AT+BLEGATTSREGISTER
|
GATTS 服务注册/注销 |
AT+BLEGATTSCHAR
|
GATTS 发现特征值 |
AT+BLEGATTSCHARCRE
|
GATTS 创建特征值 |
AT+BLEGATTSNTFY
|
GATTS 特征值通知 |
AT+BLEGATTSIND
|
GATTS 特征值指示 |
AT+BLEGATTSRD
|
GATTS 特征值读取 |
AT+BLEGATTCSRVDIS
|
GATTC 发现服务 |
AT+BLEGATTCCHARDIS
|
GATTC 发现特征值 |
AT+BLEGATTCWR
|
GATTC 特征值写入 |
AT+BLEGATTCRD
|
GATTC 特征值读取 |
AT+BLEGATTCSUBSCRIBE
|
GATTC 订阅服务器 |
AT+BLEGATTCUNSUBSCRIBE
|
GATTC 取消订阅服务器 |
AT+BLETXPWR
|
BLE TX 功率 |
AT+BLESECPARAM
|
设置/查询 BLE 安全参数 |
AT+BLESECCANCEL
|
BLE 取消配对 |
AT+BLESECPASSKEYCONFIRM
|
BLE 配对 passkey 确认 |
AT+BLESECPAIRINGCONFIRM
|
BLE 配对确认 |
AT+BLESECPASSKEY
|
BLE 配对密码输入 |
AT+BLESECGETLTKLIST
|
查询 BLE 已配对设备列表 |
AT+BLESECUNPAIR
|
BLE 取消配对 |
AT+BLESECSTART
|
BLE 开始配对 |
AT+BLEBASINIT
|
BLE BAS profile 初始化 |
AT+BLEBASDEINIT
|
BLE BAS profile 去初始化 |
AT+BLEBASLVLGET
|
获取 BLE BAS profile 电量等级 |
AT+BLEBASLVLSET
|
设置 BLE BAS profile 电量等级 |
AT+BLEIASINIT
|
BLE IAS profile 初始化 |
AT+BLEIASDEINIT
|
BLE IAS profile 去初始化 |
AT+BLEDISINIT
|
BLE DIS profile 初始化 |
AT+BLEDISDEINIT
|
BLE DIS profile 去初始化 |
AT+BLEDISSET
|
BLE DIS profile 设置 |
---
BLE AT 命令描述
AT+BLEINIT
功能: BLE 初始化
查询命令
功能:
检查 BLE 的初始化状态。
命令:
AT+BLEINIT?
响应:
如果 BLE 已初始化,AT 将返回:
+BLEINIT:<role> OK
如果 BLE 未初始化,AT 将返回:
+BLEINIT:0 OK
设置命令
功能:
初始化 BLE。
命令:
AT+BLEINIT=<init>
响应:
OK
参数
<init>:
* 0: 去初始化 BLE * 1: 客户端角色 * 2: 服务器角色
---
AT+BLEADDR
功能: 查询/设置 BLE 地址
查询命令
功能:
查询 BLE 设备地址。
命令:
AT+BLEADDR?
响应:
+BLEADDR:<BLE_public_addr> OK
设置命令
功能:
设置 BLE 设备地址。
命令:
AT+BLEADDR=<BLE_public_addr>
响应:
OK
参数
<BLE_public_addr>: BLE 公共地址
---
AT+BLENAME
功能: 查询/设置 BLE 设备名称
查询命令
功能:
查询 BLE 设备名称。
命令:
AT+BLENAME?
响应:
+BLENAME:<device_name> OK
设置命令
功能:
设置 BLE 设备名称。
命令:
AT+BLENAME=<device_name>
响应:
OK
参数
<device_name>: BLE 设备名称。最大长度为 29。
---
AT+BLESCANPARAM
功能: 查询/设置 BLE 扫描参数
查询命令
功能:
查询 BLE 扫描参数。
命令:
AT+BLESCANPARAM?
响应:
+BLESCANPARAM:<scan_type>,<own_addr_type>,<filter_policy>,<scan_interval>,<scan_window> OK
设置命令
功能:
设置 BLE 扫描参数。
命令:
AT+BLESCANPARAM=<scan_type>,<own_addr_type>,<filter_policy>,<scan_interval>,<scan_window>
响应:
OK
参数
<scan_type>:
* 0: 被动扫描 * 1: 主动扫描
<own_addr_type>:
* 0: 公共地址 * 1: 随机地址 * 2: RPA 公共地址 * 3: RPA 随机地址
<filter_policy>:
* 0: BLE_SCAN_FILTER_ALLOW_ALL * 1: BLE_SCAN_FILTER_ALLOW_ONLY_WLST * 2: BLE_SCAN_FILTER_ALLOW_UND_RPA_DIR * 3: BLE_SCAN_FILTER_ALLOW_WLIST_PRA_DIR
<scan_interval>: 扫描间隔。应大于或等于<scan_window>的值。此参数范围为 [0x0004,0x4000]。扫描间隔等于此参数乘以 0.625 ms,因此实际扫描间隔范围为 [2.5,10240] ms。
<scan_window>: 扫描窗口。应小于或等于<scan_interval>的值。此参数范围为 [0x0004,0x4000]。扫描窗口等于此参数乘以 0.625 ms,因此实际扫描窗口范围为 [2.5,10240] ms。
---
AT+BLESCAN
功能: 启用 BLE 扫描
设置命令
功能:
启用/禁用扫描。
命令:
AT+BLESCAN=<enable>
响应:
+BLESCAN:<addr>,<rssi>,<adv_data>,<scan_rsp_data>,<addr_type> OK
参数
<enable>:
* 1: 启用连续扫描 * 0: 禁用连续扫描
<addr>: BLE 地址
<rssi>: 信号强度
<adv_data>: 广播数据
<scan_rsp_data>: 扫描响应数据
<addr_type>: 广播者的地址类型
示例
AT+BLEINIT=1 // 角色: 客户端 AT+BLESCAN=1 // 开始扫描 AT+BLESCAN=0 // 停止扫描
---
AT+BLESCANRSPDATA
功能: 设置 BLE SCAN 响应数据
设置命令
功能:
设置扫描响应。
命令:
AT+BLESCANRSPDATA=<scan_rsp_data>
响应:
OK
参数
<scan_rsp_data>: 扫描响应数据为 HEX 字符串。例如,如果您想将响应数据设置为 "02010606095757575757",命令应为 AT+BLESCANRSPDATA="02010606095757575757"。BT_DATA_NAME_COMPLETE DATA 索引必须为 2,如 AT+BLESCANRSPDATA="02010606095757575757"。
示例
AT+BLEINIT=2 // 角色: 服务器 AT+BLESCANRSPDATA="02010606095757575757"
---
AT+BLEADVPARAM
功能: 查询/设置 BLE 广播参数
查询命令
功能:
查询广播参数。
命令:
AT+BLEADVPARAM?
响应:
+BLEADVPARAM:<adv_int_min>,<adv_int_max>,<adv_type>,<channel_map> OK
设置命令
功能:
设置广播参数。
命令:
AT+BLEADVPARAM=<adv_int_min>,<adv_int_max>,<adv_type>,<channel_map>
响应:
OK
参数
<adv_int_min>: 最小广播间隔。此参数范围为 [0x0020,0x4000]。实际广播间隔等于此参数乘以 0.625 ms,因此实际最小间隔范围为 [20, 10240] ms。应小于或等于<adv_int_max>的值。
<adv_int_max>: 最大广播间隔。此参数范围为 [0x0020,0x4000]。实际广播间隔等于此参数乘以 0.625 ms,因此实际最大间隔范围为 [20, 10240] ms。应大于或等于<adv_int_min>的值。
<adv_type>:
* 0: ADV_TYPE_IND * 1: ADV_TYPE_SCAN_IND * 2: ADV_TYPE_NONCONN_IND
<channel_map>: 广播信道
* 1: ADV_CHNL_37 * 2: ADV_CHNL_38 * 4: ADV_CHNL_39 * 7: ADV_CHNL_ALL
示例
AT+BLEINIT=2 // 角色: 服务器 AT+BLEADVPARAM=160,320,0,7
---
AT+BLEADVDATA
功能: 设置 BLE 广播数据
设置命令
功能:
设置广播数据。
命令:
AT+BLEADVDATA=<adv_data>
响应:
OK
参数
<adv_data>: HEX 字符串格式的广播数据。例如,要将广播数据设置为 "02010606095757575757",命令应为 AT+BLEADVDATA="02010606095757575757"。最大长度为 31 字节。
示例
AT+BLEINIT=2 // 角色: 服务器 AT+BLEADVDATA="02010606095757575757"
---
AT+BLEADVSTART
功能: 启动 BLE 广播
执行命令
功能:
启动广播。
命令:
AT+BLEADVSTART
响应:
OK
示例
AT+BLEINIT=2 // 角色: 服务器 AT+BLEADVSTART
---
AT+BLEADVSTOP
功能: 停止 BLE 广播
执行命令
功能:
停止广播。
命令:
AT+BLEADVSTOP
响应:
OK
示例
AT+BLEINIT=2 // 角色: 服务器 AT+BLEADVSTART AT+BLEADVSTOP
---
AT+BLECONN
功能: 建立 BLE 连接
查询命令
功能:
查询 Bluetooth LE 连接。
命令:
AT+BLECONN?
响应:
+BLECONN:<conn_index>,<remote_address> OK
如果连接尚未建立,响应中将没有 <conn_index> 和 <remote_address>。
设置命令
功能:
建立 BLE 连接。
命令:
AT+BLECONN=<conn_index>,<remote_address>[,<addr_type>,<timeout>]
响应:
如果连接成功建立,将提示:
+BLECONN:<conn_index>,<remote_address> OK
如果连接失败,将提示:
+BLECONN:<conn_index>,-1 ERROR
如果连接由于参数错误或其他原因失败,将提示:
ERROR
参数
<conn_index>: BLE 连接索引。范围: [0,1]
<remote_address>: 远程 BLE 地址
<addr_type>: 广播者的地址类型
* 0: 公共地址 * 1: 随机地址
<timeout>: 连接请求超时(可选)。范围: [3,30]
示例
AT+BLEINIT=1 // 角色: 客户端 AT+BLECONN=0,"11:22:33:44:55:66",0,10
---
AT+BLECONNPARAM
功能: 查询/更新 BLE 连接参数
查询命令
功能:
查询 BLE 连接参数。
命令:
AT+BLECONNPARAM?
响应:
+BLECONNPARAM:<conn_index>,<min_interval>,<max_interval>,<cur_interval>,<latency>,<timeout> OK
设置命令
功能:
更新 BLE 连接参数。
命令:
AT+BLECONNPARAM=<conn_index>,<min_interval>,<max_interval>,<latency>,<timeout>
响应:
OK
如果设置失败,将提示以下消息:
+BLECONNPARAM: <conn_index>,-1
参数
<conn_index>: BLE 连接索引。范围: [0,1]
<min_interval>: 最小连接间隔。应小于或等于<max_interval>的值。此参数范围为 [0x0006,0x0C80]。实际连接间隔等于此参数乘以 1.25 ms,因此实际最小间隔范围为 [7.5,4000] ms。
<max_interval>: 最大连接间隔。应大于或等于<min_interval>的值。此参数范围为 [0x0006,0x0C80]。实际连接间隔等于此参数乘以 1.25 ms,因此实际最大间隔范围为 [7.5,4000] ms。
<cur_interval>: 当前连接间隔
<latency>: 延迟。范围: [0x0000,0x01F3]
<timeout>: 超时。此参数范围为 [0x000A,0x0C80]。实际超时等于此参数乘以 10 ms,因此实际超时范围为 [100,32000] ms。
示例
AT+BLEINIT=1 // 角色: 客户端 AT+BLECONN=0,"11:22:33:44:55:66",0,10 AT+BLECONNPARAM=0,12,14,1,500
---
AT+BLEDISCONN
功能: 断开 BLE 连接
执行命令
功能:
断开 BLE 连接。
命令:
AT+BLEDISCONN=<conn_index>
响应:
OK // AT+BLEDISCONN 命令已接收 +BLEDISCONN:<conn_index>,<remote_address> // 命令执行成功
参数
<conn_index>: BLE 连接索引。范围: [0,1]
<remote_address>: 远程 BLE 地址
示例
AT+BLEINIT=1 // 角色: 客户端 AT+BLECONN=0,"11:22:33:44:55:66",0,10 AT+BLEDISCONN=0
---
AT+BLEDATALEN
功能: 设置 BLE 数据包长度
查询命令
功能:
设置 BLE 数据包长度。
命令:
AT+BLEDATALEN=<conn_index>,<tx_octets>,<tx_time>
响应:
OK
参数
<conn_index>: BLE 连接索引。范围: [0,1]
<tx_octets>: 数据包长度。范围: [27,251]
<tx_time>: 数据包传输时间
注意: 必须先建立 BLE 连接。
示例
AT+BLEINIT=1 // 角色: 客户端 AT+BLECONN=0,"11:22:33:44:55:66",0,10 AT+BLEDATALEN=0,251,2120
---
AT+BLEEXCHANGEMTU
功能: 交换 BLE MTU 长度
设置命令
功能:
设置最大传输单元 (MTU) 的长度。
命令:
AT+BLEEXCHANGEMTU=<conn_index>
响应:
OK
参数
<conn_index>: BLE 连接索引。范围: [0,1]
示例
AT+BLEINIT=1 // 角色: 客户端 AT+BLECONN=0,"11:22:33:44:55:66",0,10 BLEEXCHANGEMTU=0
---
AT+BLEGATTSSRV
功能: GATTS 发现服务
查询命令
功能:
GATTS 发现服务。
命令:
AT+BLEGATTSSRV?
响应:
+BLEGATTSSRV:<srv_index>,<srv_uuid>,<srv_type>,<uuid_type> OK
参数
<srv_index>: 服务索引,从 0 到 2
<srv_uuid>: 服务的 UUID
<srv_type>: 服务类型
* 0: 非主服务 * 1: 主服务
<uuid_type>: UUID 类型
* 0: 16 位 UUID * 2: 128 位 UUID
示例
AT+BLEINIT=2 // 角色: 服务器 AT+BLEGATTSSRV?
---
AT+BLEGATTSSRVCRE
功能: GATTS 创建服务
设置命令
功能:
通用属性服务器 (GATTS) 创建 BLE 服务。
命令:
AT+BLEGATTSSRVCRE=<srv_index>,<srv_uuid>,<srv_type>,<uuid_type>
响应:
OK
参数
<srv_index>: 服务索引,从 0 到 1
<srv_uuid>: 服务的 UUID
<srv_type>: 服务类型
* 0: 非主服务 * 1: 主服务
<uuid_type>: UUID 类型
* 0: 16 位 UUID * 2: 128 位 UUID
示例
AT+BLEINIT=2 // 角色: 服务器 AT+BLEGATTSSRVCRE=0,"01020304010203040102030401020304",1,2
---
AT+BLEGATTSSRVDEL
功能: GATTS 删除服务
设置命令
功能:
通用属性服务器 (GATTS) 删除 BLE 服务。
命令:
AT+BLEGATTSSRVDEL=<srv_index>
响应:
OK
参数
<srv_index>: 服务索引,从 0 到 2
示例
AT+BLEINIT=2 // 角色: 服务器 AT+BLEGATTSSRVDEL=0
---
AT+BLEGATTSREGISTER
功能: GATTS 服务注册/注销
设置命令
功能:
GATTS 服务注册/注销。
命令:
AT+BLEGATTSREGISTER=<enable>
响应:
OK
参数
<enable>: 1: 注册,0: 注销
示例
AT+BLEINIT=2 // 角色: 服务器 AT+BLEGATTSSRVCRE=0,"01020304010203040102030401020304",1,2 // 先创建服务 AT+BLEGATTSCHARCRE=0,0,"01020304010203040102030401020305",2,3,2 // 写属性(read) (read|write) AT+BLEGATTSREGISTER=1 // 注册服务
---
AT+BLEGATTSCHAR
功能: GATTS 发现特征值
查询命令
功能:
GATTS 发现特征值。
命令:
AT+BLEGATTSCHAR?
响应:
+BLEGATTSCHAR:<srv_index>,<char_index>,<char_uuid>,<char_prop>,<uuid_type> OK
参数
<srv_index>: 服务索引,从 0 到 2
<char_index>: 特征值索引,从 0 到 4
<char_uuid>: 特征值的 UUID
<char_prop>: 特征值属性
* 2: 特征值读属性 * 4: 特征值无响应写属性 * 8: 特征值有响应写属性 * 16: 特征值通知属性 * 32: 特征值指示属性
<uuid_type>: UUID 类型
* 0: 16 位 UUID * 2: 128 位 UUID
---
AT+BLEGATTSCHARCRE
功能: GATTS 创建特征值
设置命令
功能:
通用属性服务器 (GATTS) 创建 BLE 服务的特征值。
命令:
AT+BLEGATTSCHARCRE=<srv_index>,<char_index>,<char_uuid>,<char_prop>,<char_perm>,<uuid_type>
响应:
OK
参数
<srv_index>: 服务索引,从 0 到 2
<char_index>: 特征值索引,从 0 到 4
<char_uuid>: 特征值的 UUID
<char_prop>: 特征值属性
* 2: 特征值读属性 * 4: 特征值无响应写属性 * 8: 特征值有响应写属性 * 16: 特征值通知属性 * 32: 特征值指示属性
<char_perm>: 特征值权限
* 1: 读权限 * 2: 写权限
<uuid_type>: UUID 类型
* 0: 16 位 UUID * 2: 128 位 UUID
示例
AT+BLEINIT=2 // 角色: 服务器 AT+BLEGATTSSRVCRE=0,"01020304010203040102030401020304",1,2 // 先创建服务 AT+BLEGATTSCHARCRE=0,0,"01020304010203040102030401020305",2,3,2 // 写属性(read) (read|write)
---
AT+BLEGATTSNTFY
功能: 从服务器向客户端通知特征值
设置命令
功能:
从服务器向客户端通知特征值。
命令:
AT+BLEGATTSNTFY=<srv_index>,<char_index>,<length>
响应:
>
符号 > 表示 AT 已准备好接收串口数据,您现在可以输入数据。当满足由参数 <length> 确定的数据长度要求时,通知开始。
如果数据传输成功,AT 返回:
OK
参数
<srv_index>: 服务索引,从 0 到 2
<char_index>: 特征值索引,从 0 到 4
<length>: 最大数据长度为 244
示例
AT+BLEINIT=2 // 角色: 服务器 AT+BLEGATTSSRVCRE=0,"01020304010203040102030401020304",1,2// 先创建服务 AT+BLEGATTSCHARCRE=0,0,"01020304010203040102030401020305",8,2 // 通知属性 AT+BLEGATTSNTFY=0,0,4 // 在符号 ">" 显示后,输入 4 字节数据,例如 "1234"。然后数据将自动传输。
---
AT+BLEGATTSIND
功能: 从服务器向客户端指示特征值
设置命令
功能:
从服务器向客户端指示特征值。
命令:
AT+BLEGATTSIND=<srv_index>,<char_index>,<length>
响应:
>
符号 > 表示 AT 已准备好接收串口数据,您现在可以输入数据。当满足由参数 <length> 确定的数据长度要求时,通知开始。
如果数据传输成功,AT 返回:
OK
参数
<srv_index>: 服务索引,从 0 到 2
<char_index>: 特征值索引,从 0 到 4
<length>: 最大数据长度为 244
示例
AT+BLEINIT=2 // 角色: 服务器 AT+BLEGATTSSRVCRE=0,"01020304010203040102030401020304",1,2 // 先创建服务 AT+BLEGATTSCHARCRE=0,0,"01020304010203040102030401020305",16,2 // 指示属性 AT+BLEGATTSIND=0,0,4 // 在符号 ">" 显示后,输入 4 字节数据,例如 "1234"。然后数据将自动传输。
---
AT+BLEGATTSRD
功能: 设置客户端从服务器读取特征值时的数据
设置命令
功能:
设置客户端从服务器读取特征值时的数据。
命令:
AT+BLEGATTSRD=<srv_index>,<char_index>,<length>
响应:
>
符号 > 表示 AT 已准备好接收串口数据,您现在可以输入数据。当满足由参数 <length> 确定的数据长度要求时,通知开始。
如果数据传输成功,AT 返回:
OK
参数
<srv_index>: 服务索引,从 0 到 2
<char_index>: 特征值索引,从 0 到 4
<length>: 最大数据长度为 244
示例
AT+BLEINIT=2 // 角色: 服务器 AT+BLEGATTSSRVCRE=0,"01020304010203040102030401020304",1,2 // 先创建服务 AT+BLEGATTSCHARCRE=0,0,"01020304010203040102030401020305",1,2 // 读属性 AT+BLEGATTSRD=0,0,4 // 在符号 ">" 显示后,输入 4 字节数据,例如 "1234"。然后当客户端从服务器读取特征值时,数据将自动传输。
---
AT+BLEGATTCSRVDIS
功能: GATTC 发现服务
设置命令
功能:
GATTC 发现服务。
命令:
AT+BLEGATTCSRVDIS=<conn_index>
响应:
+BLESRV:<conn_index>,<srv_index>,<srv_uuid>,<srv_type>,<start_handle>,<end_handle> OK
参数
<conn_index>: BLE 连接索引。范围: [0,1]
<srv_index>: 服务索引,从 1 开始
<srv_uuid>: 服务的 UUID
<srv_type>: 服务类型
* 0: 非主服务 * 1: 主服务
注意: 必须先建立 BLE 连接。
示例
AT+BLEINIT=1 // 角色: 客户端 AT+BLECONN=0,"11:22:33:44:55:66",0,10 AT+BLEGATTCSRVDIS=0
---
AT+BLEGATTCCHARDIS
功能: GATTC 发现特征值
设置命令
功能:
GATTC 发现特征值。
命令:
AT+BLEGATTCCHARDIS=<conn_index>,<srv_index>
响应:
+BLESRVCHAR:<conn_index>,<srv_index>,<char_index>,<char_uuid>,<char_prop>,<char_handle>,<char_value_handle> OK
参数
<conn_index>: BLE 连接索引。范围: [0,1]
<srv_index>: 服务索引,从 1 开始
<char_index>: 特征值索引,从 1 开始
<char_uuid>: 特征值的 UUID
<char_prop>: 特征值属性
* 1: 特征值读属性 * 2: 特征值无响应写属性 * 4: 特征值有响应写属性 * 8: 特征值通知属性 * 16: 特征值指示属性
注意: 必须先建立 BLE 连接并先发现服务。
示例
AT+BLEINIT=1 // 角色: 客户端 AT+BLECONN=0,"11:22:33:44:55:66",0,10 AT+BLEGATTCSRVDIS=0 AT+BLEGATTCCHARDIS=0,1
---
AT+BLEGATTCWR
功能: GATTC 写入特征值
设置命令
功能:
GATTC 写入特征值。
命令:
AT+BLEGATTCWR=<conn_index>,<srv_index>,<char_index>,<length>
响应:
>
符号 > 表示 AT 已准备好接收串口数据,您现在可以输入数据。当满足由参数 <length> 确定的数据长度要求时,通知开始。
如果数据传输成功,AT 返回:
OK
参数
<conn_index>: BLE 连接索引。范围: [0,1]
<srv_index>: 服务索引,从 1 开始
<char_index>: 特征值索引,从 1 开始
<length>: 最大数据长度为 244
示例
AT+BLEINIT=1 // 角色: 客户端 AT+BLECONN=0,"11:22:33:44:55:66",0,10 AT+BLEGATTCSRVDIS=0 AT+BLEGATTCCHARDIS=0,1 AT+BLEGATTCWR=0,1,2,4 // 在符号 ">" 显示后,输入 4 字节数据,例如 "1234"。然后数据将自动传输。
---
AT+BLEGATTCRD
功能: GATTC 读取特征值
设置命令
功能:
GATTC 读取特征值。
命令:
AT+BLEGATTCRD=<conn_index>,<srv_index>,<char_index>
响应:
+BLEREAD:<conn_index>,<srv_index>,<char_index>,<length> OK
参数
<conn_index>: BLE 连接索引。范围: [0,1]
<srv_index>: 服务索引,从 1 开始
<char_index>: 特征值索引,从 1 开始
<length>: 数据长度
示例
AT+BLEINIT=1 // 角色: 客户端 AT+BLECONN=0,"11:22:33:44:55:66",0,10 AT+BLEGATTCSRVDIS=0 AT+BLEGATTCCHARDIS=0,1 AT+BLEGATTCRD=0,1,1
---
AT+BLEGATTCSUBSCRIBE
功能: GATTC 订阅服务器
设置命令
功能:
GATTC 订阅服务器。
命令:
AT+BLEGATTCSUBSCRIBE=<conn_index>,<ccc_handle>,<value_handle>,<value>
响应:
OK
参数
<conn_index>: BLE 连接索引。范围: [0,1]
<ccc_handle>: 客户端特征值配置描述符句柄
<value_handle>: 特征值句柄
<value>: 1: 通知,2: 指示
示例
AT+BLEINIT=1 // 角色: 客户端 AT+BLECONN=0,"11:22:33:44:55:66",0,10 AT+BLEGATTCSUBSCRIBE=0,15,14,1
---
AT+BLEGATTCUNSUBSCRIBE
功能: GATTC 取消订阅服务器
设置命令
功能:
GATTC 取消订阅服务器。
命令:
AT+BLEGATTCUNSUBSCRIBE=<conn_index>,<value_handle>
响应:
OK
参数
<conn_index>: BLE 连接索引。范围: [0,1]
<value_handle>: 特征值句柄
示例
AT+BLEINIT=1 // 角色: 客户端 AT+BLECONN=0,"11:22:33:44:55:66",0,10 AT+BLEGATTCUNSUBSCRIBE=0,14
---
AT+BLETXPWR
功能: 查询/设置 BLE TX 功率
查询命令
功能:
查询 BLE TX 功率。
命令:
AT+BLETXPWR?
响应:
+BLETXPWR:<tx_power> 范围: [0,20] OK
设置命令
功能:
设置 BLE TX 功率。
命令:
AT+BLETXPWR=<tx_power>
响应:
OK
参数
<tx_power>: 发射功率
示例
AT+BLEINIT=1 // 或 AT+BLEINIT=2 AT+BLETXPWR=10
---
AT+BLESECPARAM
功能: 设置/查询 BLE 安全参数
查询命令
功能:
查询 BLE 安全参数。
命令:
AT+BLESECPARAM?
响应:
+BLESECPARAM:<security parameter> OK
设置命令
功能:
设置 BLE 安全参数。
命令:
AT+BLESECPARAM=<security parameter>
响应:
OK
参数
<security parameter>: 安全参数
* BT_SMP_IO_DISPLAY_ONLY 0 * BT_SMP_IO_DISPLAY_YESNO 1 * BT_SMP_IO_KEYBOARD_ONLY 2 * BT_SMP_IO_NO_INPUT_OUTPUT 3 * BT_SMP_IO_KEYBOARD_DISPLAY 4
示例
AT+BLEINIT=1 // 或 AT+BLEINIT=2 AT+BLESECPARAM=4 // BT_SMP_IO_KEYBOARD_DISPLAY
---
AT+BLESECCANCEL
功能: BLE 取消配对
设置命令
功能:
BLE 取消配对。
命令:
AT+BLESECCANCEL=<conn_index>
响应:
OK
参数
<conn_index>: BLE 连接索引。范围: [0,1]
示例
AT+BLESECCANCEL=0
---
AT+BLESECPASSKEYCONFIRM
功能: BLE 配对 passkey 确认
设置命令
功能:
BLE 配对 passkey 确认。
命令:
AT+BLESECPASSKEYCONFIRM=<conn_index>
响应:
OK
参数
<conn_index>: BLE 连接索引。范围: [0,1]
示例
AT+BLESECPASSKEYCONFIRM=0
---
AT+BLESECPAIRINGCONFIRM
功能: BLE 配对确认
设置命令
功能:
BLE 配对确认。
命令:
AT+BLESECPAIRINGCONFIRM=<conn_index>
响应:
OK
参数
<conn_index>: BLE 连接索引。范围: [0,1]
示例
AT+BLESECPAIRINGCONFIRM=0
---
AT+BLESECPASSKEY
功能: BLE 配对密码输入
设置命令
功能:
BLE 配对密码输入。
命令:
AT+BLESECPASSKEY=<conn_index>,<passkey>
响应:
OK
参数
<conn_index>: BLE 连接索引。范围: [0,1]<passkey>: 配对密码。范围: [0,999999]
示例
AT+BLESECPASSKEY=0,123456
---
AT+BLESECGETLTKLIST
功能: 查询 BLE 已配对设备列表
查询命令
功能:
查询 BLE 已配对设备列表。
命令:
AT+BLESECGETLTKLIST?
响应:
+BTADDR 12:34:56:78:00:11 (public) LTK:01234567890123456789012345678900 OK
---
AT+BLESECUNPAIR
功能: BLE 取消配对
设置命令
功能:
BLE 取消配对。
命令:
AT+BLESECUNPAIR=<address>,<addrtype>
响应:
OK
参数
<addr>: BLE 地址<addr_type>: BLE 地址类型
示例
AT+BLESECUNPAIR="12:34:56:78:00:12",0
---
AT+BLESECSTART
功能: BLE 开始配对
设置命令
功能:
BLE 开始配对。
命令:
AT+BLESECSTART=<conn_index>,<sec_level>
响应:
OK
参数
<conn_index>: BLE 连接索引。范围: [0,1]<sec_level>: 安全等级。范围: [0,4]
* BT_SECURITY_L0 0 : 仅用于 BR/EDR 特殊情况,如 SDP * BT_SEC_LEVEL_1 1 : 无加密和无认证 * BT_SEC_LEVEL_2 2 : 加密且无认证 (无 MITM) * BT_SEC_LEVEL_3 3 : 加密和认证 (MITM) * BT_SEC_LEVEL_4 4 : 认证安全连接和 128 位密钥
示例
AT+BLESECSTART=0,4
---
AT+BLEBASINIT
功能: 初始化 Bluetooth BAS profile
执行命令
命令:
AT+BLEBASINIT
响应:
OK
---
AT+BLEBASDEINIT
功能: 去初始化 Bluetooth BAS profile
执行命令
命令:
AT+BLEBASDEINIT
响应:
OK
---
AT+BLEBASLVLGET
功能: 查询 BLE BAS 电量等级
查询命令
功能:
查询 BLE BAS 电量等级。
命令:
AT+BLEBASLVLGET?
响应:
+BLE:BASLEVEL:100 (level) OK
---
AT+BLEBASLVLSET
功能: 设置 BLE BAS 电量等级
设置命令
命令:
AT+BLEBASLVLSET=<conn idx>,<level>
响应:
OK
参数
<conn_index>: BLE 连接索引。范围: [0,1]<level>: 电池电量。范围: [0,100]
示例
AT+BLEBASLVLSET=0,100
---
AT+BLEIASINIT
功能: 初始化 Bluetooth IAS profile
执行命令
命令:
AT+BLEIASINIT
响应:
OK
---
AT+BLEIASDEINIT
功能: 去初始化 Bluetooth IAS profile
执行命令
命令:
AT+BLEIASDEINIT
响应:
OK
---
AT+BLEDISINIT
功能: 初始化 Bluetooth DIS profile
设置命令
命令:
AT+BLEDISINIT=<pnp_vid_src>,<pnp_vid>,<pnp_pid>,<pnp_ver>
响应:
OK
参数
<pnp_vid_src>
* 范围: <0,255>
<pnp_vid>
* 范围: <0,65535>
<pnp_pid>
* 范围: <0,65535>
<pnp_ver>
* 范围: <0,65535>
示例
AT+BLEDISINIT=100,101,102,103
---
AT+BLEDISDEINIT
功能: 去初始化 Bluetooth DIS profile
执行命令
命令:
AT+BLEDISDEINIT
响应:
OK
---
AT+BLEDISSET
功能: 设置 Bluetooth DIS profile
设置命令
命令:
AT+BLEDISSET=<parameter_name>,<parameter_value>,<parameter_len>
响应:
OK
参数
<parameter_name>:
* "manuf" : 制造商名称字符串 * "model" : 型号字符串 * "serial" : 序列号字符串 * "fw" : 固件版本字符串 * "hw" : 硬件版本字符串 * "sw" : 软件版本字符串
<parameter_value><parameter_len>范围: [0,21]
示例
AT+BLEDISSET="manuf","BL61x",6