2015-03-25 60 views
4

我知道一个iBeacon显示的定义是广告数据包的固定规格,它是发送:一个iBeacon显示能有一个数据有效载荷

  • 9字节iBeacon显示前缀
  • 16字节的UUID
  • 2个字节主要
  • 2字节次要
  • 1字节TX功率

话虽这么说,有什么能够阻止一盏明灯来自发出广告iBeacon显示数据包来唤醒手机的应用程序,也发送实际的数据内容作为BLE数据包的一部分?为了发送/传输更多数据,是否需要进行很多握手?

是否有一个信标传输数据的一些其他的方式?我的一个主要担心是欺骗我的信标来伪造我试图收集的数据。我希望能够将一些数据与iBeacon数据包一起传输将允许我限制欺骗。

是一样的东西,即使是可行的?

+0

这是不可能的。内部监督办公室 - 核心定位和核心蓝牙不提供访问原始的广告。它可能在其他平台上或使用BLE外设而不是iBeacon。 – Paulw11 2015-03-25 03:49:09

回答

3

几个可能性:

  • 您可以在一个额外的数据字节钉到iBeacon显示传输结束时达到其最大的广告长度之前。不过,iOS设备无法读取此字节,因为Apple阻止读取iBeacon广告的原始数据。它可以在Android/Mac/Linux上运行。

  • 可以交错与大多数据字段的第二advertisenent和与像次要一个共同标识符排列在两个上。分配给广告排列的字节越多,用于数据的数量就越少。你不能使用这个mac把它们放大,因为在iBeacon传输的iOS中这是无法读取的。

  • 可以使得航标通过关贸总协定连接,并读取数据字段与GATT的属性。尽管如此,信号灯将停止广告。这限制了吞吐量和可靠性。

所有这些选项都要求您构建一个自定义的BLE信标,它可以做多个广告。这不是一件小事。