Python 2.6で標準のGPS (gps.py) モジュールを使用しようとしています。これはクライアントとして機能し、Ubuntu で実行されている gpsd から GPS データを読み取ることになっています。
クライアント設計に関する GPSD Web ページのドキュメント ( GPSD Client Howto ) によると、最新の GPS 測定値を取得するために次のコード (例を少し変更したもの) を使用できるはずです (私が主に興味を持っているのは緯度経度です)。
from gps import *
session = gps() # assuming gpsd running with default options on port 2947
session.stream(WATCH_ENABLE|WATCH_NEWSTYLE)
report = session.next()
print report
next() を繰り返し使用すると、LATEST Gps の読み取り値ではなく、キューの一番下 (セッションが開始されたときから) からバッファリングされた値が得られます。このライブラリを使用してより最近の値を取得する方法はありますか? ある意味で、最新の値にストリームを求めますか?
このライブラリを使用して gps をポーリングし、探している値を取得するコード例を持っている人はいますか?
これが私がやろうとしていることです:
- セッションを開始する
- ユーザーがコードで gps_poll() メソッドを呼び出すのを待ちます
- このメソッド内で、最新の TPV (Time Position Velocity) レポートを読み取り、lat long を返します。
- ユーザーが gps_poll() を呼び出すのを待つことに戻ります。