iOS:如何确定广播作为 iBeacon 的功耗?

Posted

技术标签:

【中文标题】iOS:如何确定广播作为 iBeacon 的功耗?【英文标题】:iOS: How can I determine the power consumption of broadcasting as an iBeacon? 【发布时间】:2014-08-23 17:15:40 【问题描述】:

关于上下文:我正在开发一个应用程序,我们正在考虑使用 iBeacon 来识别附近正在运行该应用程序的其他人。每当应用程序运行时,设备就充当 iBeacon;当用户采取特定操作时,他们的设备将在附近的 iBeacons 范围内进行范围定位,以识别附近的其他人。

我正试图弄清楚这会对电池产生什么样的影响,以作为 iBeacon 持续广播。它应该是最小的(我的意思是,蓝牙低功耗的全部意义在于它是低功耗的,对吗?),但是如果两个相同的设备并排运行几个小时,一个广播还有一个不是,我不确定如何确定它会在多大程度上影响电池寿命。

我尝试在 Instruments 中使用 Energy Diagnostics 配置文件,但对于蓝牙,它只是打开或关闭。仅当我禁用/启用设备上的蓝牙时,这才会改变。启动或停止 iBeacon 广播不会改变任何事情。作为 iBeacon 进行广播似乎不太可能在已经运行的蓝牙硬件之上增加零开销,但 Instruments 并没有给我足够的信息来确定这一点。

有什么想法吗?

【问题讨论】:

请注意,无法在后台充当 iBeacon -***.com/questions/18944325/… 是的,我只是指望它在前台广播。 那我就不用太担心BLE功耗了。显示器将使用更多电池 【参考方案1】:

在制作 android 信标库时,我必须想办法在该平台上进行类似的测试。我使用的技术足够暴力,它也应该适用于 ios

我。将您的手机置于几乎不会发生与您的应用无关的状态。

    卸载或终止任何可能在后台运行的应用程序 禁用 3G/Wifi(以防止操作系统数据传输使用电池) 禁止屏幕进入睡眠状态(永远)。 将电池充电至 100%

二。测量您的应用在作为信标传输时消耗了多少电池:

    启动您的应用并使其作为信标传输。 断开手机与充电器的连接,记录时间。 等待几个小时,直到电池电量变低。记录自上一步以来经过了多长时间。 记录电池电量(例如 10%)

三。将手机充电至 100% 后,进行基线测量:

    在不作为信标传输的状态下启动您的应用。 断开手机与充电器的连接,记录时间。 等待与步骤 II(3) 完全相同的时间。 记录电池电量。

III(4) 和 II(4) 之间的电池电量差异是您的手机在作为信标传输时与基线相比使用了多少额外电量。

是的,这项技术需要时间——但是在夜间运行测试,您可以在 48 小时内得到答案。 (虽然你会连续两天早上没电!)

【讨论】:

我每天都会对许多不同的手机进行这样的电池测试,我还要补充一点,每部手机都是不同的,甚至同一部手机在多次测试之间也会有所不同。您运行测试并将结果平均化的次数越多,您就越有可能准确预测一段时间内的平均电池消耗量。

以上是关于iOS:如何确定广播作为 iBeacon 的功耗?的主要内容,如果未能解决你的问题,请参考以下文章

ESP32学习笔记(29)——BLE iBeacon广播

iOS 中 iBeacon 开发

Android IBeacon

ibeacon是啥?能实现哪些功能?

低功耗蓝牙Ble的详细使用流程

如何查找 iBeacon 范围内的设备数量?