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