【问题标题】:Iphone(ios 5.0) Bluetooth Low Energy: can not get data from the deviceIphone(ios 5.0)蓝牙低功耗:无法从设备获取数据
【发布时间】:2012-05-29 01:33:46
【问题描述】:

我在 IOS 5.0 上使用 corebluetooth.framework 让蓝牙低功耗心率监测器工作。但有时我会遇到以下问题。

1) 有时当我开始扫描时(使用 scanForPeripheralsWithServices 方法),它无法发现任何 BLE(蓝牙低功耗)设备,直到我手动关闭并打开 Iphone 蓝牙。有时,如果蓝牙关闭并打开不起作用,我也不得不重新启动手机。

2) 有时当我尝试连接到之前存储了 UUID 的设备时,我能够连接到该设备,即调用了 didConnectPeripheral 委托方法,但它从未发现任何服务,即使我调用 [peripheral discoverServices:nil] 即,我没有在委托方法 didDiscoverServices 中从设备获取任何数据。为此,我也不得不重启手机。

【问题讨论】:

  • 这个你想出来了吗?我有一个类似的问题,在断开/重新连接后没有调用 didDiscoverServices。

标签: ios iphone bluetooth-lowenergy core-bluetooth


【解决方案1】:

尝试在此处查看档案: http://lists.apple.com/archives/bluetooth-dev

如果您没有找到它,请将问题发送到那里。许多 Apple 蓝牙工程师回答了该邮件列表中的问题。

【讨论】:

    【解决方案2】:

    1)它与蓝牙低功耗和iPhone的配对程序有关。 iPhone每隔一段时间就会改变一次ID,我不知道多久,但确实如此。您是否尝试过仅重置/重新启动从设备?这通常对我有用。 从设备也有一个有限的广播周期,例如 20-30 秒。

    2) 再次检查您是否已重置从站。我不知道您是自己制造了设备还是购买了心率带,但这通常是解决方案。 哦,顺便说一句,我遇到了一个问题,didDiscoverServices 实际上跳过了一个 if 句,我在其中检查了一个特定的服务。在我重新启动手机之前,这并没有自行修复。真的很奇怪的行为,但我还没有找到任何其他解决方案。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    • 2014-07-30
    • 1970-01-01
    相关资源
    最近更新 更多