iBeacon 广告包 - 有啥区别?

Posted

技术标签:

【中文标题】iBeacon 广告包 - 有啥区别?【英文标题】:iBeacon Advertising Packet - What Distinguishes It?iBeacon 广告包 - 有什么区别? 【发布时间】:2015-09-10 17:13:31 【问题描述】:

据我了解,BLE 广告数据包可以识别为 iBeacon 广告数据包,因为 PDU 的类型为 ADV_NOCONN_IND 并且 PDU 有效负载由 2 个广告数据结构组成 - 第一个是标志类型,第二个是制造商特定类型。此外,制造商特定 AD 结构中的数据长度为 26,以 2 字节制造商 ID 开头,后跟表示设备是 iBeacon 的 0x02,然后是 iBeacon 数据的其余部分。

在我看来,随机 BLE 广告包可能恰好具有与区分 iBeacon 广告包的值相同的序列。这是否被认为是不可能的,以至于不值得关注?

【问题讨论】:

【参考方案1】:

将广告错误匹配为信标的情况极为罕见,原因有二:

    制造商广告 PDU 中的特定字节序列必须匹配。对于像 AltBeacon 这样的制造商信标类型,这是两个字节,而不是一个。所以随机匹配的机会是 65536 比 1。

    通常还需要特定的制造商代码。同样,对于 AltBeacon,预计 Radius Networks 标识符为 0x0118。这里随机匹配的几率也是 65536 比 1。

将两者结合起来,随机匹配的几率是 4,294,967,296 比 1。而且制造商广告不像白噪声那样随机——人们必须将它们设计为发送特定的字节序列。有人使用另一家公司的制造商代码(未经许可您可能不应该这样做)和两个匹配的字节(40 亿比一)来设计东西的可能性似乎不太可能发生。

注意:虽然此答案提到了 AltBeacon 的详细信息,它是一个开源规范,但它适用于其他主要的专有信标,这些信标使用以相同方式工作的制造商广告。

【讨论】:

以上是关于iBeacon 广告包 - 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

iBeacon 广告 - 测量。功率/发射功率以确定与 iBeacon 的大致接近程度?

Android BLE iBeacon 广告包大于预期

广告标识符和应用实例 id 有啥区别?

CBPeripheralManager 延迟停止广告/位置管理器范围停止 iBeacon

iBeacon 在应用程序上开始广告确实进入了后台

都是推荐系统,广告算法和推荐算法有啥区别?