当前位置: 首页 > 知识库问答 >
问题:

iBeacon可以有数据负载吗

云鸿祯
2023-03-14

我知道iBeacon的定义是它正在传输的广告包的固定规范:

  • 9字节iBeacon前缀
  • 16字节UUID
  • 2字节主要
  • 2字节次要
  • 1字节TX电源

也就是说,有没有什么可以阻止信标发送广告iBeacon数据包来唤醒手机的应用程序,并作为BLE数据包的一部分传输实际数据内容?为了发送/传输额外的数据,是否需要大量的握手?

信标还有其他传输数据的方式吗?我最大的担忧之一是欺骗我的信标,以伪造我试图收集的数据。我希望能够随iBeacon数据包一起传输一些数据,这将允许我限制欺骗行为。

这样的事情可行吗?

共有1个答案

戚宏扬
2023-03-14

有几种可能性:

>

  • 您可以在iBeacon传输达到其最大播发长度之前,将一个额外的数据字节附加到iBeacon传输的末尾。不过,iOS设备无法读取该字节,因为苹果会阻止读取iBeacon广告的原始数据。它可以在Android/Mac/Linux上运行。

    您可以将第二个Advertisent与大部分数据字段交错,并将它们与一个公共标识符(如minor)对齐。分配给排列广告的字节越多,用于数据的字节就越少。您不能使用mac将它们排列起来,因为iOS无法读取iBeacon传输。

    您可以通过GATT使信标可连接,并读取具有GATT属性的数据字段。然而,当连接时,信标将停止广告。这限制了吞吐量和可靠性。

    所有这些选项都要求您构建一个自定义的BLE信标来执行多个广告。这不是一件小事。

  •  类似资料:
    • Android设备能否充当iBeacon,并确定其他Android设备何时进入其范围?其他Android设备是否需要开启蓝牙? 如果一个顾客来到我的商店,他的设备上没有安装我的应用程序,iBeacon可以工作吗,还是他必须先安装应用程序?每天都有这么多顾客来我们的商店,但是如果他们没有安装我的应用程序,iBeacon的概念有用吗?

    • iOS7设备能否充当iBeacon并确定其他iOS7设备何时在其范围内?其他iOS7设备是否需要打开蓝牙?

    • 我们目前正在使用Spring Batch-Remote分块来扩展批处理过程。考虑使用云数据流,但想知道是否可以基于负载动态配置从服务器?我们部署在谷歌云中,因此如果云数据流适合我们的需求,我们也想为kubernetes使用Spring云数据流支持?

    • 我想知道iBeacon实际上是如何工作的。我找到了AirLocate的样例代码,但无法理解它是如何工作的。iBeacon在BLE上工作,因此可以通过蓝牙与其他支持BLE的设备进行数据通信? 是否可以使用BLE或信标通过蓝牙在iOS-android设备之间进行数据传输? iOS已经宣布了iBeacon技术,但没有找到任何与此相关的技术规范文档。我也想知道它在android上是如何工作的? 有人能请描

    • 我一直尝试将此csv上传到google Bigquery,但我总是出错。 读取数据时出错,错误消息:CSV表遇到太多错误,放弃。行数:303;错误:1。有关详细信息,请查看错误[]集合。读取数据时出错,错误消息:无效时区:PM;无法将“09/09/2006 11:45:00 PM”解析为从位置71061开始的字段日期(位置2)的日期时间 是这个csv文件。我得到了上面的错误。 https://ib

    • 想改进这个问题吗 通过编辑此帖子,更新问题,使其只关注一个问题。 在回答另一个问题时,我看到“你也可以在根Android4.4.3设备上作为信标进行传输,但它需要安装一个具有系统权限的应用程序。” 如何做到这一点?