CN / EN
CN / EN

提问

获得支持

您的项目私密技术问题如需获得一对一支持,请点击下方联系我们。

GR551X 蓝牙应用开发如何开启白名单过滤机制 GR551x

已解决

Ping

汇顶员工
2022-03-12 15:50

1. 关于白名单过滤机制

当设备绑定之后,再次开启广播时可以使用白名单过滤机制,白名单是一组蓝牙地址的列表,设备只接受来自位于白名单中蓝牙设备的扫描和连接请求。

2. 如何开启白名单过滤机制

(1) 将广播参数的“filter_pol”字段配置为“GAP_ADV_ALLOW_SCAN_WLST_CON_WLST”, 即表示开启了白单过滤策略,设备配对绑定之后, SDK会自动把对端设备的身份地址添加到白名单列表中,因此无需用户添加,只需在广播参数配置中开启白名单过滤策略即可;

(2) 广播参数需要设置为GAP_DISC_MODE_NON_DISCOVERABLE , 因为在开启白名单的情况下,只能使用不可发现模式;

3. GR551X最大支持添加多少个白名单?

GR551x controller 协议栈可以支持添加 10 个白名单,但是只支持添加 3 个解析列表,而对于手机端的 RPA地址而言,只有当 RPA 地址被成功解析之后才能通过白名单的过滤策略。在绑定多个设备之后,如果再次开启的广播是带了白名单过滤策略的,那么有可能会因为无法解析手机端的RPA 地址导致设备无法连接。因此当用户绑定设备多于 3 个的情况下,建议开启广播时不要带白名单过滤策略。

4. 恢复出厂设置时,如何清除存储在NVDS区域的白名单信息?

调用 ble_gap_whitelist_clear()接口清除白名单信息,ble_gap_bond_devs_clear()接口清除配对绑定信息。


备注说明:

1. 如果开启白名单功能,默认需要开启隐私功能;

2. 在开启白名单的情况下,只能使用不可发现模式,即广播参数需要设置为GAP_DISC_MODE_NON_DISCOVERABLE;

0收藏

0赞成

185***329

2022-03-26 11:25

为什么我将广播参数的“filter_pol”字段配置为“GAP_ADV_ALLOW_SCAN_WLST_CON_WLST”后没有效呢?我是开启白名单功能前 “filter_pol”字段配置为“GAP_ADV_ALLOW_SCAN_ANY_CON_ANY ” 连接手机蓝牙配对白名单列表加入地址后才把配置改为 GAP_ADV_ALLOW_SCAN_WLST_CON_WLST,但是白名单列表那台手机搜不到蓝牙设备,没有广播!这个白名单有相关的咧程吗?

0条评论

0赞成

0收藏

您的评论
最佳答案

Ping

汇顶员工
2022-04-18 12:30

如果开启白名单功能,默认需要开启隐私功能,参考如下API说明:

/**
****************************************************************************************
* @brief Set privacy related parameters.
* @param[in] renew_dur: Duration before regenerating a device address when privacy is enabled in seconds. Range: 0x0001 (1s) ~ 0xA1B8 (11.5 hr).
* The suggested time is 900s(15 minutes).
* @param[in] enable_flag: Indicate the controller privacy is enabled or disabled.
*
* @retval ::SDK_SUCCESS: Operation is successful.
* @retval ::SDK_ERR_INVALID_PARAM: Invalid parameter supplied.
****************************************************************************************
*/
uint16_t ble_gap_privacy_params_set(uint16_t renew_dur, bool enable_flag);


8条评论

0赞成

0收藏

您的评论

登录后可回答问题,请 注册

我们时刻倾听您的声音
联系销售

扫描关注公众号

打开微信,使用“扫一扫”即可关注