ch573 583 592 白名单问题

LL_AddWhiteListDevice 添加advertising白名单的时候,是否可以添加某一组address,

例如address共6断,0xab 0xbc 0xef 0x__ 0x__ 0x__,只要前三段为“0xab 0xbc 0xef”, 都判定为合法。

您好,设置白名单需要是确定的mac和mactype,

如果你是用主机,可以在扫描到设备后字节根据这三个字节做过滤,

如果你是做从机,可以在连接函数里做判断,若mac不符合直接断开连接。


请问有没有办法做到扫描的时候就不让扫到?

白名单机制那个scan request的时候不回复scan response,如果做合法性判断的时候,不是验证完整的6byte,而是只验证其中3byte应该就能实现这个效果。


如果想要扫描的时候就不让扫到,那是需要开启白名单的(此时手机搜不到,手机对于可连接广播需要有有应答才会显示,用芯片做主机且非从机白名单时是可以扫描拿到从机广播包的,但是发送连接请求不会有回应。)

但添加白名单是必须要确定的六个字节mac和一个字节mactype的,设置白名单需要占用dataflash空间,一个人256字节。


好的,这个机制我大概理解了,

在有关白名单过滤机制的定义中,有以下四种,

#define GAP_FILTER_POLICY_ALL                   0x00  //!< Allow Scan Request from Any, Allow Connect Request from Any (default).
#define GAP_FILTER_POLICY_WHITE_SCAN            0x01  //!< Allow Scan Request from White List Only, Allow Connect from Any
#define GAP_FILTER_POLICY_WHITE_CON             0x02  //!< Allow Scan Request from Any, Connect from White List Only
#define GAP_FILTER_POLICY_WHITE                 0x03  //!< Allow Scan Request and Connect from White List Only

如果将设备的Filter机制设定为 GAP_FILTER_POLICY_WHITE_SCAN

是否即可实现<非白名单授权的手机>扫描时,设备无应答,即手机无法扫描到设备,

而当以芯片作为主机时,即可通过广播包获知到周围有此设备,此时因Filter策略为<拒绝扫描而不拒绝连接>,所以对于芯片主机来说,此设备仍是可连接的。





如果手机不在从机的白名单里,一般手机是无法扫描到设备的,下面这种情况,手机也是可以扫描且连接的:白名单设备发起扫描请求,从机会发送扫描应答,这是手机就能跟着扫描到且连接。

芯片作为主机是可以直接连接的。



好的,我理解了,非常感谢。


只有登录才能回复,可以选择微信账号登录