你好,
我正在尝试实现一个系统,其中只有白名单设备被允许扫描,但每个设备都允许发送连接请求。
正如我检查过的adv_filt_policy在user_config.h过滤策略有这样一个选项。然而,当我设置这个选项时,我无法看到我的设备并发送连接请求。您能否给我一些指导,我该如何解决这个问题,如何实现这个想法?
我的目标是指示白名单设备何时发送了扫描请求。
目前,我的工作基于ble_app_security示例:SDK和scan_request_tracker的例子。
问候,
哈米德
关键词:
设备:
嗨hamiddhosseini,
您使用的SDK版本是什么?在最新的SDK版本(版本6.0.14.1114)中增加了白名单。请参见app_easy_whitelist.c中的app_easy_manage_wlist() API。
请问您是否正在使用该API?
谢谢,PM_Dialog
我使用SDK 6.0.14,我有app_easy_manage_wlist ()API。
但是我应该可以向设备发送连接请求,不管白名单是什么,因为广告过滤策略设置为ADV_ALLOW_SCN_WLST_CON_ANY。现在,我不能发送扫描请求和连接请求。
此外,我有以下几个问题:
1-设备配对后不会自动加入白名单吗?
2-如果不是自动的,我应该在配对成功后将设备添加到白名单。然后我必须检查设备是否在白名单中。但是,白名单操作不包括搜索方法。因此,如何在白名单中进行搜索?
最好的问候,
哈米德
嗨哈米德,
当调用app_easy_manage_wlist()时,设备BD地址存储在gap_ral_dev_info结构中。你能分享一下你是如何使用app_easy_manage_wlist() API的吗?您是否使用SDK示例?
谢谢,PM_Dialog
你好,
正如之前提到的,我使用了ble_app_security SDK的例子,我已经添加了scan_request_track到它。这些示例一起工作很好,我可以看到发送扫描请求的设备的地址。
在这一点上,我想触发一个事件的扫描请求从白名单设备。话虽如此,我有两个选择:
1-将adv_filt_policy修改为ADV_ALLOW_SCAN_WLST_CON_ANY;它会自动阻止非白名单设备发送扫描请求。然而,这一变化导致该设备完全停止广告。它不会崩溃,但没有广告包。
2-我的第二个选择是允许每个设备发送一个扫描请求,并在scan_request_cb中,搜索白名单中的设备。然而,app_easy_manage_wlist()没有任何搜索白名单的命令,因此我目前没有使用它。
嗨哈米德,
你能告诉我这个问题和这个问题是否相关吗?
https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/verifying-scaners-identity
谢谢,PM_Dialog
是的,道理是一样的。我在这里讨论的是第一个选项,但因为它似乎不可能,我开始实施第二个选项,我觉得我需要开始一个新的话题。
嗨哈米德,
谢谢你的解释。所以,让我们在你的其他论坛门票讨论这个。
https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/problem-advertisement-filtering-policy
谢谢,PM_Dialog
好吧