.. _BLE-AT: [ESP32 Only] Bluetooth® Low Energy AT 命令集 ================================================== :link_to_translation:`en:[English]` ESP32 AT 固件支持 `蓝牙核心规范 5.0 版本 `_。 - [ESP32 Only] :ref:`AT+BLEINIT `:Bluetooth LE 初始化 - [ESP32 Only] :ref:`AT+BLEADDR `:设置 Bluetooth LE 设备地址 - [ESP32 Only] :ref:`AT+BLENAME `:查询/设置 Bluetooth LE 设备名称 - [ESP32 Only] :ref:`AT+BLESCANPARAM `:查询/设置 Bluetooth LE 扫描参数 - [ESP32 Only] :ref:`AT+BLESCAN `:使能 Bluetooth LE 扫描 - [ESP32 Only] :ref:`AT+BLESCANRSPDATA `:设置 Bluetooth LE 扫描响应 - [ESP32 Only] :ref:`AT+BLEADVPARAM `:查询/设置 Bluetooth LE 广播参数 - [ESP32 Only] :ref:`AT+BLEADVDATA `:设置 Bluetooth LE 广播数据 - [ESP32 Only] :ref:`AT+BLEADVDATAEX `:自动设置 Bluetooth LE 广播数据 - [ESP32 Only] :ref:`AT+BLEADVSTART `:开始 Bluetooth LE 广播 - [ESP32 Only] :ref:`AT+BLEADVSTOP `:停止 Bluetooth LE 广播 - [ESP32 Only] :ref:`AT+BLECONN `:建立 Bluetooth LE 连接 - [ESP32 Only] :ref:`AT+BLECONNPARAM `:查询/更新 Bluetooth LE 连接参数 - [ESP32 Only] :ref:`AT+BLEDISCONN `:断开 Bluetooth LE 连接 - [ESP32 Only] :ref:`AT+BLEDATALEN `:设置 Bluetooth LE 数据包长度 - [ESP32 Only] :ref:`AT+BLECFGMTU `:设置 Bluetooth LE MTU 长度 - [ESP32 Only] :ref:`AT+BLEGATTSSRVCRE `:GATTS 创建服务 - [ESP32 Only] :ref:`AT+BLEGATTSSRVSTART `:GATTS 开启服务 - [ESP32 Only] :ref:`AT+BLEGATTSSRVSTOP `:GATTS 停止服务 - [ESP32 Only] :ref:`AT+BLEGATTSSRV `:GATTS 发现服务 - [ESP32 Only] :ref:`AT+BLEGATTSCHAR `:GATTS 发现服务特征 - [ESP32 Only] :ref:`AT+BLEGATTSNTFY `:服务器 notify 服务特征值给客户端 - [ESP32 Only] :ref:`AT+BLEGATTSIND `:服务器 indicate 服务特征值给客户端 - [ESP32 Only] :ref:`AT+BLEGATTSSETATTR `:GATTS 设置服务特征值 - [ESP32 Only] :ref:`AT+BLEGATTCPRIMSRV `:GATTC 发现基本服务 - [ESP32 Only] :ref:`AT+BLEGATTCINCLSRV `:GATTC 发现包含的服务 - [ESP32 Only] :ref:`AT+BLEGATTCCHAR `:GATTC 发现服务特征 - [ESP32 Only] :ref:`AT+BLEGATTCRD `:GATTC 读取服务特征值 - [ESP32 Only] :ref:`AT+BLEGATTCWR `:GATTC 写服务特征值 - [ESP32 Only] :ref:`AT+BLESPPCFG `:查询/设置 Bluetooth LE SPP 参数 - [ESP32 Only] :ref:`AT+BLESPP `:进入 Bluetooth LE SPP 模式 - [ESP32 Only] :ref:`AT+BLESECPARAM `:查询/设置 Bluetooth LE 加密参数 - [ESP32 Only] :ref:`AT+BLEENC `:发起 Bluetooth LE 加密请求 - [ESP32 Only] :ref:`AT+BLEENCRSP `:回复对端设备发起的配对请求 - [ESP32 Only] :ref:`AT+BLEKEYREPLY `:给对方设备回复密钥(传统连接阶段) - [ESP32 Only] :ref:`AT+BLECONFREPLY `:给对方设备回复确认结果(传统连接阶段) - [ESP32 Only] :ref:`AT+BLEENCDEV `:查询绑定的 Bluetooth LE 加密设备列表 - [ESP32 Only] :ref:`AT+BLEENCCLEAR `:清除 Bluetooth LE 加密设备列表 - [ESP32 Only] :ref:`AT+BLESETKEY `:设置 Bluetooth LE 静态配对密钥 - [ESP32 Only] :ref:`AT+BLEHIDINIT `:Bluetooth LE HID 协议初始化 - [ESP32 Only] :ref:`AT+BLEHIDKB `:发送 Bluetooth LE HID 键盘信息 - [ESP32 Only] :ref:`AT+BLEHIDMUS `:发送 Bluetooth LE HID 鼠标信息 - [ESP32 Only] :ref:`AT+BLEHIDCONSUMER `:发送 Bluetooth LE HID consumer 信息 - [ESP32 Only] :ref:`AT+BLUFI `:开启或关闭 BluFi - [ESP32 Only] :ref:`AT+BLUFINAME `:查询/设置 BluFi 设备名称 .. _cmd-BINIT: [ESP32 Only] :ref:`AT+BLEINIT `:Bluetooth LE 初始化 --------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询 Bluetooth LE 是否初始化 **命令:** :: AT+BLEINIT? **响应:** 若已初始化,AT 返回: :: +BLEINIT: OK 若未初始化,AT 返回: :: +BLEINIT:0 OK 设置命令 ^^^^^^^^ **功能:** 设置 Bluetooth LE 初始化角色 **命令:** :: AT+BLEINIT= **响应:** :: OK 参数 ^^^^ - ****: - 0: 注销 Bluetooth LE - 1: client 角色 - 2: server 角色 说明 ^^^^ - 使用相关命令之前,请先下载 "at_customize.bin" 文件,详情请见 :doc:`../Compile_and_Develop/How_to_customize_BLE_services`。 - 使用其它 Bluetooth LE 命令之前,请先调用本命令,初始化 Bluetooth LE 角色。 - Bluetooth LE 角色初始化后,不能直接切换。如需切换角色,需要先调用 :ref:`AT+RST ` 命令重启系统,再重新初始化 Bluetooth LE 角色。 - 若使用 ESP 作为 Bluetooth LE server,需烧录 service bin 到 flash: - 对于如何生成 service bin 文件,请参考 esp-at/tools/readme.md; - service bin 文件的烧录地址,请见 esp-at/module_config/module_${platform}_default/at_customize.csv 文件中 "ble_data" 对应的地址。 示例 ^^^^ :: AT+BLEINIT=1 .. _cmd-BADDR: [ESP32 Only] :ref:`AT+BLEADDR `:设置 Bluetooth LE 设备地址 ------------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询 Bluetooth LE 设备的公共地址 **命令:** :: AT+BLEADDR? **响应:** :: +BLEADDR: OK 设置命令 ^^^^^^^^ **功能:** 设置 Bluetooth LE 设备的地址类型 **命令:** :: AT+BLEADDR=[,] **响应:** :: OK 参数 ^^^^ - ****: - 0: 公共地址 (Public Address) - 1: 随机地址 (Random Address) 说明 ^^^^ - 静态地址 (Static Address) 应满足以下条件: - 地址最高两位应为 1; - 随机地址部分至少有 1 位为 0; - 随机地址部分至少有 1 位为 1。 示例 ^^^^ :: AT+BLEADDR=1,"f8:7f:24:87:1c:7b" // 设置随机设备地址的静态地址 AT+BLEADDR=1 // 设置随机设备地址的私有地址 AT+BLEADDR=0 // 设置公共设备地址 .. _cmd-BNAME: [ESP32 Only] :ref:`AT+BLENAME `:查询/设置 Bluetooth LE 设备名称 --------------------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询 Bluetooth LE 设备名称 **命令:** :: AT+BLENAME? **响应:** :: +BLENAME: OK 设置命令 ^^^^^^^^ **功能:** 设置 Bluetooth LE 设备名称 **命令:** :: AT+BLENAME= **响应:** :: OK 参数 ^^^^ - ****:Bluetooth LE 设备名称,最大长度:32,默认名称为 "BLE_AT"。 说明 ^^^^ - 若 :ref:`AT+SYSSTORE=1 `,配置更改将保存在 NVS 区。 示例 ^^^^ :: AT+BLENAME="esp_demo" .. _cmd-BSCANP: [ESP32 Only] :ref:`AT+BLESCANPARAM `:查询/设置 Bluetooth LE 扫描参数 --------------------------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询 Bluetooth LE 扫描参数 **命令:** :: AT+BLESCANPARAM? **响应:** :: +BLESCANPARAM:,,,, OK 设置命令 ^^^^^^^^ **功能:** 设置 Bluetooth LE 扫描参数 **命令:** :: AT+BLESCANPARAM=,,,, **响应:** :: OK 参数 ^^^^ - ****:扫描类型 - 0: 被动扫描 - 1: 主动扫描 - ****:地址类型 - 0: 公共地址 - 1: 随机地址 - 2: RPA 公共地址 - 3: RPA 随机地址 - ****:扫描过滤方式 - 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 - ****:扫描间隔 - ****:扫描窗口 说明 ^^^^ - ```` 参数的值不能大于 ```` 的值。 示例 ^^^^ :: AT+BLEINIT=1 // 角色:客户端 AT+BLESCANPARAM=0,0,0,100,50 .. _cmd-BSCAN: [ESP32 Only] :ref:`AT+BLESCAN `:使能 Bluetooth LE 扫描 ---------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** 开始/停止 Bluetooth LE 扫描 **命令:** :: AT+BLESCAN=[,][,,] **响应:** :: +BLESCAN:,,,, OK 参数 ^^^^ - ****: - 1: 开始持续扫描 - 0: 停止持续扫描 - **[]**:扫描持续时间,单位:秒。 - 若设置停止扫描,无需设置本参数; - 若设置开始扫描,需设置本参数: - 本参数设为 0 时,则表示开始持续扫描; - 本参数设为非 0 值时,例如 ``AT+BLESCAN=1,3``,则表示扫描 3 秒后自动结束扫描,然后返回扫描结果。 - **[]**:过滤选项 - 1: "MAC" - 2: "NAME" - ****:过滤参数,表示对方设备 MAC 地址或名称 - ****:Bluetooth LE 地址 - ****:信号强度 - ****:广播数据 - ****:扫描响应数据 - ****:广播设备地址类型 说明 ^^^^ - 响应中的 ``OK`` 和 ``+BLESCAN:,,,,`` 在输出顺序上没有严格意义上的先后顺序。``OK`` 可能在 ``+BLESCAN:,,,,`` 之前输出,也有可能在 ``+BLESCAN:,,,,`` 之后输出。 示例 ^^^^ :: AT+BLEINIT=1 // 角色:客户端 AT+BLESCAN=1 // 开始扫描 AT+BLESCAN=0 // 停止扫描 AT+BLESCAN=1,3,1,"24:0A:C4:96:E6:88" // 开始扫描,过滤类型为 MAC 地址 AT+BLESCAN=1,3,2,"ESP-AT" // 开始扫描,过滤类型为设备名称 .. _cmd-BSCANR: [ESP32 Only] :ref:`AT+BLESCANRSPDATA `:设置 Bluetooth LE 扫描响应 -------------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** 设置 Bluetooth LE 扫描响应 **命令:** :: AT+BLESCANRSPDATA= **响应:** :: OK 参数 ^^^^ - ****:扫描响应数据,为 HEX 字符串。例如,若想设置扫描响应数据为 "0x11 0x22 0x33 0x44 0x55",则命令为 ``AT+BLESCANRSPDATA="1122334455"``。 示例 ^^^^ :: AT+BLEINIT=2 // 角色:服务器 AT+BLESCANRSPDATA="1122334455" .. _cmd-BADVP: [ESP32 Only] :ref:`AT+BLEADVPARAM `:查询/设置 Bluetooth LE 广播参数 ---------------------------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询广播参数 **命令:** :: AT+BLEADVPARAM? **响应:** :: +BLEADVPARAM:,,,,,,, OK 设置命令 ^^^^^^^^ **功能:** 设置广播参数 **命令:** :: AT+BLEADVPARAM=,,,,[,][,][,] **响应:** :: OK 参数 ^^^^ - ****:最小广播间隔,本参数值应小于 ```` 参数值。参数范围:0x0020 ~ 0x4000。 - ****:最大广播间隔,本参数值应大于 ```` 参数值。参数范围:0x0020 ~ 0x4000。 - ****: - 0: ADV_TYPE_IND - 2: ADV_TYPE_SCAN_IND - 3: ADV_TYPE_NONCONN_IND - ****:Bluetooth LE 地址类型 - 0: BLE_ADDR_TYPE_PUBLIC - 1: BLE_ADDR_TYPE_RANDOM - ****:广播信道 - 1: ADV_CHNL_37 - 2: ADV_CHNL_38 - 4: ADV_CHNL_39 - 7: ADV_CHNL_ALL - **[]**:广播过滤器规则 - 0: ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY - 1: ADV_FILTER_ALLOW_SCAN_WLST_CON_ANY - 2: ADV_FILTER_ALLOW_SCAN_ANY_CON_WLST - 3: ADV_FILTER_ALLOW_SCAN_WLST_CON_WLST - **[]**:对方 Bluetooth LE 地址类型 - 0: PUBLIC - 1: RANDOM - **[]**:对方 Bluetooth LE 地址 示例 ^^^^ :: AT+BLEINIT=2 // 角色:服务器 AT+BLEADVPARAM=50,50,0,0,4,0,0,"12:34:45:78:66:88" .. _cmd-BADVD: [ESP32 Only] :ref:`AT+BLEADVDATA `:设置 Bluetooth LE 广播数据 ------------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** 设置广播数据 **命令:** :: AT+BLEADVDATA= **响应:** :: OK 参数 ^^^^ - ****:广播数据,为 HEX 字符串。例如,若想设置广播数据为 "0x11 0x22 0x33 0x44 0x55",则命令为 ``AT+BLEADVDATA="1122334455"``。 说明 ^^^^ - 如果之前已经使用命令 :ref:`AT+BLEADVDATAEX `\=,,, 设置了广播数据,则会被本命令设置的广播数据覆盖。 示例 ^^^^ :: AT+BLEINIT=2 // 角色:服务器 AT+BLEADVDATA="1122334455" .. _cmd-BADVDEX: [ESP32 Only] :ref:`AT+BLEADVDATAEX `:自动设置 Bluetooth LE 广播数据 ----------------------------------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询广播数据的参数 **命令:** :: AT+BLEADVDATAEX? **响应:** :: +BLEADVDATAEX:,,, OK 设置命令 ^^^^^^^^ **功能:** 设置广播数据并开始广播 **命令:** :: AT+BLEADVDATAEX=,,, **响应:** :: OK 参数 ^^^^ - ****:字符串参数,表示设备名称。例如,若想设置设备名称为 "just-test",则命令为 ``AT+BLEADVSTARTEX="just-test",,,``。 - ****:字符串参数。例如,若想设置 UUID 为 "0xA002",则命令为 ``AT+BLEADVSTARTEX=,"A002",,``。 - ****:制造商数据,为 HEX 字符串。例如,若想设置制造商数据为 "0x11 0x22 0x33 0x44 0x55",则命令为 ``AT+BLEADVSTARTEX=,,"1122334455",``。 - ****:若广播数据需包含 TX 功率,本参数应该设为 ``1``;否则,为 ``0``。 说明 ^^^^ - 如果之前已经使用命令 :ref:`AT+BLEADVDATA `\= 设置了广播数据,则会被本命令设置的广播数据覆盖。 示例 ^^^^ :: AT+BLEINIT=2 // 角色:服务器 AT+BLEADVDATAEX="ESP-AT","A002","0102030405",1 .. _cmd-BADVSTART: [ESP32 Only] :ref:`AT+BLEADVSTART `:开始 Bluetooth LE 广播 ----------------------------------------------------------------------------- 执行命令 ^^^^^^^^ **功能:** 开始广播 **命令:** :: AT+BLEADVSTART **响应:** :: OK 说明 ^^^^ - 若未使用命令 :ref:`AT+BLEADVPARAM `\= 设置广播参数,则使用默认广播参数。 - 若未使用命令 :ref:`AT+BLEADVDATA `\= 设置广播数据,则发送全 0 数据包。 - 若之前已经使用命令 :ref:`AT+BLEADVDATA `\= 设置过广播数据,则会被 :ref:`AT+BLEADVDATAEX `\=,,, 设置的广播数据覆盖,相反,如果先使用 AT+BLEADVDATAEX,则会被 AT+BLEADVDATA 设置的广播数据覆盖。 示例 ^^^^ :: AT+BLEINIT=2 // 角色:服务器 AT+BLEADVSTART .. _cmd-BADVSTOP: [ESP32 Only] :ref:`AT+BLEADVSTOP `:停止 Bluetooth LE 广播 --------------------------------------------------------------------------- 执行命令 ^^^^^^^^ **功能:** 停止广播 **命令:** :: AT+BLEADVSTOP **响应:** :: OK 说明 ^^^^ - 若开始广播后,成功建立 Bluetooth LE 连接,则会自动结束 Bluetooth LE 广播,无需调用本命令。 示例 ^^^^ :: AT+BLEINIT=2 // 角色:服务器 AT+BLEADVSTART AT+BLEADVSTOP .. _cmd-BCONN: [ESP32 Only] :ref:`AT+BLECONN `:建立 Bluetooth LE 连接 ---------------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询 Bluetooth LE 连接 **命令:** :: AT+BLECONN? **响应:** :: +BLECONN:, OK 若未建立连接,则响应不显示 参数。 设置命令 ^^^^^^^^ **功能:** 建立 Bluetooth LE 连接 **命令:** :: AT+BLECONN=,[,,] **响应:** :: OK 若建立连接成功,则提示: :: +BLECONN:, 若失败,则提示: :: +BLECONN:,-1 参数 ^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****:对方 Bluetooth LE 设备地址。 - **[]**:广播设备地址类型。 - **[]**:连接超时时间,单位:秒。范围:[3,30]。 说明 ^^^^ - 建议在建立新连接之前,先运行 :ref:`AT+BLESCAN ` 命令扫描设备,确保目标设备处于广播状态。 - 最大连接超时为 30 秒。 - 如果 Bluetooth LE server 已初始化且连接已成功建立,则可以使用此命令在对等设备 (GATTC) 中发现服务。还可以使用以下 GATTC 命令: - :ref:`AT+BLEGATTCPRIMSRV ` - :ref:`AT+BLEGATTCINCLSRV ` - :ref:`AT+BLEGATTCCHAR ` - :ref:`AT+BLEGATTCRD ` - :ref:`AT+BLEGATTCWR ` - :ref:`AT+BLEGATTSIND ` 示例 ^^^^ :: AT+BLEINIT=1 // 角色:客户端 AT+BLECONN=0,"24:0a:c4:09:34:23",0,10 .. _cmd-BCONNP: [ESP32 Only] :ref:`AT+BLECONNPARAM `:查询/更新 Bluetooth LE 连接参数 ------------------------------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询 Bluetooth LE 连接参数 **命令:** :: AT+BLECONNPARAM? **响应:** :: +BLECONNPARAM:,,,,, OK 设置命令 ^^^^^^^^ **功能:** 更新 Bluetooth LE 连接参数 **命令:** :: AT+BLECONNPARAM=,,,, **响应:** :: OK 若设置失败,则提示以下信息: :: +BLECONNPARAM: ,-1 参数 ^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****:最小连接间隔,范围:0x0006 ~ 0x0C80。 - ****:最大连接间隔,范围:0x0006 ~ 0x0C80。 - ****:当前连接间隔。 - ****:延迟,范围:0x0000 ~ 0x01F3。 - ****:超时,范围:0x000A ~ 0x0C80。 说明 ^^^^ - 本命令要求先建立连接,并且仅支持 client 角色更新连接参数。 示例 ^^^^ :: AT+BLEINIT=1 // 角色:客户端 AT+BLECONN=0,"24:0a:c4:09:34:23" AT+BLECONNPARAM=0,12,14,1,500 .. _cmd-BDISC: [ESP32 Only] :ref:`AT+BLEDISCONN `:断开 Bluetooth LE 连接 ------------------------------------------------------------------------- 执行命令 ^^^^^^^^ **功能:** 断开 Bluetooth LE 连接 **命令:** :: AT+BLEDISCONN= **响应:** :: OK // 收到 AT+BLEDISCONN 命令 +BLEDISCONN:, // 运行命令成功 参数 ^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****:对方 Bluetooth LE 设备地址。 说明 ^^^^ - 仅支持客户端运行本命令断开连接。 示例 ^^^^ :: AT+BLEINIT=1 // 角色:客户端 AT+BLECONN=0,"24:0a:c4:09:34:23" AT+BLEDISCONN=0 .. _cmd-BDLEN: [ESP32 Only] :ref:`AT+BLEDATALEN `:设置 Bluetooth LE 数据包长度 -------------------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** 设置 Bluetooth LE 数据包长度 **命令:** :: AT+BLEDATALEN=, **响应:** :: OK 参数 ^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****:数据包长度,范围:0x001b ~ 0x00fb。 说明 ^^^^ - 需要先建立 Bluetooth LE 连接,才能设置数据包长度。 示例 ^^^^ :: AT+BLEINIT=1 // 角色:客户端 AT+BLECONN=0,"24:0a:c4:09:34:23" AT+BLEDATALEN=0,30 .. _cmd-BMTU: [ESP32 Only] :ref:`AT+BLECFGMTU `:设置 Bluetooth LE MTU 长度 ----------------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询 MTU(maximum transmission unit,最大传输单元)长度 **命令:** :: AT+BLECFGMTU? **响应:** :: +BLECFGMTU:, OK 设置命令 ^^^^^^^^ **功能:** 设置 MTU 的长度 **命令:** :: AT+BLECFGMTU=, **响应:** :: OK // 收到本命令 参数 ^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****:MTU 长度。 说明 ^^^^ - 本命令要求先建立 Bluetooth LE 连接。 - 仅支持客户端运行本命令设置 MTU 的长度。 - MTU 的实际长度需要协商,响应 ``OK`` 只表示尝试协商 MTU 长度,因此设置长度不一定生效,建议调用 :ref:`AT+BLECFGMTU? ` 查询实际 MTU 长度。 示例 ^^^^ :: AT+BLEINIT=1 // 角色:客户端 AT+BLECONN=0,"24:0a:c4:09:34:23" AT+BLECFGMTU=0,300 .. _cmd-GSSRVCRE: [ESP32 Only] :ref:`AT+BLEGATTSSRVCRE `:GATTS 创建服务 -------------------------------------------------------------------------- 执行命令 ^^^^^^^^ **功能:** GATTS (Generic Attributes Server) 创建 Bluetooth LE 服务 **命令:** :: AT+BLEGATTSSRVCRE **响应:** :: OK 说明 ^^^^ - 使用 ESP 作为 Bluetooth LE server 创建服务,需烧录 service bin 文件到 flash 中。 - 如何生成 service bin 文件,请参考 esp-at/tools/readme.md。 - service bin 文件的烧录地址为 esp-at/module_config/module_${platform}_default/at_customize.csv 文件中的 "ble_data" 地址。 - Bluetooth LE server 初始化后,请及时调用本命令创建服务;如果先建立 Bluetooth LE 连接,则无法创建服务。 - 如果 Bluetooth LE client 已初始化成功,可以使用此命令创建服务;也可以使用其他一些相应的 GATTS 命令,例如启动和停止服务、设置服务特征值和 notification/indication,具体命令如下: - :ref:`AT+BLEGATTSSRVCRE ` (建议在 Bluetooth LE 连接建立之前使用) - :ref:`AT+BLEGATTSSRVSTART ` (建议在 Bluetooth LE 连接建立之前使用) - :ref:`AT+BLEGATTSSRV ` - :ref:`AT+BLEGATTSCHAR ` - :ref:`AT+BLEGATTSNTFY ` - :ref:`AT+BLEGATTSIND ` - :ref:`AT+BLEGATTSSETATTR ` 示例 ^^^^ :: AT+BLEINIT=2 // 角色:服务器 AT+BLEGATTSSRVCRE .. _cmd-GSSRVSTART: [ESP32 Only] :ref:`AT+BLEGATTSSRVSTART `:GATTS 开启服务 --------------------------------------------------------------------------- 执行命令 ^^^^^^^^ **功能:** GATTS 开启全部服务 **命令:** :: AT+BLEGATTSSRVSTART 设置命令 ^^^^^^^^ **功能:** GATTS 开启某指定服务 **命令:** :: AT+BLEGATTSSRVSTART= **响应:** :: OK 参数 ^^^^ - ****:服务序号,从 1 开始递增。 示例 ^^^^ :: AT+BLEINIT=2 // 角色:服务器 AT+BLEGATTSSRVCRE AT+BLEGATTSSRVSTART .. _cmd-GSSRVSTOP: [ESP32 Only] :ref:`AT+BLEGATTSSRVSTOP `:GATTS 停止服务 ------------------------------------------------------------------------- 执行命令 ^^^^^^^^ **功能:** GATTS 停止全部服务 **命令:** :: AT+BLEGATTSSRVSTOP 设置命令 ^^^^^^^^ **功能:** GATTS 停止某指定服务 **命令:** :: AT+BLEGATTSSRVSTOP= **响应:** :: OK 参数 ^^^^ - ****:服务序号,从 1 开始递增。 示例 ^^^^ :: AT+BLEINIT=2 // 角色:服务器 AT+BLEGATTSSRVCRE AT+BLEGATTSSRVSTART AT+BLEGATTSSRVSTOP .. _cmd-GSSRV: [ESP32 Only] :ref:`AT+BLEGATTSSRV `:GATTS 发现服务 ------------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** GATTS 发现服务 **命令:** :: AT+BLEGATTSSRV? **响应:** :: +BLEGATTSSRV:,,, OK 参数 ^^^^ - ****:服务序号,从 1 开始递增。 - ****: - 0: 服务未开始; - 1: 服务已开始。 - ****:服务的 UUID。 - ****:服务的类型: - 0: 次要服务; - 1: 首要服务。 示例 ^^^^ :: AT+BLEINIT=2 // 角色:服务器 AT+BLEGATTSSRVCRE AT+BLEGATTSSRV? .. _cmd-GSCHAR: [ESP32 Only] :ref:`AT+BLEGATTSCHAR `:GATTS 发现服务特征 --------------------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** GATTS 发现服务特征 **命令:** :: AT+BLEGATTSCHAR? **响应:** 对于服务特征信息,响应如下: :: +BLEGATTSCHAR:"char",,,, 对于描述符信息,响应如下: :: +BLEGATTSCHAR:"desc",,, OK 参数 ^^^^ - ****:服务序号,从 1 开始递增。 - ****:服务特征的序号,从 1 起始递增。 - ****:服务特征的 UUID。 - ****:服务特征的属性。 - ****:特征描述符序号。 - ****:特征描述符的 UUID。 示例 ^^^^ :: AT+BLEINIT=2 // 角色:服务器 AT+BLEGATTSSRVCRE AT+BLEGATTSSRVSTART AT+BLEGATTSCHAR? .. _cmd-GSNTFY: [ESP32 Only] :ref:`AT+BLEGATTSNTFY `:服务器 notify 服务特征值给客户端 --------------------------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** 服务器 notify 服务特征值给客户端 **命令:** :: AT+BLEGATTSNTFY=,,, **响应:** :: > 符号 ``>`` 表示 AT 准备好接收串口数据,此时您可以输入数据,当数据长度达到参数 ```` 的值时,执行 notify 操作。 若数据传输成功,则提示: :: OK 参数 ^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****:服务序号,可运行 :ref:`AT+BLEGATTSCHAR? ` 查询。 - ****:服务特征的序号,可运行 :ref:`AT+BLEGATTSCHAR? ` 查询。 - ****:数据长度。 示例 ^^^^ :: AT+BLEINIT=2 // 角色:服务器 AT+BLEGATTSSRVCRE AT+BLEGATTSSRVSTART AT+BLEADVSTART // 开始广播,当 client 连接后,必须配置接收 notify AT+BLEGATTSCHAR? // 查询允许 notify 客户端的特征 // 例如,使用 3 号服务的 6 号特征 notify 长度为 4 字节的数据,使用如下命令: AT+BLEGATTSNTFY=0,3,6,4 // 提示 ">" 符号后,输入 4 字节的数据,如 "1234",然后数据自动传输 .. _cmd-GSIND: [ESP32 Only] :ref:`AT+BLEGATTSIND `:服务器 indicate 服务特征值给客户端 ------------------------------------------------------------------------------------------ 设置命令 ^^^^^^^^ **功能:** 服务器 indicate 服务特征值给客户端 **命令:** :: AT+BLEGATTSIND=,,, **响应:** :: > 符号 ``>`` 表示 AT 准备好接收串口数据,此时您可以输入数据,当数据长度达到参数 ```` 的值时,执行 indicate 操作。 若数据传输成功,则提示: :: OK 参数 ^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****:服务序号,可运行 :ref:`AT+BLEGATTSCHAR? ` 查询。 - ****:服务特征的序号,可运行 :ref:`AT+BLEGATTSCHAR? ` 查询。 - ****:数据长度。 示例 ^^^^ :: AT+BLEINIT=2 // 角色:服务器 AT+BLEGATTSSRVCRE AT+BLEGATTSSRVSTART AT+BLEADVSTART // 开始广播,当 client 连接后,必须配置接收 indication AT+BLEGATTSCHAR? // 查询客户端可以接收 indication 的特征 // 例如,使用 3 号服务的 7 号特征 indicate 长度为 4 字节的数据,命令如下: AT+BLEGATTSIND=0,3,7,4 // 提示 ">" 符号后,输入 4 字节的数据,如 "1234",然后数据自动传输 .. _cmd-GSSETA: [ESP32 Only] :ref:`AT+BLEGATTSSETATTR `:GATTS 设置服务特征值 ------------------------------------------------------------------------------ 设置命令 ^^^^^^^^ **功能:** GATTS 设置服务特征值或描述符值 **命令:** :: AT+BLEGATTSSETATTR=,,[], **响应:** :: > 符号 ``>`` 表示 AT 准备好接收串口数据,此时您可以输入数据,当数据长度达到参数 ```` 的值时,执行设置操作。 若数据传输成功,则提示: :: OK 参数 ^^^^ - ****:服务序号,可运行 :ref:`AT+BLEGATTSCHAR? ` 查询。 - ****:服务特征的序号,可运行 :ref:`AT+BLEGATTSCHAR? ` 查询。 - **[]**:特征描述符序号: - 若填写,则设置描述符的值; - 若未填写,则设置特征值。 - ****:数据长度。 说明 ^^^^ - 如果 ```` 参数值大于支持的最大长度,则设置会失败。关于 service table,请见 `components/customized_partitions/raw_data/ble_data`。 示例 ^^^^ :: AT+BLEINIT=2 // 角色:服务器 AT+BLEGATTSSRVCRE AT+BLEGATTSSRVSTART AT+BLEGATTSCHAR? // 例如,向 1 号服务的 1 号特征写入长度为 1 字节的数据,命令如下: AT+BLEGATTSSETATTR=1,1,,1 // 提示 ">" 符号后,输入 1 字节的数据即可,例如 "8",然后设置开始 .. _cmd-GCPRIMSRV: [ESP32 Only] :ref:`AT+BLEGATTCPRIMSRV `:GATTC 发现基本服务 ------------------------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** GATTC (Generic Attributes Client) 发现基本服务 **命令:** :: AT+BLEGATTCPRIMSRV= **响应:** :: +BLEGATTCPRIMSRV:,,, OK 参数 ^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****:服务序号,从 1 开始递增。 - ****:服务的 UUID。 - ****:服务的类型: - 0: 次要服务; - 1: 首要服务。 说明 ^^^^ - 使用本命令,需要先建立 Bluetooth LE 连接。 示例 ^^^^ :: AT+BLEINIT=1 // 角色:客户端 AT+BLECONN=0,"24:12:5f:9d:91:98" AT+BLEGATTCPRIMSRV=0 .. _cmd-GCINCLSRV: [ESP32 Only] :ref:`AT+BLEGATTCINCLSRV `:GATTC 发现包含的服务 -------------------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** GATTC 发现包含服务 **命令:** :: AT+BLEGATTCINCLSRV=, **响应:** :: +BLEGATTCINCLSRV:,,,,, OK 参数 ^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****:服务序号,可运行 :ref:`AT+BLEGATTCPRIMSRV `\= 查询。 - ****:服务的 UUID。 - ****:服务的类型: - 0: 次要服务; - 1: 首要服务。 - ****:包含服务的 UUID。 - ****:包含服务的类型: - 0: 次要服务; - 1: 首要服务。 说明 ^^^^ - 使用本命令,需要先建立 Bluetooth LE 连接。 示例 ^^^^ :: AT+BLEINIT=1 // 角色:客户端 AT+BLECONN=0,"24:12:5f:9d:91:98" AT+BLEGATTCPRIMSRV=0 AT+BLEGATTCINCLSRV=0,1 // 根据前一条命令的查询结果,指定 index 查询 .. _cmd-GCCHAR: [ESP32 Only] :ref:`AT+BLEGATTCCHAR `:GATTC 发现服务特征 --------------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** GATTC 发现服务特征 **命令:** :: AT+BLEGATTCCHAR=, **响应:** 对于服务特征信息,响应如下: :: +BLEGATTCCHAR:"char",,,,, 对于描述符信息,响应如下: :: +BLEGATTCCHAR:"desc",,,,, OK 参数 ^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****:服务序号,可运行 :ref:`AT+BLEGATTCPRIMSRV `\= 查询。 - ****:服务特征的序号,从 1 开始递增。 - ****:服务特征的 UUID。 - ****:服务特征的属性。 - ****:特征描述符序号。 - ****:特征描述符的 UUID。 说明 ^^^^ - 使用本命令,需要先建立 Bluetooth LE 连接。 示例 ^^^^ :: AT+BLEINIT=1 // 角色:客户端 AT+BLECONN=0,"24:12:5f:9d:91:98" AT+BLEGATTCPRIMSRV=0 AT+BLEGATTCCHAR=0,1 // 根据前一条命令的查询结果,指定 index 查询 .. _cmd-GCRD: [ESP32 Only] :ref:`AT+BLEGATTCRD `:GATTC 读取服务特征值 ---------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** GATTC 读取服务特征值或描述符值 **命令:** :: AT+BLEGATTCRD=,,[,] **响应:** :: +BLEGATTCRD:,, OK 参数 ^^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****:服务序号,可运行 :ref:`AT+BLEGATTCPRIMSRV `\= 查询。 - ****:服务特征序号,可运行 :ref:`AT+BLEGATTCCHAR `\=, 查询。 - **[]**:特征描述符序号: - 若设置,读取目标描述符的值; - 若未设置,读取目标特征的值。 - ****:数据长度。 - ****:服务特征值,HEX 字符串,运行 :ref:`AT+BLEGATTCRD `\=,, 读取。例如,若响应为 ``+BLEGATTCRD:1,30``,则表示数据长度为 1,内容为 "0x30"。 - **[]**:服务特征描述符的值,HEX 字符串,运行 :ref:`AT+BLEGATTCRD `\=,,, 读取。例如,若响应为 ``+BLEGATTCRD:4,30313233``,则表示数据长度为 4,内容为 "0x30 0x31 0x32 0x33"。 说明 ^^^^ - 使用本命令,需要先建立 Bluetooth LE 连接。 - 若目标服务特征不支持读操作,则返回 "ERROR"。 示例 ^^^^ :: AT+BLEINIT=1 // 角色:客户端 AT+BLECONN=0,"24:12:5f:9d:91:98" AT+BLEGATTCPRIMSRV=0 AT+BLEGATTCCHAR=0,3 // 根据前一条命令的查询结果,指定 index 查询 // 例如,读取第 3 号服务的第 2 号特征的第 1 号描述符信息,命令如下: AT+BLEGATTCRD=0,3,2,1 .. _cmd-GCWR: [ESP32 Only] :ref:`AT+BLEGATTCWR `:GATTC 写服务特征值 --------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** GATTC 写服务特征值或描述符值 **命令:** :: AT+BLEGATTCWR=,,[,], **Response:** :: > 符号 ``>`` 表示 AT 准备好接收串口数据,此时您可以输入数据,当数据长度达到参数 ```` 的值时,执行写入操作。 若数据传输成功,则提示: :: OK 参数 ^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****:服务序号,可运行 :ref:`AT+BLEGATTCPRIMSRV `\= 查询。 - ****:服务特征序号,可运行 :ref:`AT+BLEGATTCCHAR `\=, 查询。 - **[]**:特征描述符序号: - 若设置,则写目标描述符的值; - 若未设置,则写目标特征的值。 - ****:数据长度。 说明 ^^^^ - 使用本命令,需要先建立 Bluetooth LE 连接。 - 若目标服务特征不支持写操作,则返回 "ERROR"。 示例 ^^^^ :: AT+BLEINIT=1 // 角色:客户端 AT+BLECONN=0,"24:12:5f:9d:91:98" AT+BLEGATTCPRIMSRV=0 AT+BLEGATTCCHAR=0,3 // 根据前一条命令的查询结果,指定 index 查询 // 例如,向第 3 号服务的第 4 号特征,写入长度为 6 字节的数据,命令如下: AT+BLEGATTCWR=0,3,4,,6 // 提示 ">" 符号后,输入 6 字节的数据即可,如 "123456",然后开始写入 .. _cmd-BLESPPCFG: [ESP32 Only] :ref:`AT+BLESPPCFG `:查询/设置 Bluetooth LE SPP 参数 -------------------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询 Bluetooth LE SPP (Serial Port Profile) 参数 **命令:** :: AT+BLESPPCFG? **响应:** :: +BLESPPCFG:,,, OK 设置命令 ^^^^^^^^ **功能:** 设置或重置 Bluetooth LE SPP 参数 **命令:** :: AT+BLESPPCFG=[,,,,] **响应:** :: OK 参数 ^^^^ - ****: - 0: 重置所有 SPP 参数,后面四个参数无需填写; - 1: 后面四个参数需要填写。 - ****:tx 服务序号,可运行 :ref:`AT+BLEGATTCPRIMSRV `\= 和 :ref:`AT+BLEGATTSSRV? ` 查询。 - ****:tx 服务特征序号,可运行 :ref:`AT+BLEGATTCCHAR `\=, 和 :ref:`AT+BLEGATTSCHAR? ` 查询。 - ****:rx 服务序号,可运行 :ref:`AT+BLEGATTCPRIMSRV `\= 和 :ref:`AT+BLEGATTSSRV? ` 查询。 - ****:rx 服务特征序号,可运行 :ref:`AT+BLEGATTCCHAR `\=, 和 :ref:`AT+BLEGATTSCHAR? ` 查询。 说明 ^^^^ - 对于 Bluetooth LE 客户端,tx 服务特征属性必须是 ``write with response`` 或 ``write without response``,rx 服务特征属性必须是 ``indicate`` 或 ``notify``。 - 对于 Bluetooth LE 服务器,tx 服务特征属性必须是 ``indicate`` 或 ``notify``,rx 服务特征属性必须是 ``write with response`` 或 ``write without response``。 示例 ^^^^ :: AT+BLESPPCFG=0 // 重置 Bluetooth LE SPP 参数 AT+BLESPPCFG=1,3,5,3,7 // 设置 Bluetooth LE SPP 参数 AT+BLESPPCFG? // 查询 Bluetooth LE SPP 参数 .. _cmd-BLESPP: [ESP32 Only] :ref:`AT+BLESPP `:进入 Bluetooth LE SPP 模式 ------------------------------------------------------------------------ 执行命令 ^^^^^^^^ **功能:** 进入 Bluetooth LE SPP 模式 **命令:** :: AT+BLESPP **响应:** :: > 说明 ^^^^ - 若 Bluetooth LE SPP 参数非法,则命令返回 ``ERROR``。 - 在 SPP 传输中,若未设置 :ref:`AT+SYSMSG ` 为 1,则 AT 不会提示任何连接状态变更信息。 示例 ^^^^ :: AT+BLESPP // 进入 Bluetooth LE SPP 模式 .. _cmd-BLESMPPAR: [ESP32 Only] :ref:`AT+BLESECPARAM `:查询/设置 Bluetooth LE 加密参数 ------------------------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询 Bluetooth LE SMP 加密参数 **命令:** :: AT+BLESECPARAM? **响应:** :: +BLESECPARAM:,,,,, OK 设置命令 ^^^^^^^^ **功能:** 设置 Bluetooth LE SMP 加密参数 **命令:** :: AT+BLESECPARAM=,,,,[,] **响应:** :: OK 参数 ^^^^ - ****:认证请求。 - 0: NO_BOND - 1: BOND - 4: MITM - 8: SC_ONLY - 9: SC_BOND - 12: SC_MITM - 13: SC_MITM_BOND - ****:输入输出能力。 - 0: DisplayOnly - 1: DisplayYesNo - 2: KeyboardOnly - 3: NoInputNoOutput - 4: Keyboard display - ****:密钥长度,取值范围 7 ~ 16 字节。 - ****:多个比特位组成的初始密钥。 - ****:多个比特位组成的响应密钥。 - ****:安全认证选项: - 0: 自动选择安全等级; - 1: 如果无法满足之前设定的安全等级,则会断开连接。 说明 ^^^^ - ```` 和 ```` 参数的比特位组合模式如下: - Bit0: 用于交换初始密钥和响应密钥的加密密钥; - Bit1: 用于交换初始密钥和响应密钥的 IRK 密钥; - Bit2: 用于交换初始密钥和响应密钥的 CSRK 密钥; - Bit3: 用于交换初始密钥和响应密钥的 link 密钥(仅用于 Bluetooth LE 和 BR/EDR 共存模式)。 示例 ^^^^ :: AT+BLESECPARAM=1,4,16,3,3,0 .. _cmd-BLEENC: [ESP32 Only] :ref:`AT+BLEENC `:发起 Bluetooth LE 加密请求 ---------------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** 发起配对请求 **命令:** :: AT+BLEENC=, **响应:** :: OK 参数 ^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****: - 0: SEC_NONE; - 1: SEC_ENCRYPT; - 2: SEC_ENCRYPT_NO_MITM; - 3: SEC_ENCRYPT_MITM。 说明 ^^^^ - 使用本命令前,请先设置安全参数、建立与对方设备的连接。 示例 ^^^^ :: AT+BLESECPARAM=1,4,16,3,3 AT+BLEENC=0,3 .. _cmd-BLEENCRSP: [ESP32 Only] :ref:`AT+BLEENCRSP `:回复对端设备发起的配对请求 ----------------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** 回复对端设备发起的配对请求 **命令:** :: AT+BLEENCRSP=, **响应:** :: OK 参数 ^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****: - 0: 拒绝; - 1: 接受。 说明 ^^^^ - 使用本命令后,AT 会在配对请求流程结束后输出配对结果。 :: +BLEAUTHCMPL:, - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****: - 0: 加密配对成功; - 1: 加密配对失败。 示例 ^^^^ :: AT+BLEENCRSP=0,1 .. _cmd-BLEKEYREPLY: [ESP32 Only] :ref:`AT+BLEKEYREPLY `:给对方设备回复密钥(传统连接阶段) ------------------------------------------------------------------------------------------------ 设置命令 ^^^^^^^^ **功能:** 回复配对密钥 **命令:** :: AT+BLEKEYREPLY=, **响应:** :: OK 参数 ^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****:配对密钥。 示例 ^^^^ :: AT+BLEKEYREPLY=0,649784 .. _cmd-BLECONFREPLY: [ESP32 Only] :ref:`AT+BLECONFREPLY `:给对方设备回复确认结果(传统连接阶段) ----------------------------------------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** 回复配对结果 **命令:** :: AT+BLECONFREPLY=, **响应:** :: OK 参数 ^^^^ - ****:Bluetooth LE 连接号,范围:[0,2]。 - ****: - 0: 否 - 1: 是 示例 ^^^^ :: AT+BLECONFREPLY=0,1 .. _cmd-BLEENCDEV: [ESP32 Only] :ref:`AT+BLEENCDEV `:查询绑定的 Bluetooth LE 加密设备列表 --------------------------------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询绑定的 Bluetooth LE 加密设备列表 **命令:** :: AT+BLEENCDEV? **响应:** :: +BLEENCDEV:, OK 参数 ^^^^ - ****:已绑定设备的连接号。 - ****:MAC 地址。 示例 ^^^^ :: AT+BLEENCDEV? .. _cmd-BLEENCCLEAR: [ESP32 Only] :ref:`AT+BLEENCCLEAR `:清除 Bluetooth LE 加密设备列表 ---------------------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** 从安全数据库列表中删除某一连接号的设备 **命令:** :: AT+BLEENCCLEAR= **响应:** :: OK 执行命令 ^^^^^^^^ **功能:** 删除安全数据库所有设备 **命令:** :: AT+BLEENCCLEAR **响应:** :: OK 参数 ^^^^ - ****:已绑定设备的连接号。 示例 ^^^^ :: AT+BLEENCCLEAR .. _cmd-BLESETKEY: [ESP32 Only] :ref:`AT+BLESETKEY `:设置 Bluetooth LE 静态配对密钥 ------------------------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询 Bluetooth LE 静态配对密钥,若未设置,则 AT 返回 -1 **命令:** :: AT+BLESETKEY? **响应:** :: +BLESETKEY: OK 设置命令 ^^^^^^^^ **功能:** 为所有 Bluetooth LE 连接设置一个 Bluetooth LE 静态配对密钥 **命令:** :: AT+BLESETKEY= **响应:** :: OK 参数 ^^^^ - ****:Bluetooth LE 静态配对密钥。 示例 ^^^^ :: AT+BLESETKEY=123456 .. _cmd-BLEHIDINIT: [ESP32 Only] :ref:`AT+BLEHIDINIT `:Bluetooth LE HID 协议初始化 ------------------------------------------------------------------------------------ 查询命令 ^^^^^^^^ **功能:** 查询 Bluetooth LE HID 协议初始化情况 **命令:** :: AT+BLEHIDINIT? **响应:** 若未初始化,则 AT 返回: :: +BLEHIDINIT:0 OK 若已初始化,则 AT 返回: :: +BLEHIDINIT:1 OK 设置命令 ^^^^^^^^ **功能:** 初始化 Bluetooth LE HID 协议 **命令:** :: AT+BLEHIDINIT= **响应:** :: OK 参数 ^^^^ - ****: - 0: 取消 Bluetooth LE HID 协议的初始化; - 1: 初始化 Bluetooth LE HID 协议。 说明 ^^^^ - Bluetooth LE HID 无法与通用 GATT/GAP 命令同时使用。 示例 ^^^^ :: AT+BLEHIDINIT=1 .. _cmd-BLEHIDKB: [ESP32 Only] :ref:`AT+BLEHIDKB `:发送 Bluetooth LE HID 键盘信息 -------------------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** 发送键盘信息 **命令:** :: AT+BLEHIDKB=,,,,,, **响应:** :: OK 参数 ^^^^ - ****:组合键。 - ****:键代码 1。 - ****:键代码 2。 - ****:键代码 3。 - ****:键代码 4。 - ****:键代码 5。 - ****:键代码 6。 说明 ^^^^ - 更多键代码的信息,请参考 `Universal Serial Bus HID Usage Tables `_ 的 Keyboard/Keypad Page 章节。 示例 ^^^^ :: AT+BLEHIDKB=0,4,0,0,0,0,0 // 输入字符串 "a" .. _cmd-BLEHIDMUS: [ESP32 Only] :ref:`AT+BLEHIDMUS `:发送 Bluetooth LE HID 鼠标信息 ----------------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** 发送鼠标信息 **命令:** :: AT+BLEHIDMUS=,,, **响应:** :: OK 参数 ^^^^ - ****:鼠标按键。 - ****:X 位移。 - ****:Y 位移。 - ****:滚轮。 示例 ^^^^ :: AT+BLEHIDMUS=0,10,10,0 .. _cmd-BLEHIDC: [ESP32 Only] :ref:`AT+BLEHIDCONSUMER `:发送 Bluetooth LE HID consumer 信息 -------------------------------------------------------------------------------------------- 设置命令 ^^^^^^^^ **功能:** 发送 consumer 信息 **命令:** :: AT+BLEHIDCONSUMER= **响应:** :: OK 参数 ^^^^ - ****:consumer ID,如 power、reset、help、volume 等。详情请参考 `HID Usage Tables for Universal Serial Bus (USB) `_ 中的 Consumer Page (0x0C) 章节。 示例 ^^^^ :: AT+BLEHIDCONSUMER=233 // 调高音量 .. _cmd-BLUFI: [ESP32 Only] :ref:`AT+BLUFI `:开启或关闭 BluFi -------------------------------------------------------------- 查询命令 ^^^^^^^^ **功能:** 查询 BluFi 状态 **命令:** :: AT+BLUFI? **响应:** 若 BluFi 未开启,则返回: :: +BLUFI:0 OK 若 BluFi 已开启,则返回: :: +BLUFI:1 OK 设置命令 ^^^^^^^^ **功能:** 开启或关闭 BluFi **命令:** :: AT+BLUFI=