Pav*_*sky 5 iphone bluetooth geolocation ios bluetooth-lowenergy
我想构建和应用程序,可以在65英尺范围内使用我的应用程序检测其他iPhone.据我所知,我有以下选择:
使用蓝牙定期检查是否有我的应用程序在该范围内的设备.将找到的设备列表发送到服务器.这里的问题是电池消耗.是否真的会在一段时间后自动禁用蓝牙?
我可以将BLE技术用于此目的吗?如果是这样,你知道哪些设备支持BLE吗?
您认为最好的选择是什么?我错过了其他选择吗?
谢谢
更新 我计划每20秒或甚至更频繁地运行搜索.
这个问题没有简单的答案.
蓝牙有两种口味:"常规"蓝牙,用于免提设备,耳机等,以及BLE(低功耗蓝牙)
常规蓝牙设备必须配对.(我对常规蓝牙比BLE不太熟悉,所以请用一点点解释这个位.)为了配对,必须将它们置于"可发现"模式,广播它们的ID.这是一个电池耗尽,只是简单地完成.这不是一个"永远在线"的解决方案.
BLE的射程可达60米,因此它可以满足您的需求.
BLE设备可以长时间"宣传"为"外围设备".其他蓝牙设备可以充当"中心",并要求在检测到某些外围设备时得到通知.我不确定你是否可以将iOS设备广告(广播)作为BLE外设,而它在后台和/或设备被锁定,但它肯定会在它运行时做广告.我很确定你可以注册,当你从后台检测到某个BLE外设时会收到通知,但不是肯定的.
iBeacons是BLE的特定用途,具有一些额外的限制和一些额外的能力.iBeacon是一个简单的发送器,它定期发送UUID加上主要和次要值以及信号强度校准值(通常每秒一次).您不能将任何其他数据添加到iBeacon传输.当应用程序位于前台时,iOS只能充当iBeacon发射器.如果您的应用移动到后台,它将停止传输.期.
但是,您甚至可以从后台收听iBeacon信号.并且,如果您已注册为iBeacon的监听器并且系统因内存不足而终止您的应用程序,则系统仍会代表您监听这些信标.如果iOS检测到您正在侦听的信标,则会在需要时重新启动,并在后台通知.然后,您可以发布本地通知以引起用户的注意.
iBeacons可能是您最好的选择,但您需要用户在前台主动运行您的应用程序以传输信号.这将很快耗尽用户的电池电量.