如何在不需要 GPS 的情况下计算速度?我听说过一种叫做“传感器技术”的东西,但不确定那是什么意思。我问是因为我想制作一个应用程序,但我认为使用 GPS 的电池效率不高,而且它是一个长期项目,所以我希望应用程序连续运行而无需手动打开它或打开 GPS。
6 回答
GPS 是迄今为止最准确的方法。
您可以访问加速度计,但它们对于此类应用程序来说不够精确。
我能想到的唯一另一种方法是将其中一个蓝牙适配器插入汽车的诊断端口,然后从那里获取速度表输入。然后,您也在浪费蓝牙电源。
只需为您的手机购买电源适配器即可在车辆上运行。
我尝试使用 Android 的加速度计传感器测量室内导航项目的速度,但失败得很惨。我打算从随着时间的加速度/减速度推导出当前速度,因此最后计算沿 X、Y 和 Z 轴的运动,但这根本没有结果。普通安卓设备的加速度传感器对于这种用途来说太不准确了。
因此,您将不得不使用 GPS。为了减少电池消耗,您可以增加LocationManager
通知您的应用程序的间隔(时间和/或距离)。查看它的requestLocationUpdates()方法的 minTime 和 minDistance 参数。
Android 允许您使用手机天线和 wi-fi 接入点天线作为参考点来确定您当前的位置,而无需使用 GPS(请参阅:locationManager.NETWORK_PROVIDER)。
一旦确定了您在两个不同时刻/点的位置,您就可以轻松地在代码中计算您的速度。
我认为您所指的将被视为“航位推算”(http://en.wikipedia.org/wiki/Dead_reckoning)并且是可能的,但会导致漂移和不正确的速度信息,特别是如果您的应用程序的用户没有将设备牢固地安装到正在移动的任何物体上。
您的应用程序进入睡眠状态并关闭 GPS 是否是一个有效的用例?当您将应用程序解除暂停状态时,您也许可以设计一种重新打开 GPS 的方法。如果您总是需要位置,那么 GPS 是您最好的选择。人们知道基于 GPS 的应用程序需要电源,并且会想出一种插入电源以长期使用它的方法。
也许您应该考虑一下您的应用程序的用例,并询问人们是否愿意为您提供的任何功能耗尽电池电量。
使用加速度和时间,您可以计算速度的变化,但您不一定知道起始速度。再加上 iPhone 中的加速度计可能还不够准确,但这也不是坏事。
我认为没有 GPS 的帮助就无法计算速度。速度取决于距离和时间。我不确定我们是否可以像那样计算距离。无论如何看看http://developer.android.com/reference/android/hardware/Sensor.html 我们有不同的传感器类型。也许你可以利用其中之一。