LL_AddWhiteListDevice 添加advertising白名單的時(shí)候,是否可以添加某一組address,
例如address共6斷,0xab 0xbc 0xef 0x__ 0x__ 0x__,只要前三段為“0xab 0xbc 0xef”, 都判定為合法。
LL_AddWhiteListDevice 添加advertising白名單的時(shí)候,是否可以添加某一組address,
例如address共6斷,0xab 0xbc 0xef 0x__ 0x__ 0x__,只要前三段為“0xab 0xbc 0xef”, 都判定為合法。
您好,設(shè)置白名單需要是確定的mac和mactype,
如果你是用主機(jī),可以在掃描到設(shè)備后字節(jié)根據(jù)這三個(gè)字節(jié)做過濾,
如果你是做從機(jī),可以在連接函數(shù)里做判斷,若mac不符合直接斷開連接。
請(qǐng)問有沒有辦法做到掃描的時(shí)候就不讓掃到?
白名單機(jī)制那個(gè)scan request的時(shí)候不回復(fù)scan response,如果做合法性判斷的時(shí)候,不是驗(yàn)證完整的6byte,而是只驗(yàn)證其中3byte應(yīng)該就能實(shí)現(xiàn)這個(gè)效果。
如果想要掃描的時(shí)候就不讓掃到,那是需要開啟白名單的(此時(shí)手機(jī)搜不到,手機(jī)對(duì)于可連接廣播需要有有應(yīng)答才會(huì)顯示,用芯片做主機(jī)且非從機(jī)白名單時(shí)是可以掃描拿到從機(jī)廣播包的,但是發(fā)送連接請(qǐng)求不會(huì)有回應(yīng)。)
但添加白名單是必須要確定的六個(gè)字節(jié)mac和一個(gè)字節(jié)mactype的,設(shè)置白名單需要占用dataflash空間,一個(gè)人256字節(jié)。
好的,這個(gè)機(jī)制我大概理解了,
在有關(guān)白名單過濾機(jī)制的定義中,有以下四種,
#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
如果將設(shè)備的Filter機(jī)制設(shè)定為?GAP_FILTER_POLICY_WHITE_SCAN,
是否即可實(shí)現(xiàn)<非白名單授權(quán)的手機(jī)>掃描時(shí),設(shè)備無應(yīng)答,即手機(jī)無法掃描到設(shè)備,
而當(dāng)以芯片作為主機(jī)時(shí),即可通過廣播包獲知到周圍有此設(shè)備,此時(shí)因Filter策略為<拒絕掃描而不拒絕連接>,所以對(duì)于芯片主機(jī)來說,此設(shè)備仍是可連接的。
如果手機(jī)不在從機(jī)的白名單里,一般手機(jī)是無法掃描到設(shè)備的,下面這種情況,手機(jī)也是可以掃描且連接的:白名單設(shè)備發(fā)起掃描請(qǐng)求,從機(jī)會(huì)發(fā)送掃描應(yīng)答,這是手機(jī)就能跟著掃描到且連接。
芯片作為主機(jī)是可以直接連接的。
好的,我理解了,非常感謝。