2009-07-28 7 views
2

私は、スピードメーターとして機能する簡単なGPSアプリケーションを開発することを義務付けられている状況に遭遇しました。それはシリアルGPS受信機と通信するCPU(162MHz ARM)とRAM(4MB)の制約を備えた古いPDA用に開発されるだろう。スピードメーターとしてのシリアルGPS

これは実現可能なプロジェクトですか?レースでは正確である必要はありませんが、速度限界に従うには十分に近いです。

私はなど、シリアル経由でデータを取得し、GPSの仕様のために開始します

答えて

2

PDAには、GPSからナビゲーションデータを受信するのに十分なリソースが必要です。ほとんどのGPS受信機は、標準的なASCII形式の呼び出しNMEA文を吐き出します(here)。最も興味のある文はVTGで、地面の速度はキロメートルです。

特定のGPS受信機が、送信するNMEA文を選択できるかどうかを確認する必要があります。いくつかの人は緯度/経度/高度(通常はWGS-84座標と呼ばれます)を与えるGGA文のみを送信します。それでは、速度を自分で計算するために数学をする必要があります。アルゴリズムは、WGS-84から地球中心の地球固定(ECEF)座標に変換してから、速度を計算するために差を取ることになります。これは、何らかのフィルタリングを加えない限りGPSがあなたのためにやるというより計算量がはるかに多く、連続した読み込みの位置誤差のためにおそらく不正確かもしれません。

GPS受信機は、GPS信号のドップラーシフトを使用して速度を推定することができますが、これは位置の違いよりはるかに正確です。良い説明はhereです。

レシーバーがベロシティを含むNMEA文をサポートしていない場合は、ベロシティを含むバイナリフォーマットをサポートしているかどうかを確認することができます。

0

エリック・レイモンドはHacking with GPSについての優れた作品(と暴言を)書かれています。

+0

これは実際にはかなり役に立ちました。ありがとう! – morgant

関連する問題