私のガジェットの兵器庫からは、場所を特定できるのはHTC Heroだけでした。 私はPDAを受信機に変える作業プログラムを見つけられず、彼ら全員がBluetooth経由で電話を接続することを望んでいました。
アイデア
残念ながら、Androidでは公式のファームウェアを搭載した携帯電話でUSBを使用することはできませんが、ケーブルを介してデバッガーにログを送信することはできます。 これを利用することにしました。
実装
まず、Droidで既に作成されているプログラム(Log.i( "DroidGPS"、(NMEA + "\ n"));)にログを記録することを止めました。NMEA行でログを送信することが重要でした。 それを形成するために、私はインターネット上で見つかった動作しないプログラムからクラスを引き出しました。
LinuxではGoogle SDKも利用できるため、次のステップはコンピューターでログを取得することでした。 toolsフォルダからadbプログラムのおかげでそれらを入手できます。
spin@~$ ./androidSDK/tools/adb -s MYSERIALNUMBER -v raw DroidGPS:I *:S
rawパラメーターを使用すると、PIDプロセスなどの不要な情報なしでログ行のみを取得できます。 また、DroidGPSタグ付きのログのみを受信するように設定します。
接続
残念ながら、GPSDは/ dev / rfcomm0などのデバイスからのみ座標を取得できるため、fifoを使用して交換を確立する必要があります。
spin@~$ mkfifo /tmp/fifo
すべてのログをそこに投げます:
spin@~$ ./androidSDK/tools/adb -s MYSERIALNUMBER -v raw DroidGPS:I *:S &> /tmp/fifo
さて、最後にGPSDを有効にします。
spin@~$ gpsd /tmp/fifo
結果
タンバリンとのこのすべてのダンスのおかげで、私の悪魔は私が使うのが遅くない座標を取得し始めました。
PS電話用のアプリケーションをここに投稿しました: 7ion.ru/uploads/GPSlog.apk、SDKは公式のAndroidサイトからダウンロードできます。