AT模块 7: BLE 相关 AT 命令(BLE Related AT Commands)

来自Bouffalo Lab Docs
跳转到导航 跳转到搜索

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