5

私は、正確な位置情報を Web サービスに常に送信する iPhone (iOS 6) 用の位置情報アプリに取り組んでいます。アプリが毎分位置パケットを送信するように設定しました (位置に大きな変化があった場合)。アプリのこの部分は (バックグラウンド タスクとして) うまく機能していますが、ご想像のとおり、GPS を常にオンにしておくと、バッテリーの寿命に大きく影響します (プラグを差し込むことに慣れているので、約 6 時間かかりますが、それほど悪くはありません)。車の中や家にいるときは携帯電話で 1 日を乗り切れるので問題ありませんが、実用的にするには、これを少なくとも 16 時間まで延長する必要があります)。

私がやりたいことは、電話がしばらくの間大きく動いていないことを示したときに GPS をオフにすることです。これは、GPS データ自体を使用して行うのは簡単です。しかし、GPS をオフにした状態で、再度オンにして位置情報の投稿を再開するトリガーとして使用できるものは何ですか? 新しいポジションがたとえば 5 分間生成されていないことを感知したらオフにし、X 分後にポジションが変更されたかどうかを確認し、それに応じて行動することができます。または、加速度計やその他のセンサーを巧妙な方法で使用して、GPS を再度オンにすることもできます。

移動時間が 1 日のごく一部であることを考えると、自宅やオフィスにいるときに GPS アクティビティを最小限に抑えることは理にかなっていますが、それを確実に行うにはどうすればよいでしょうか?

4

4 に答える 4

2

私が考えるモデルは、標準の位置情報サービスを使用して位置情報を取得することです。位置情報を取得したら、それをオフにして、はるかに少ない電力で大幅に変更された位置情報サービスをオンにします。そして、その後の重要な変更通知を受け取ったら(正確な位置情報がすでにあるため、最初の通知を無視することをお勧めします)、標準の位置情報サービスを再度オンにして、正確な位置情報を取得できます(必要な場合は.. 。非常に正確な位置情報が必要ない場合は、明らかに、最初から重要な位置情報サービスを変更するだけです)。

または、それを行っていて、まだ電力を使いすぎている場合は、位置情報サービスを完全にオフにしてから、一定時間後に再びオンにすることができますが、その間に、ユーザーが大幅な位置情報の変更を失う可能性がありますはまったく動いていないため、多くのシナリオで上記の手法よりも多くの電力を使用します。

于 2012-12-11T20:03:21.433 に答える
1

これは完全な答えではありませんが、GPS を完全に使用する代わりに、慣性デッド (推測) 航法があります。これは、加速度計とジャイロ (およびちょっとした巧妙な数学) だけを使用して達成できます。このアプローチがどれほど正確か、またはバッテリー時間にどのような影響があるかはわかりません...実装したらお知らせします;-)

Android加速度計の精度(慣性ナビゲーション)は、努力する価値がないことを示唆しているようですが、それは加速度計のみを使用しており、ジャイロを使用していないと思います.2つのデバイスは、運動の異なる側面を提供します:ジャイロスコープと加速度計? .

于 2012-12-12T13:45:04.977 に答える
0

私のアプリ (開発中) はバックグラウンドで 8 時間実行され、毎秒 1 つの修正がファイルに記録されます。それは十分です、それは良くなりません。GPS 精度と 20 時間のバッテリーの両方を持つことはできません。
6時間、これはサーバー通信によっても引き起こされる可能性があります(またはデバイスを頻繁に有効にします)。

しかし、興味深いアプローチは動きセンサーかもしれませんが、それがどれだけのバッテリーを必要とするかは良い質問です.
正確な GPS を 8 時間以上記録できる iPhone アプリを知っていますか? 測定したことはありませんが、MotionX gps を試してみてください。記録できる時間はどれくらいですか。

于 2012-12-11T23:36:03.193 に答える
0

GPS を数分間オフにしておくことによる精度の低下を心配していない場合は、完全にオフにすることを検討してください。セル タワーのロケーション メカニズムは正常に機能しますが、タワーは少し離れている可能性があります。しかし、その後、数分で、とにかく簡単にそこまで移動できます. また、セルタワーを処理するネットワーク ロケータは、20m 程度の精度で Wi-Fi ネットワークも処理します。とにかく、GPSは屋内では機能しません。そのため、GPS をオフのままにし、ネットワークの場所をオンのままにしておきます。

于 2012-12-11T19:33:55.353 に答える