[ English | 简体中文 ]
蓝牙设备管理 API
openvela 蓝牙远程设备管理接口,提供设备配对、连接、属性查询和管理功能。
头文件:#include "bt_device.h"
openvela 实现说明
- 设备属性:支持查询远程设备名称、地址、类型、配对状态、连接状态等
- 配对管理:支持发起配对、取消配对、确认配对请求
- 连接管理:支持建立和断开与远程设备的连接
- 异步模式:大部分 API 提供同步和异步两个版本
同步接口
bt_device_get_identity_address
bt_status_t bt_device_get_identity_address(bt_instance_t* ins, bt_address_t* bd_addr, bt_address_t* id_addr);
获取远程设备的身份地址(Identity Address),用于标识使用随机地址的 BLE 设备。
参数:
ins蓝牙客户端实例, 参见 bt_instance_t.bd_addr远程设备 BLE 地址。-id_addr输出参数,存储身份地址。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回错误码。
bt_device_get_address_type
ble_addr_type_t bt_device_get_address_type(bt_instance_t* ins, bt_address_t* addr);
获取远程设备的 BLE 地址类型(Public/Static Random/RPA 等)。
参数:
ins蓝牙客户端实例, 参见 bt_instance_t.addr远程设备地址.
返回值:
返回设备的 BLE 地址类型,未找到时返回 BLE_ADDR_TYPE_UNKNOWN。
bt_device_get_device_type
bt_device_type_t bt_device_get_device_type(bt_instance_t* ins, bt_address_t* addr);
获取远程设备的类型(经典蓝牙/BLE/双模)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。
返回值:
返回设备类型枚举值,参见 bt_device_type_t。
bt_device_get_name
bool bt_device_get_name(bt_instance_t* ins, bt_address_t* addr, char* name, uint32_t length);
获取远程设备的蓝牙名称。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。name输出缓冲区,用于存储设备名称。length缓冲区长度。
返回值:
成功时返回 true,失败时返回 false。
bt_device_get_device_class
uint32_t bt_device_get_device_class(bt_instance_t* ins, bt_address_t* addr);
获取远程设备的设备类型(Class of Device),包含主设备类、子设备类和服务类信息。
参数:
ins蓝牙客户端实例, 参见 bt_instance_t.addr远程设备地址.
返回值:
返回 24 位 Class of Device 值,包含主设备类、子设备类和服务类信息。
bt_device_get_uuids
bt_status_t bt_device_get_uuids(bt_instance_t* ins, bt_address_t* addr, bt_uuid_t** uuids, uint16_t* size, bt_allocator_t allocator);
获取远程设备支持的服务 UUID 列表。
参数:
ins蓝牙客户端实例, 参见 bt_instance_t.addr远程设备地址.allocator内存分配函数。-uuidsUUID 数组(由 allocator 分配)。size返回 UUID 数量。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回错误码。
bt_device_get_appearance
uint16_t bt_device_get_appearance(bt_instance_t* ins, bt_address_t* addr);
获取远程设备的 BLE 外观特征值(Appearance),用于标识设备的物理外观。
参数:
ins蓝牙客户端实例, 参见 bt_instance_t.addr远程设备地址.
bt_device_get_rssi
int8_t bt_device_get_rssi(bt_instance_t* ins, bt_address_t* addr);
获取远程设备的接收信号强度指示(RSSI)。
参数:
ins蓝牙客户端实例, 参见 bt_instance_t.addr远程设备地址.
bt_device_get_alias
bool bt_device_get_alias(bt_instance_t* ins, bt_address_t* addr, char* alias, uint32_t length);
获取远程设备的用户自定义别名,未设置时返回设备名称。
参数:
ins蓝牙客户端实例, 参见 bt_instance_t.addr远程设备地址.length缓冲区长度。alias输出参数,存储别名字符串。
返回值:
成功时返回 true,失败时返回 false。
bt_device_set_alias
bt_status_t bt_device_set_alias(bt_instance_t* ins, bt_address_t* addr, const char* alias);
设置远程设备的用户自定义别名,长度不超过 BT_LOC_NAME_MAX_LEN。
参数:
ins蓝牙客户端实例, 参见 bt_instance_t.addr远程设备地址.alias设备别名。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回负的错误码。
bt_device_is_connected
bool bt_device_is_connected(bt_instance_t* ins, bt_address_t* addr, bt_transport_t transport);
查询与远程设备是否已建立连接。
参数:
ins蓝牙客户端实例, 参见 bt_instance_t.addr远程设备地址.transportTransport type, 参见 bt_transport_t.
返回值:
已连接时返回 true,未连接时返回 false。
bt_device_is_encrypted
bool bt_device_is_encrypted(bt_instance_t* ins, bt_address_t* addr, bt_transport_t transport);
查询与远程设备的连接是否已加密。
参数:
ins蓝牙客户端实例, 参见 bt_instance_t.addr远程设备地址.transportTransport type, 参见 bt_transport_t.
返回值:
已加密时返回 true,未加密时返回 false。
bt_device_is_bond_initiate_local
bool bt_device_is_bond_initiate_local(bt_instance_t* ins, bt_address_t* addr, bt_transport_t transport);
查询与远程设备的配对是否由本地发起。
参数:
ins蓝牙客户端实例, 参见 bt_instance_t.addr远程设备地址.transportTransport type, 参见 bt_transport_t.
返回值:
由本地发起时返回 true,否则返回 false。
bt_device_get_bond_state
bond_state_t bt_device_get_bond_state(bt_instance_t* ins, bt_address_t* addr, bt_transport_t transport);
获取与远程设备的配对状态。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。
返回值:
返回当前配对状态,参见 bond_state_t。
bt_device_is_bonded
bool bt_device_is_bonded(bt_instance_t* ins, bt_address_t* addr, bt_transport_t transport);
查询远程设备是否已配对。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。
返回值:
已配对时返回 true,未配对时返回 false。
bt_device_create_bond
bt_status_t bt_device_create_bond(bt_instance_t* ins, bt_address_t* addr, bt_transport_t transport);
发起与远程设备的配对(Bonding),建立长期安全关系。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回负的错误码。
bt_device_set_security_level
bt_status_t bt_device_set_security_level(bt_instance_t* ins, uint8_t level, bt_transport_t transport);
设置与远程设备的安全级别(0~4),级别越高安全性越强。
参数:
ins蓝牙客户端实例。level安全级别。transport传输类型(BR/EDR 或 BLE)。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回错误码。
bt_device_set_bondable_le
bt_status_t bt_device_set_bondable_le(bt_instance_t* ins, bool bondable);
设置远程设备是否允许 BLE 配对。
参数:
ins蓝牙客户端实例。bondable是否可配对。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回错误码。
bt_device_remove_bond
bt_status_t bt_device_remove_bond(bt_instance_t* ins, bt_address_t* addr, uint8_t transport);
移除与远程设备的配对关系,删除存储的配对密钥。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回负的错误码。
bt_device_cancel_bond
bt_status_t bt_device_cancel_bond(bt_instance_t* ins, bt_address_t* addr);
取消正在进行的配对过程。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回负的错误码。
bt_device_pair_request_reply
bt_status_t bt_device_pair_request_reply(bt_instance_t* ins, bt_address_t* addr, bool accept);
回复远程设备的配对请求,接受或拒绝配对。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。accept是否接受。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回负的错误码。
bt_device_set_pairing_confirmation
bt_status_t bt_device_set_pairing_confirmation(bt_instance_t* ins, bt_address_t* addr, uint8_t transport, bool accept);
确认或拒绝 SSP 配对的数字比较请求。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。accept是否接受。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回负的错误码。
bt_device_set_pin_code
bt_status_t bt_device_set_pin_code(bt_instance_t* ins, bt_address_t* addr, bool accept, char* pincode, int len);
设置 PIN 码用于传统配对认证。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。accept是否接受。pincodePIN 码字符串。len长度。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回负的错误码。
bt_device_set_pass_key
bt_status_t bt_device_set_pass_key(bt_instance_t* ins, bt_address_t* addr, uint8_t transport, bool accept, uint32_t passkey);
设置数字密钥用于 SSP 配对认证。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。accept是否接受。passkey配对密钥。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回负的错误码。
bt_device_set_le_legacy_tk
bt_status_t bt_device_set_le_legacy_tk(bt_instance_t* ins, bt_address_t* addr, bt_128key_t tk_val);
设置 BLE Legacy 配对 TK 值。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。tk_valOOB TK 值。
bt_device_set_le_sc_remote_oob_data
bt_status_t bt_device_set_le_sc_remote_oob_data(bt_instance_t* ins, bt_address_t* addr, bt_128key_t c_val, bt_128key_t r_val);
设置远程设备的 BLE Secure Connections OOB 数据,用于带外配对。
参数:
-
ins蓝牙客户端实例。 -
addr远程设备蓝牙地址。 -
c_valSC 确认值(128 位)。 -
r_valSC 随机值(128 位)。 -
ins蓝牙客户端实例, 参见 bt_instance_t. -
addr远程设备地址. -
c_valLE 安全连接确认值(128 位密钥)。 -
r_valLE 安全连接随机值(128 位密钥)。
bt_device_get_le_sc_local_oob_data
bt_status_t bt_device_get_le_sc_local_oob_data(bt_instance_t* ins, bt_address_t* addr);
获取 BLE SC 本地 OOB 数据。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回负的错误码。
bt_device_connect
bt_status_t bt_device_connect(bt_instance_t* ins, bt_address_t* addr);
发起与远程设备的连接。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回负的错误码。
bt_device_background_connect
bt_status_t bt_device_background_connect(bt_instance_t* ins, bt_address_t* addr, bt_transport_t transport);
发起与远程设备的连接。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回错误码。
bt_device_disconnect
bt_status_t bt_device_disconnect(bt_instance_t* ins, bt_address_t* addr);
断开与远程设备的连接。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回负的错误码。
bt_device_background_disconnect
bt_status_t bt_device_background_disconnect(bt_instance_t* ins, bt_address_t* addr, bt_transport_t transport);
断开与远程设备的连接。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。
返回值:
成功时返回 BT_STATUS_SUCCESS,失败时返回错误码。
bt_device_connect_le
bt_status_t bt_device_connect_le(bt_instance_t* ins, bt_address_t* addr, ble_addr_type_t type, ble_connect_params_t* param);
发起与远程设备的 BLE 连接。
参数:
ins蓝牙客户端实例, 参见 bt_instance_t.addr蓝牙地址。typeLE address type, 参见 ble_addr_type_t.param指向 connection parameters, 参见 ble_connect_params_t.
bt_device_disconnect_le
bt_status_t bt_device_disconnect_le(bt_instance_t* ins, bt_address_t* addr);
断开与远程设备的 BLE 连接。
参数:
ins蓝牙客户端实例, 参见 bt_instance_t.addr蓝牙地址。
bt_device_connect_request_reply
bt_status_t bt_device_connect_request_reply(bt_instance_t* ins, bt_address_t* addr, bool accept);
回复远程设备的连接请求,接受或拒绝连接。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。accept是否接受。
bt_device_set_le_phy
bt_status_t bt_device_set_le_phy(bt_instance_t* ins, bt_address_t* addr, ble_phy_type_t tx_phy, ble_phy_type_t rx_phy);
设置与远程设备的 BLE PHY 配置(1M/2M/Coded)。
参数:
-
ins蓝牙客户端实例。 -
addr远程设备蓝牙地址。 -
tx_phy发送 PHY。 -
rx_phy接收 PHY。 -
ins蓝牙客户端实例, 参见 bt_instance_t. -
addr蓝牙地址。 -
tx_phyPreferred TX PHY, 参见 ble_phy_type_t. -
rx_phyPreferred RX PHY, 参见 ble_phy_type_t.
bt_device_connect_all_profile
void bt_device_connect_all_profile(bt_instance_t* ins, bt_address_t* addr);
连接所有 Profile 连接。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。
bt_device_disconnect_all_profile
void bt_device_disconnect_all_profile(bt_instance_t* ins, bt_address_t* addr);
断开与远程设备的所有 Profile 连接。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。
bt_device_enable_enhanced_mode
bt_status_t bt_device_enable_enhanced_mode(bt_instance_t* ins, bt_address_t* addr, bt_enhanced_mode_t mode);
启用与远程设备的增强模式。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。mode模式。
bt_device_disable_enhanced_mode
bt_status_t bt_device_disable_enhanced_mode(bt_instance_t* ins, bt_address_t* addr, bt_enhanced_mode_t mode);
禁用与远程设备的增强模式。
参数:
ins蓝牙客户端实例, 参见 bt_instance_t.addr远程设备地址.modeEnhanced mode to disable, 参见 bt_enhanced_mode_t.
异步接口
bt_device_get_identity_address_async
bt_status_t bt_device_get_identity_address_async(bt_instance_t* ins, bt_address_t* bd_addr, bt_address_cb_t cb, void* userdata);
获取身份地址(异步版本)。
参数:
ins蓝牙客户端实例。bd_addrBLE 地址。cb回调函数。userdata用户数据。
bt_device_get_address_type_async
bt_status_t bt_device_get_address_type_async(bt_instance_t* ins, bt_address_t* addr, bt_device_get_address_type_cb_t cb, void* userdata);
获取远程设备的 BLE 地址类型。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cb回调函数。userdata用户数据。
bt_device_get_device_type_async
bt_status_t bt_device_get_device_type_async(bt_instance_t* ins, bt_address_t* addr, bt_device_type_cb_t cb, void* userdata);
获取设备类型(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cb回调函数。userdata用户数据。
bt_device_get_name_async
bt_status_t bt_device_get_name_async(bt_instance_t* ins, bt_address_t* addr, bt_string_cb_t cb, void* userdata);
获取远程设备名称(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cb回调函数。userdata用户数据。
bt_device_get_device_class_async
bt_status_t bt_device_get_device_class_async(bt_instance_t* ins, bt_address_t* addr, bt_u32_cb_t cb, void* userdata);
获取设备类型(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cb回调函数。userdata用户数据。
bt_device_get_uuids_async
bt_status_t bt_device_get_uuids_async(bt_instance_t* ins, bt_address_t* addr, bt_uuids_cb_t cb, void* userdata);
获取远程设备支持的 UUID 列表。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cb回调函数。userdata用户数据。
bt_device_get_appearance_async
bt_status_t bt_device_get_appearance_async(bt_instance_t* ins, bt_address_t* addr, bt_u16_cb_t cb, void* userdata);
获取外观特征值(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cb回调函数。userdata用户数据。
bt_device_get_rssi_async
bt_status_t bt_device_get_rssi_async(bt_instance_t* ins, bt_address_t* addr, bt_s8_cb_t cb, void* userdata);
获取远程设备的 RSSI(接收信号强度)。(异步版本)
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cb回调函数。userdata用户数据。
bt_device_get_alias_async
bt_status_t bt_device_get_alias_async(bt_instance_t* ins, bt_address_t* addr, bt_string_cb_t cb, void* userdata);
获取别名(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cb回调函数。userdata用户数据。
bt_device_set_alias_async
bt_status_t bt_device_set_alias_async(bt_instance_t* ins, bt_address_t* addr, const char* alias, bt_status_cb_t cb, void* userdata);
设置远程设备的别名。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。alias别名。cb回调函数。userdata用户数据。
bt_device_is_connected_async
bt_status_t bt_device_is_connected_async(bt_instance_t* ins, bt_address_t* addr, bt_transport_t transport, bt_bool_cb_t cb, void* userdata);
检查是否已连接(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。cb回调函数。userdata用户数据。
bt_device_is_encrypted_async
bt_status_t bt_device_is_encrypted_async(bt_instance_t* ins, bt_address_t* addr, bt_transport_t transport, bt_bool_cb_t cb, void* userdata);
检查与远程设备的连接是否已加密。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。cb回调函数。userdata用户数据。
bt_device_is_bond_initiate_local_async
bt_status_t bt_device_is_bond_initiate_local_async(bt_instance_t* ins, bt_address_t* addr, bt_transport_t transport, bt_bool_cb_t cb, void* userdata);
查询配对是否由本地发起(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。cb回调函数。userdata用户数据。
bt_device_get_bond_state_async
bt_status_t bt_device_get_bond_state_async(bt_instance_t* ins, bt_address_t* addr, bt_transport_t transport, bt_device_get_bond_state_cb_t cb, void* userdata);
获取与远程设备的配对状态(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。cb回调函数。userdata用户数据。
bt_device_is_bonded_async
bt_status_t bt_device_is_bonded_async(bt_instance_t* ins, bt_address_t* addr, bt_transport_t transport, bt_bool_cb_t cb, void* userdata);
查询是否已配对(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。cb回调函数。userdata用户数据。
bt_device_connect_async
bt_status_t bt_device_connect_async(bt_instance_t* ins, bt_address_t* addr, bt_status_cb_t cb, void* userdata);
连接远程设备(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cb回调函数。userdata用户数据。
bt_device_disconnect_async
bt_status_t bt_device_disconnect_async(bt_instance_t* ins, bt_address_t* addr, bt_status_cb_t cb, void* userdata);
断开连接(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cb回调函数。userdata用户数据。
bt_device_connect_le_async
bt_status_t bt_device_connect_le_async(bt_instance_t* ins, bt_address_t* addr, ble_addr_type_t type, ble_connect_params_t* param, bt_status_cb_t cb, void* userdata);
连接远程 BLE 设备(异步版本,支持指定连接参数)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。type类型。param连接参数结构体。cb回调函数。userdata用户数据。
bt_device_disconnect_le_async
bt_status_t bt_device_disconnect_le_async(bt_instance_t* ins, bt_address_t* addr, bt_status_cb_t cb, void* userdata);
断开BLE 连接(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cb回调函数。userdata用户数据。
bt_device_connect_request_reply_async
bt_status_t bt_device_connect_request_reply_async(bt_instance_t* ins, bt_address_t* addr, bool accept, bt_status_cb_t cb, void* userdata);
回复连接请求(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。accept是否接受。cb回调函数。userdata用户数据。
bt_device_connect_all_profile_async
bt_status_t bt_device_connect_all_profile_async(bt_instance_t* ins, bt_address_t* addr, bt_status_cb_t cb, void* userdata);
连接所有 Profile 连接(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cb回调函数。userdata用户数据。
bt_device_disconnect_all_profile_async
bt_status_t bt_device_disconnect_all_profile_async(bt_instance_t* ins, bt_address_t* addr, bt_status_cb_t cb, void* userdata);
断开所有 Profile 连接(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cb回调函数。userdata用户数据。
bt_device_set_le_phy_async
bt_status_t bt_device_set_le_phy_async(bt_instance_t* ins, bt_address_t* addr, ble_phy_type_t tx_phy, ble_phy_type_t rx_phy, bt_status_cb_t cb, void* userdata);
设置BLE PHY 配置(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。tx_phy发送 PHY。rx_phy接收 PHY。cb回调函数。userdata用户数据。
bt_device_create_bond_async
bt_status_t bt_device_create_bond_async(bt_instance_t* ins, bt_address_t* addr, bt_transport_t transport, bt_status_cb_t cb, void* userdata);
发起与远程设备的配对(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。cb回调函数。userdata用户数据。
bt_device_remove_bond_async
bt_status_t bt_device_remove_bond_async(bt_instance_t* ins, bt_address_t* addr, uint8_t transport, bt_status_cb_t cb, void* userdata);
取消配对(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。cb回调函数。userdata用户数据。
bt_device_cancel_bond_async
bt_status_t bt_device_cancel_bond_async(bt_instance_t* ins, bt_address_t* addr, bt_status_cb_t cb, void* userdata);
取消正在进行的配对(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cb回调函数。userdata用户数据。
bt_device_pair_request_reply_async
bt_status_t bt_device_pair_request_reply_async(bt_instance_t* ins, bt_address_t* addr, bool accept, bt_status_cb_t cb, void* userdata);
配对配对请求回复(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。accept是否接受。cb回调函数。userdata用户数据。
bt_device_set_pairing_confirmation_async
bt_status_t bt_device_set_pairing_confirmation_async(bt_instance_t* ins, bt_address_t* addr, uint8_t transport, bool accept, bt_status_cb_t cb, void* userdata);
设置安全配对确认(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。accept是否接受。cb回调函数。userdata用户数据。
bt_device_set_pin_code_async
bt_status_t bt_device_set_pin_code_async(bt_instance_t* ins, bt_address_t* addr, bool accept, char* pincode, int len, bt_status_cb_t cb, void* userdata);
设置 PIN 码(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。accept是否接受。pincodePIN 码字符串。len长度。cb回调函数。userdata用户数据。
bt_device_set_pass_key_async
bt_status_t bt_device_set_pass_key_async(bt_instance_t* ins, bt_address_t* addr, uint8_t transport, bool accept, uint32_t passkey, bt_status_cb_t cb, void* userdata);
设置配对密钥(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。transport传输类型(BR/EDR 或 BLE)。accept是否接受。passkey配对密钥。cb回调函数。userdata用户数据。
bt_device_set_le_legacy_tk_async
bt_status_t bt_device_set_le_legacy_tk_async(bt_instance_t* ins, bt_address_t* addr, bt_128key_t tk_val, bt_status_cb_t cb, void* userdata);
设置 BLE Legacy 配对 TK 值(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。tk_valOOB TK 值。cb回调函数。userdata用户数据。
bt_device_set_le_sc_remote_oob_data_async
bt_status_t bt_device_set_le_sc_remote_oob_data_async(bt_instance_t* ins, bt_address_t* addr, bt_128key_t c_val, bt_128key_t r_val, bt_status_cb_t cb, void* userdata);
设置 LE SC 配对的远程 OOB 数据(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。c_valSC 确认值。r_valSC 随机值。cb回调函数。userdata用户数据。
bt_device_get_le_sc_local_oob_data_async
bt_status_t bt_device_get_le_sc_local_oob_data_async(bt_instance_t* ins, bt_address_t* addr, bt_status_cb_t cb, void* userdata);
获取 LE SC 配对的本地 OOB 数据(异步版本)。
参数:
ins蓝牙客户端实例。addr远程设备蓝牙地址。cb回调函数。userdata用户数据。