【问题标题】:Detect proximity using Bluetooth LE "Proximity" profile Android使用蓝牙 LE“Proximity”配置文件 Android 检测接近度
【发布时间】:2013-10-28 16:16:50
【问题描述】:

问题定义: 我一直在尝试将 BLE proximity profile 用于 Android 上的蓝牙 LE。一些设备,例如具有 4.3 Android 的新一代 Google Nexus 平板电脑支持 BLE,并且可以充当central 设备。 我阅读了Bluetooth LE 的 Android 官方文档,但他们似乎对此没有任何支持。他们是否有任何解决方法来实施我们自己的邻近配置文件?

关于 Android 上的邻近配置文件但没有帮助的问题

感谢任何帮助。谢谢。

【问题讨论】:

  • Proximity Profile 定义了两个角色:Proximity Monitor 和 Proximity Reporter。 Proximity Reporter 应为 GATT 服务器。 Proximity Monitor 应为 GATT 客户端。 Android 设备只能充当中心角色,因此可以是 Proximity Monitor,但不能是 Proximity Reporter。

标签: android bluetooth-lowenergy proximity


【解决方案1】:

2014 年 6 月:

感谢大家的回答。只是为了更新,截至 2014 年 6 月,BLE 外设模式在 Android L 开发者预览版中提供。因此,现在 Android 设备既可以充当外围设备,也可以充当中心角色。希望在Android L 官方版本中看到它。引用他们的博客New in Android: L Developer Preview and Google Play Services 5.0

L 开发者预览版可让您探索下一版 Android 的许多新特性和功能,并提供在新平台上开始开发和测试所需的一切。以下是开发人员的一些亮点:

BLE 外设模式 — Android 设备现在可以在蓝牙低功耗 (BLE) 外设 模式下运行。应用可以使用此功能向附近的设备广播它们的存在——例如,您现在可以构建应用,让设备充当计步器或健康监测器,并将数据传输到另一个 BLE 设备。

2014 年 10 月 16 日更新:

现在出来了!结帐Android 5.0 wireless changes 页面。

2014 年 12 月 8 日更新:

坏消息是 BLE 外设模式仅适用于较新的 Android 设备(根据日期),即 Nexus 6 和 Nexus 9。它不适用于 Nexus 4/Nexus 5/nexus 7/nexus 10即使您将其更新到 Android 5.0。您可以通过BLE advertise mode not working 票证上的一位 Android 项目经理阅读comment。他说:

我们在 Android 5.0 Lollipop 中引入了 BLE 外设模式。 Nexus 6 和 Nexus 9 是支持 BLE 外设模式的前两个生产 Nexus 设备。由于硬件芯片组依赖性,较旧的 Nexus 设备 (4/5/7) 将无法访问 Lollipop 上的功能。

感谢Rob Anderson 告知。

【讨论】:

  • 但据我所知,它只适用于 Nexus 6 和 Nexus 9。我在我的 Nexus 4 (Android 5.0) 上试过,但它不工作。
  • AFAIK Nexus 4 支持它。在此处查看设备列表:bluetooth.com/Pages/Bluetooth-Smart-Devices-List.aspx
  • 对不起,我说的是外围模式! Nexus 4 不支持!我写了以下代码来测试它:github.com/hennroja/AndroidBLEPeripheralTest
  • @RobAnderson 你是对的。我更新了我的答案。我在回答中提到的票证上的一位 Android 项目经理的评论证实了这一点。
【解决方案2】:

详述shubhams's answer

很遗憾,Android 设备无法充当外围设备。他可以创建 GATT 服务器、服务和特性,但无法制作广告。 (https://stackoverflow.com/a/18020153/3061383)

由于 Android(尚)不支持广告,因此没有其他 BLE 设备能够发起与 Android 设备的连接。到目前为止,Android 设备必须启动连接。

【讨论】:

    【解决方案3】:

    不幸的是,android 只能充当中心而不是外围。因此,此时无法进行自定义分析。相反,您可以使用 gatt 提供的配置文件。

    例如:温度监视器配置文件。相反,您可以在 iPhone 上制作自定义服务和特性,并将其用作信标。

    另外,如果您使用的是 Estimote 和其他公司的硬件设备,您可以从 android 设备回复数据,即服务和特性具有读取、写入和通知等属性。但是当你把 iPhone 作为 Beacon 时,你将无法从 android 设备接收到值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-31
      • 2013-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多