本当に久しぶりになってしまいましたが、qgmap をリリースします。→ダウンロードページへ
2ヶ月ぶりですか。あいだ空きすぎですね (^^;
今回ようやくGPSに対応しました。といっても最低限の機能しかありませんが。。。
ひとまず現在位置を取得して、そこに移動する機能のみを実装しました。
ログ機能すらありません。いろいろな機能はこれから追加していきます。
GPSのログ取得やスレッド関係は HB1 様の Zega を参考にさせていただきました(^^)
すばらしいソフトとそのソースを公開していだたき感謝感謝です。
GPS機能を使用するには、まずGPSの設定が必要です。
左上のアイコンをクリックすると表示されるメニューの「GPS Settings」を選択します。
GPS設定メニュー
すると、次のようなダイアログが表示されます。
GPS設定ダイアログ
各設定の意味は以下の通りです。
- GPS Device
- GPS機器が接続されているデバイスファイルを指定します。
Zega でいう、devFile 相当です。
- GPS機器が接続されているデバイスファイルを指定します。
- PreCommand
- GPS接続を行う前に実行するコマンドです。
Zegaでいう、startGpsCommand 相当です。
- GPS接続を行う前に実行するコマンドです。
- PostCommand
- GPS接続を切断した後に実行するコマンドです。
Zegaでいう、stopGpsCommand 相当です。
- GPS接続を切断した後に実行するコマンドです。
- 更新間隔
- 画面を更新する間隔です。GPSが出力する間隔に関係なく、この設定で指定した間隔で画面が更新されます。
- 測地系
- GPS機器が出力する緯度・経度の測地系を指定します。
- 時差
- 現在地の時差を指定します。この時差を補正して測位時間を表示します。
基本的に、Zega で使用できている方は、devFile 指定を GPS Device に、startGpsCommand を PreCommand に、stopGpsCommand を PostCommand に指定すれば動くと思います。たぶんですが。
設定を行ったら、「G」キーで GPS 受信を開始します。
GPS受信モードに入ると、画面の左上に以下のような小窓が表示されます。
GPS情報表示
左上から右方向に、受信している衛星数、受信時刻、緯度、経度が表示されます。
緯度・経度が受信できると現在地を中心に表示します。スクロールしても強制的に現在地に戻されます。この辺は徐々に改良していきます。
GPS関連では今後、以下の項目を追加・改良したいと思っています。
- 標高、移動速度、移動方位表示
- 現在地自動センタリングのON/OFF切り替え
- 現在地に移動方向を三角マーカで表示(カーナビのように)
- NMEAログ保存機能
- 移動軌跡表示
GPS機器は、M-241 と uPod で確認していますが、他の機器で使えるか不安ですので、試してみたかたは、動作した/しない関わらず、コメントに動作報告を頂けるとありがたいです。よろしくお願いします!
そろそろ機能が増えてきたので使い方をまとめないと・・・。
GPS対応 ご苦労様でした。
残念ながら2009年1月24日はダウンロードページにアクセスできませんでした。
期待しています。
お久しぶりです。
すいません、ファイルをアップロードしたはずだったのですが、できていなかったようです。
さきほどUPして、ダウンロードできることも確認しましたので、今一度お試しください。
ご指摘ありがとうございました!
gm_lightともども愛用しています。
sdmapも全部いれていたりしたのですが、文字がつぶれて読めないという
最大の不満がこれで一挙に解決。しかも地図も最新をとってこれるという
すばらしさ。
GPS関連の拡充も期待しています。
私は( IMUB-01 mini USB Bluetoothアダプタ)こんなのでつないでみようと
思って注文中です。
で、お願いが一点。ネットワークエラーとかでこわれたpngファイルが
できてしまう場合があるのですが、これを検出したらファイルに吐き出すようなオプションつけられませんか?目視で見つけたファイルはDで出力しておいて、上書きできるようにdown_imgsは改造したものを作ったのですが…
はじめまして!
qgmap をご利用いただき、ありがとうございます。
なるほど、壊れたPNGファイルの一覧出力ですか。ふむふむ。
qgmap で、PNGファイルが存在するにもかかわらず、PNGファイルとしてデコードできないファイルを出力することは可能ですね。
ただ、そうすると、qgmap 上でその場所を表示しないと検出できないので、
一番理想なのはダウンロードした Win/Linux PC で検出できることですよね。
down_imgs.pl では wget コマンドでダウンロードしているのですが、今はダウンロードエラーでも無視して先に進めてしまっています。
プログラムの構造上、ダウンロードエラー時に再試行するのは難しいため、ダウンロードエラーの場合は、対象ファイルを削除するというのはいかがでしょうか?
ファイルを削除してしまえば、再度 down_imgs.pl を実行すればダウンロードされますし、エラー数をカウントしておいて最後に表示させれば、ダウンロード失敗したかどうかを知ることもできます。
以上の対応であれば比較的簡単ですので、その方向でちょっと修正してみます。
さっそくのご回答ありがとうございました。
私のザウルスで現在位置表示ができました、感激!
《本当に久しぶりになってしまいましたが、qgmap をリリースします。
2ヶ月ぶりですか。あいだ空きすぎですね (^^;》
そんなことはありません。いろいろお忙しいだろうに、凄い、と感謝しております。十分休養をとってください。
さて動作報告です。私の環境は以下;
1)ザウルス SL-c3200、Qtopia 1.5.4、LinuxKernel2.4.20、 RomVersion 1.01 JP
2)GPS レシーバー Nokia LD-3W
3)USB Bluetooth コレガ CG-BT2UB02CW
私にとってqgmapの機能の一つで非常にありがたいのは、ガンマ補正です。
実はいままで、ダウンロードしたGoogleMapsの地図画像が私のザウルスでは見にくいので、画像修正ソフトを使って、いったん見やすく直してからZegaで使っていました。けっこう根気のいる単純作業で今にスクリプトを書けるなるように、モチベーションを上げるためになんて理由をつけながらコツコツやっていました。
利用者の要望にすぐ対応された努力と能力に感心しております。
これからも注目しています。
ありがとうございました。
初報告が無事動作でホッとしました (^^)
動作報告頂いた機器をまとめておいた方が良いですね。
Nokia LD-3W を動作確認機器に追加させていただきます。
ガンマ補正は実装する前はそれほど必要性を感じてなかったんですが、(^^;
実際に使ってみると見やすさが格段に向上しますね。
私にはまったく発想がなかったので、要望頂いた皆様のおかげです。
もっともっと使いやすく便利なものにしたいと思っていますので、
ちょっとでも気づいた点があれば教えてください。
これからもよろしくお願いします。
bucchiさん
開発お疲れ様です。
まっていました!GPS対応!
とりあえず↓この構成で確認しました。
SL-C3000(スペカv18j)
CG-BT2USB02CW(USB Bluetooth)
WBT-201(GPSロガー)
この構成で問題なく動作しました。
GPSの情報が左上に表示されるので、BTがだめなのかGPSが測位していないのかがちゃんと分かるので便利ですね。
また、他のGPSロガーやGPSカードでも試して報告します。
手持ちのGPSロガーとGPSカードで動作確認しました。
まず、GPSロガー
SL-C3000(スペカv18j)
CG-BT2USB02CW(USB Bluetooth)
WSG-1000(GPSロガー)
次にCFタイプ
SL-C3000(スペカv18j)
BC-337(GPSカード)
もう一つCFタイプ
SL-C3000(スペカv18j)
CFGPS2(GPSカード)
すべて動作確認できました。
bxk07344様、お久しぶりです。
4 機種も動作確認していただきありがとうございます!
たくさん GPS 機器をお持ちなのですね。
2つだけしか GPS 機器を持っていないので、本当に、非常にありがたいです。
早くも matsugoro 様と合わせて 7 機種も確認できるなんて・・・。
動作確認機種に追加させていただきますね。
CFタイプも問題なく使用できているようで安心しました。
PreCommand や PostCommand は Zega と同じものを指定したのでしょうか?
ひとまず、現在位置取得は問題なく動いてそうですね。
一安心です。
ありがとうございました!
bucchiさん、こんばんは。
CFタイプの設定ですが、Zegaと同じです。
デバイスは
/dev/ttyS3
PreCommandは
cardctl resume 0;stty 4800 < /dev/ttyS3 PostCommandは cardctl suspend 0 です。 BuletoothはWBT-201がrfcom0で、WSG-1000をrfcom1として登録してあります。 PreCommandとPostCommandは別途スクリプトを作ってBluetoothの初期化処理をさせています。 で、GPSですが用途別に使い分けています。 一番最初はモバイルマップNaviで使いたくてCFGPS2を買ったんですが、感度が悪すぎて使い物になりませんでした。 で、代わりに買ったのがBC-377です。 そのあと、ザウルスとは別に、旅行などでログをとるロガーとしてWBT-201を購入。 さらに、自転車のサイコン代わりとしてWSG-1000といった感じです。 もう一つNavin youに付いてたPCカードのやつもあるので、こんど試してみます。 では。
CF の設定は Zega と同じ設定で OK ということですね。
Zega では多くの機器で動作実績があり、多くの設定例があるので同じ設定が使えると非常にありがたいです。
私は GPS 初心者で勝手がわかりませんし。
Bluetooth の初期化も PreCommand で行っているんですね。
Bluetooth も初心者でよく分かってないので色々勉強中です。
はじめてまともな GPS の M-241 を買ってからは、意味もなくあちこちに連れてってログ取って満足してます (^^;
勝手からまだ旅行に出かけてないので、ちょっと旅行が楽しみです。
bxk07344 さんのように多くの GPS 機器を使ってる方向けに
いくつか GPS 設定を登録できて簡単に選択できるようになると便利ですかね?
そんなに難しくなさそうなので検討してみましょうかね。
おせわになります。感動してます。ありがとうございます。
動作報告と動作不良かもしれない報告です。
C3200 スペカv18j
◎ BC-337 (CF-GPS)
△ IBS IMUB-01(BT) + WBT-201(GPSロガー)
△ usbケーブル + PCI BT-micro EDR2X(BT)
で、確認できました。△のやつはなぜかちゃんと測位しているときは
OKなのですが、測位してないときはGを押してイニシャルコマンドが終わって
左上にGPS情報を表示しはじめている時点で qgmap が固まってしまいます。
BC-337ではアフリカ南部に飛ばされるので大丈夫でした。なので、wbt-201の
履くNMEAにクセがあるのかもしれません。 cat /dev/rfcomm0 してなにかわかるようでしたらお知らせします。
まぐ様、動作確認&ご報告ありがとうございます。
固まってしまうというのは、一切の操作が効かなくなるということでしょうか?
スクロールや、キーも効かないとなると、原因が思いつかないですね・・。
ちょっと調べてみますね。
WBT-201 で測位していない時に cat /dev/rfcomm0 を実行してみていただけますでしょうか?
M-241 では、緯度経度情報は無いものの、NMEA が出力されるようですが、まぐ様のおっしゃるように WBT-201 では異なるのかもしれません。
> BC-337ではアフリカ南部に飛ばされるので大丈夫でした。
固まらないものの、これはこれで問題ですね (^^;
BC-337 でも、測位していないときの NMEA データを教えていただけるとありがたいです。
down_imgs.pl の方も修正し終わり次第公開しますので、もうしばらくお待ち下さい。
すいませんが、よろしくお願いします。
wbt-201で固まるときの
NMEAです。固まるときはスクロールキーもgコマンドでgpsモードから抜けるのも含め一切だめです。QTのアイコンからシステムをリブートはできます。
(緯度経度が入ってますので少し数字は変えてます。測位OKだったときの名残でしょうか)
$GPGGA,004008.000,3521.5552,N,13937.1006,E,0,00,99.9,101.6,M,39.5,M,,0000*6A
$GPGSA,A,1,,,,,,,,,,,,,99.9,99.9,99.9*09
$GPGSV,3,1,12,11,64,034,,32,56,103,,28,55,296,,20,55,158,*74
$GPGSV,3,2,12,19,29,094,,04,02,246,,27,11,266,,14,01,047,*73
$GPGSV,3,3,12,08,14,238,20,17,26,304,,03,02,113,,07,02,204,*78
$GPTXT,01,01,01,NMEA unknown msg*58
$GPRMC,004009.000,V,3521.5552,N,13937.1006,E,0.00,290.51,310109,,,N*75
$GPGGA,004009.000,3521.5552,N,13937.1006,E,0,00,99.9,101.6,M,39.5,M,,0000*6B
$GPGSA,A,1,,,,,,,,,,,,,99.9,99.9,99.9*09
$GPGSV,3,1,12,11,64,034,,32,56,103,,28,55,296,,20,55,158,*74
$GPGSV,3,2,12,19,29,094,,04,02,246,,27,11,266,,14,01,047,*73
$GPGSV,3,3,12,08,14,238,18,17,26,304,,03,02,113,,07,02,204,*73
$GPRMC,004010.000,V,3521.5552,N,13937.1006,E,0.00,290.51,310109,,,N*7D
まぐ様、NMEAログをありがとうございます。
うーん、見てみたところ特別変な所は見当たらないですね・・。
現状では GGA, RMC センテンスしか見ていないのですが、特別変な行にはなってないですね。
ソースを確認してみたところ、固まる可能性があるとすると、
PreCommand のコマンドが終了しない場合、qgmap が固まってしまいます。
PreCommand が終了するのを待ってデバイスを open しているからです。
この辺も改良の余地アリですね。
PreCommand になにを指定していますでしょうか。測位していないときにブロックするようなコマンドを指定していませんでしょうか。