【问题标题】:Increasing Battery Life on Windows Mobile using GPS and Web updates使用 GPS 和 Web 更新延长 Windows Mobile 的电池寿命
【发布时间】:2010-11-15 02:58:05
【问题描述】:

我有一个在 Windows Mobile 上运行的应用程序,它使用 GPS 以不同的时间间隔更新其位置。正如预期的那样,启用 GPS 芯片会消耗更多的电池电量。 (不,废话..)

所以目前我的技术是在大约 10 分钟左右循环打开/关闭 GPS。每 4 分钟获取一次位置,如果情况发生变化,请执行一些操作,并仅在必要时将其位置更新到网络。否则,请再次将其关闭并等待。

在我用了一年的 HTC Touch Diamond 手机上,重新充电,保持屏幕开启(但变暗),+ WiFi,除了让它坐在那里什么都不做,我最多可以使用 6 个小时。

这“没问题”,但 GPS 的使用很容易减少 2-4 小时的常规“现实世界”使用 (YMMV)。

我一直在考虑的另一个选择是让网络服务器在需要时向手机发出信号以更新其位置,而不是手机盲目地这样做。

这样,手机仅使用电源来获取数据连接并检查服务器。如果服务器告诉它更新,它才会打开 GPS。

除了响应时间要慢得多(我在猜测),如果手机在某个地方它不能轻易获得稳定的更新,那么你甚至不会知道它的最后位置。在这一点上,你被困在等待中。

我希望手机可以更加自主。

是否有更好的算法可以用来改进此设置?

谢谢。

【问题讨论】:

  • 附注该应用程序实际上是一个简单的基于位置的跟踪软件,旨在在后台运行。因此,它应该尽可能高效。
  • 我很好奇:您是否发现禁用 GPS 4 分钟会增加(再次)获得 GPS 信号的延迟?此外,无论 A) GPS 是否“开启”,但软件没有查询位置,以及 B) GPS 完全“关闭”,电池消耗是否会有很大差异?
  • 延迟 4 分钟似乎对 GPS 影响不大。之后它仍然设法快速锁定。这只是第一次,有时需要一段时间。 GPS 开启后,驱动程序会自动更新其结构,因此没有必要不收集数据。电池消耗是任何一种方式。 ://

标签: mobile gps power-management


【解决方案1】:

我认为您当前的解决方案将表现最佳并为用户提供最佳体验。

如果您让网络服务器触发手机进行更新,那么您确实依赖于太多可能断开连接的外部事物(不确定这是否会影响您的用户,因为您没有提及应用程序的功能)。

如果您可以并且还没有,您还可以确保您的应用在后台运行或屏幕“休眠”时不会打开 GPS。这样,您只需在应用启动后立即启动它,并且在应用不使用时不会浪费电池。

就我个人而言,我知道如果我使用的是 Wifi/GPS/数据密集型应用程序,无论如何它都会大大缩短我的电池寿命。您所经历的减少似乎与我经历过的其他应用程序相差太大。保持原样,让用户满意(即使他们必须更频繁地充电)。

【讨论】:

    【解决方案2】:

    您使用的 GPS 引擎是否具有任何可访问的内置低功耗操作模式。我在产品中嵌入了来自 SiRF 和 u-blox 的几个不同 GPS 芯片组,发现在电池电量方面,让 GPS 处于低功耗模式比关闭它然后让它重新获取更便宜.在我的例子中,它在低功耗模式下使用的能量更少,所有关闭时间不到 15 分钟。

    基于 SiRF(SiRFStar-2 和 SiRFStar-3)的 GPS 引擎具有“涓流”模式,每次唤醒时 GPS 仅开启几百毫秒。唤醒间隔可以设置为大约 5 秒,这意味着消耗的功率是持续开启状态的 5-10%。在准确性方面存在一些小的折衷,但如果修复质量下降,芯片组将返回持续供电模式。

    【讨论】:

    • 非常有趣。我再次查看了 GPS 中间驱动程序 API,似乎无法访问这种较低级别的电源配置。 :( 很好的建议。
    • 我从事的项目是直接从制造商那里购买芯片并将它们整合到我们的产品中。因此,我可以直接访问我正在使用的芯片组提供的所有功能。如果芯片隐藏在 API 后面,则供应商可以限制对功能的访问,以便他们可以使用任何支持他们公开的功能集的 GPS 引擎。一种可能性是低功耗模式选择隐藏在更新速率选择选项后面。由于我上面的回答中的原因,更快的更新速率可能更节能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-15
    相关资源
    最近更新 更多