2015-05-18 17 views
1

我正在写(并复制)一些蓝牙LE扫描仪软件来查找并连接到心率监视器。我曾经能够通过使用scanForPeripheralsWithServices方法来找到此设备,通过将服务设置为nil来执行通用扫描。但是在最近的几天里,我注意到我的蓝牙LE设备(我的心率监测器)不能再被扫描(可能它的广告方式与以前不一样),但是我的iPhone仍然可以在设置下与其配对并可以通过诸如“Polar Beat”和“Strava”等商业应用程序连接到它。那么改变了什么?蓝牙LE设备可以停止广告并仍然可以连接(配对)并共享数据作为外设?蓝牙LE设备可以停止广告并仍然可以连接并共享数据吗?

+0

进行了一些轻微的格式更改。并删除了第一段,因为恕我直言,它没有包含任何重要的这个问题。 – TobiMcNamobi

+0

@mgianzero,你解决了这个问题吗? – Palak

回答

0

奇怪的是,您的设备不做广告。

但是,由于智能手机在过去执行“绑定”过程,因此iPhone可以连接到它是很正常的。绑定是另一个安全程序,而不是简单的配对。使用Bonding,心率设备和智能手机可以交换密钥并将它们存储在非易失性存储器中,以便快速连接。 简单的配对键是暂时的,需要广告。

+0

所以你同意,我的心率监测器不再宣传的事实很奇怪。任何人都有这个想法吗?但是,一旦蓝牙设备与客户端配对,该客户端(我的iPhone)就执行了一个“绑定”程序,允许快速访问此设备,这就是为什么我的手机在未来可以重新与其连接,无论其无法宣传。它是否正确? – mgianzero

+0

是的......这是正确的。我没有iPhone,但是在我的Windows Phone上,我可以“忘记”设备,以便保存的密钥被删除并取消绑定。 – ppatierno

+0

你不会相信它!我发现了问题!我今天出去买了另一台Polar H7心率监测仪,看看会发生什么。有史以来第一次,我得到了这个代码工作。原来,我的原蓝牙HRM一定是有缺陷的!感谢ppatierno您的意见。现在,尽管缺乏广告,仍然可以继续找到我的设备,但对于您所说的绑定过程有何意义。 – mgianzero

相关问题