Nokia の N95 を使用して、GPS デバイスの現在位置を読み取ろうとしています。デバイスがNMEAラインをシリアルポートに返す必要があることを読み、それを解析/分割して必要なものを取得しますが、デバイスがNMEAを返すようにするためにシリアルポートに何を書き込むべきかわかりませんか?
同様に、メッセージングなどのためのATの他のコマンドがあります...NMEAを取得するためにシリアルポートに送信する特定のコマンドはありますか???
N95 でどのように動作するかはわかりませんが、私の HTC 電話では、GPS デバイスにコマンドを送信して特定の動作をさせることはできません。GPS デバイスが使用するシリアル ポートに接続すると、そこからのデータ ストリーム (たまたま NMEA データ) を読み取ることができます。デバイスにコマンドを送信して動作方法を指示する方法が見つかりませんでした。
Java MEでこれを行うための優れた方法は、JSR 179:LocationAPIを使用することです。アプリはLocationListenerの実装を作成してから、デフォルトのLocationProviderに設定する必要があります。リスナーのlocationUpdatedメソッドが呼び出されたら、次を呼び出します。
location.getExtraInfo("application/X-jsr179-location-nmea");
これにより、NMEAセンテンスへのアクセスが提供されます。
これは、Java ME Commportsメカニズムを使用してシリアルポート経由で送信できます(使用:
System.getProperty("microedition.commports");
ここで説明されているように)。
お役に立てれば、
ファンキーブロ
その特定の GPS デバイスを使用したことはありませんが、私の場合は、ポートを開くだけですぐに NMEA データの受信を開始できます。
特に N95 を使用したことはありませんが、ほとんどの GPS デバイスは、電源が入っているかどうかに関係なく、電源を入れるとすぐに NMEA を吐き出し始めます。N95 がどのように設計されているかはわかりませんが、おそらく GPS から生の NMEA データにアクセスできるように設計されていなかったに違いありません。それを行うには、おそらくかなり凝ったトリックが必要になるでしょう。
N95 を使用する必要がない場合は、GPS モジュールを入手して代わりに使用する方が簡単な場合があります。私はいつも SparkFun から購入しています。始めるのに役立ついくつかの優れた評価ボードとチュートリアルがあります。
私は N82 を持っていますが、私の知る限り、NMEA を直接話すことはありません。このページのスクリプトを使用します。具体的には、「# 内部 GPS (たとえば、N95) を搭載した S60 電話を Bluetooth GPS に変換する」というタイトルのスクリプトを使用して、NMEA 文字列を取得します。
ああ、スクリプトを実行する必要があるので、特定の GPS デバイスを購入する必要があると思います。
最も安価な方法で私の仕事をするデバイスはどれですか?