2015-09-10 18 views
0

我的理解是,BLE廣告數據包可以被識別爲iBeacon廣告數據包,這是因爲PDU類型爲ADV_NOCONN_IND,並且PDU有效負載由2個廣告數據結構組成 - 第一個是Flags類型,第二個鍵入Manufacturer Specific。此外,製造商特定AD結構中的數據長度爲26,以2字節的製造商ID開頭,後面是0x02,表示該設備是iBeacon,後面是剩餘的iBeacon數據。iBeacon廣告包 - 有什麼區別?

在我看來,隨機BLE廣告數據包可能恰好與區分iBeacon廣告數據包的值具有相同的值序列。這被認爲是不太可能的以至於不擔心?

回答

0

廣告作爲信標的不正確的匹配是有兩個原因極其罕見的:

  1. 製造商廣告PDU內的特定字節串必須匹配。對於像AltBeacon這樣的製造商信標類型,這是兩個字節,而不是一個。所以隨機匹配的機會是65536到1.

  2. 通常還需要特定的製造商代碼。同樣,在AltBeacon的情況下,預計會有0x0118的Radius網絡標識符。這裏隨機匹配的機率也是65536到1

二者結合起來,和隨機匹配的機率4,294,967,296爲1和製造商的廣告不是隨機的白噪聲 - 人設計它們以發送特定的字節序列。而且有人設計一些與另一家公司的製造商代碼(你可能不應該沒有許可)的機會和兩個匹配的字節,如40億比一似乎是不太可能的情況。

注意:雖然這個答案提到了詳細的AltBeacon,它是一個開放源代碼規範,但它適用於使用同樣方式工作的製造商廣告的其他主要專有信標。

+0

謝謝大衛。 – Verticon