LL_AddWhiteListDevice 添加advertising白名单的时候,是否可以添加某一组address,
例如address共6断,0xab 0xbc 0xef 0x__ 0x__ 0x__,只要前三段为“0xab 0xbc 0xef”, 都判定为合法。
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策略为<拒绝扫描而不拒绝连接>,所以对于芯片主机来说,此设备仍是可连接的。
如果手机不在从机的白名单里,一般手机是无法扫描到设备的,下面这种情况,手机也是可以扫描且连接的:白名单设备发起扫描请求,从机会发送扫描应答,这是手机就能跟着扫描到且连接。
芯片作为主机是可以直接连接的。
好的,我理解了,非常感谢。