IOS:背景蓝牙低功耗(BLE)扫描规则

时间:2015-12-08 14:05:21

标签: ios bluetooth-lowenergy

在网上花了好几个小时后,我找不到任何有关IOS使用的背景BLE扫描规则的文档。

由于无法在IOS上设置扫描窗口,我正在寻找Apple在后台扫描时Apple定义的规则。

上下文

我正在开发一种可穿戴的外围设备,当手机无法触及时,它可能会断开连接。目标是在外围设备足够靠近手机时快速重新连接(小于5秒)。外围设备有电池限制,所以我不能永远每20毫秒做一次广告,所以我正在寻找一种巧妙的方法将外围设备重新连接到手机上。

如果我知道背景扫描模式是如何工作的,我可以定义一个智能广告间隔以节省电池。

用例

如果我的外围设备每1285毫秒做一次广告,我的IOS应用程序在后台模式下发现10分钟需要多长时间?

2 个答案:

答案 0 :(得分:4)

不确定您的问题到底是什么。

我想您已经阅读了Apple的“Apple产品蓝牙配件设计指南”?

https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf

在其中,他们说:

  

3.5广告时段

     

配件的广告间隔应小心   考虑,因为它影响发现和连接的时间   性能。对于电池供电的配件,其电池资源   也应该考虑。

     

要由Apple产品发现,配件应首先使用   推荐的广告时间间隔为20毫秒,持续时间至少为30秒。   如果在最初的30秒内未发现,Apple   建议使用以下较长间隔之一来增加   Apple产品发现的机会:

     
      
  • 152.5 ms
  •   
  • 211.25 ms
  •   
  • 318.75 ms
  •   
  • 417.5 ms
  •   
  • 546.25 ms
  •   
  • 760 ms
  •   
  • 852.5 ms
  •   
  • 1022.5 ms
  •   
  • 1285 ms
  •   
     

注意:更长的广告时段通常会导致更长的发现和连接时间。

发现BLE设备后,iOS会通知正在寻找它的应用(基于广告服务UUID),然后就可以连接到它。

Apple推荐iBeacons的间隔为100毫秒。

这(相当陈旧,从2012年开始)discussion表示:

  

手机待机时的中位发现时间约为60   倍于广告间隔。 95%的发现时间   手机处于待机状态是广告的300倍左右   间隔

这(稍微更新,但从2013年12月开始)answer声明:

  

虽然在前台扫描可能会立即发现一个   旁边的设备广告,在后台发现可以占用   要长约60倍。

答案 1 :(得分:0)

(平均)广告间隔接近扫描间隔的整数倍时会出现问题,然后发现时间可能会无限增加(即扫描仪将永远看不到广告,因为ADV总是在扫描之外发生窗口)。 Apple的设计指南中的ADV间隔列表可能显示了最佳值,但没有说明如何确定发现时间。真是一团糟! 我什至会更进一步地说:如果智能手机(Apple或任何其他)制造商没有为每种电源模式准确指定扫描参数(时间间隔,窗口和最终的过滤器设置),那么您将迷失并且无法正确估算发现性能。

相关问题