Archive for the ‘Linux’ Category

BluetoothからGPS接続

日曜日, 10 月 26th, 2008

さて、今回は本命のBluetooth経由でのGPSへの接続です。

とりあえず、何をするにも楽なPC上のLinuxで確認です。まずはBluetoothでの接続ですが、

$ hcitool scan
Scanning ...
        00:11:22:33:44:55       HOLUX_M-241
$ sdptool browse 00:11:22:33:44:55
Browsing 00:11:22:33:44:55 ...
Service Name: SPP Slave
Service RecHandle: 0x10000
Service Class ID List:
  "Serial Port" (0x1101)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1

とのことなので、/etc/bluetooth/rfcomm.confに

rfcomm0 {
    bind yes;
    device 00:11:22:33:44:55;
    channel 1;
    comment "HOLUX_M-241";
}

と追加、

# /etc/init.d/bluetooth restart

とします。これで/dev/rfcomm0にアクセスするだけで自動的にBluetoothで接続されるようになります。

以上の手順をZaurusでも試したところ、無事GPS接続が出来るようになりました。

また、PCではM-241に保存されたログはMTKBabelで取り込みます。

$ mtkbabel -s 38400 -f gpsdata -t -w -p /dev/rfcomm0

とするとgpsdata.binとgpsdata_{trk,wpt}.gpxのGPX形式のログが出来るので、これをGPSBabelでKML形式に変換します。

$ gpsbabel -i gpx -o kml,units=m gpsdata_trk.gpx gpsdata_trk.kml

なお、USB経由でのログの取り込みはデバイス名を適当に変更すればOKです。

これをGoogle Earthで表示すると、こんな感じにめでたくルートが表示できるようになりました。

とまぁこれで十分と言えば十分なのですが、出先でM-241のログの取り込みや消去、走行ログの確認をZaurusで出来れば重いノートPCを持ち歩かずに済んで大変便利です。ということで、これらのZaurus用のパッケージを作ってみました。

あらかじめ、Linuxザウルス/Perl - Walrus, Visit.さんなどからPerlのダウンロード、インストールをお願い致します。なお、ZaurusでのMTKBabelでのログの取り込みはBluetoothの通信が不安定なのかエラーが頻発しますが、とりあえず動作するようパッチを当ててあるのでデータに問題は無いはずです。

なお、GPSBabelはNMEA形式のログ出力も出来るので、HB1さまのZegaで走行ログを表示できるはずです。私はちょっと確認できませんでしたが…。

GM_Lite 0.1.4公開

月曜日, 9 月 29th, 2008

さてさて、今回はGM_Lite 0.1.4の公開です。

今回の更新の目玉は、Windows環境での地図のダウンロードの高速化です。ここのところbucchiさまが大変有難いことにGM_Lite互換のZaurusネイティブアプリになりますqgmapを開発され、またHB1さまが高度なGPSとの連携機能を持つZegaにGM_Liteの地図の表示に対応して下さるというとんでもない事態になっており、ここでダウンローダが不出来なばかりにお二人にご迷惑をおかけするわけにはイカン!ということで、以前から問題になっておりました、地図のダウンロードが遅いことと環境依存でエラーが発生する問題に対処致しました。

従来版と高速版でおおまかなベンチマークを取ってみたところ、以下のようになりました。

  • “全世界”のダウンロードにかかる時間
    • 従来版:17分53秒
    • 高速版:3分50秒
  • “全世界”がダウンロード済みの時のスキップにかかる時間
    • 従来版:12分9秒
    • 高速版:3秒

テスト環境がWin2k on VMwareであったため実機ではもう少し速くなると思われますが、ご参考まで。

高速版ダウンローダの実行にはWindowsでのPerl実行環境であるActivePerlが必要になります。あらかじめダウンロード、インストールをお願い致します。

実行はcygenv/down_imgs2.batをダブルクリックするだけです。また、ダウンロード範囲の指定にはbin/down_imgs.plを修正して下さい。従来のものから若干フォーマットが変わっておりますが、サンプルを参考にすればすぐにお分かり頂けると思います。

また、細かい変更点としては、みじまさまとちゃびさまからのフィードバックを反映させました、gps_zauのGPS初期化処理と緯度、経度情報の取得の高速化があります。今回の更新にあたりヒントを下さいましたabuさまにもここに改めてお礼申し上げます。

今回のファイルは

です。アップグレードの際はgm_lite/bin/とgm_lite/cygenv/のみ新しいものと入れ替えて頂ければOKです。

これまでダウンロードが遅い遅い、と言われつつも正直そんなに遅いとは思っておりませんでしたが、今回改めてWindows環境でダウンロードしてみて驚きました。なんでしょうかこの遅さは。まさかCygwinがこんなに遅いとは。これまで苦情を下さった皆様にはお待たせしてしまい、大変申し訳ありませんでした。

では、何かご不明な点がございましたらお気軽にどうぞ。

GM_Lite 0.1.3公開

日曜日, 8 月 31st, 2008

お待たせ致しました、GM_Lite 0.1.3の公開です。

今回の更新の目玉は、Zaurus環境でのGPSとの同期機能の追加です。この機能はなんと!私自身はGPSを持っていないのにも関わらず、コメントを書き込んで下さった方々のアドバイスやお時間を割いて頂いてのテストによって出来上がってしまいました。ご協力頂きましたちゃびさま、mumumuさま、striderさま、kaniさま、大変ありがとうございました。ここに心よりお礼申し上げます。gps_zauの使い方はphs_zauと同様ですが、ご使用の前に環境に合わせて設定をする必要があります。やや手間ですが、gps_zauの先頭にあるdevとbrateを、コメントを参考に適当に編集をお願い致します。

また、GPS/PHS基地局情報情報を自動取得する機能も追加してみました。とは言っても、10秒間隔でコマンドを呼び出し続けるだけですが。本機能の開始、停止は、コマンドラインから

$ /path/to/gml_auto /path/to/phs_zau

とするか、yaktyさまのKeyHelper Applet

A = @exec[Tab]/path/to/gml_auto /path/to/phs_zau

と登録、実行するかしてどうぞ。gps_zauも場合も全く同様です。

また、kaniさまからご要望のありました、ズームのしおり機能も追加しました。これまではズームの指定に’I'、’O'キーを連打する必要があり、その度に描画待ちになったりとやや面倒でしたが、今回からは0-9、Ctrl+0-9キーで0-19の縮尺を直接指定できるようになりました。従来通り’I'、’O'キーでのズーム指定も可能ですので、お好みの方法でご利用下さい。

それに伴って、位置のしおり機能も拡張しています。これまでは0-9の10通りしか位置を保存できませんでしたが、今回の拡張によりA-Z、0-9の36通りを保存できるようになりました。使い方は’Y'キーの後に[A-Z0-9]キーで保存、Shift+’Y'キーの後に[A-Z0-9]キーで移動です。

あと、いりすさまからのご要望で、ダウンロードした地図を抽出、削除するコマンド、copy_imgs.batとdel_imgs.batを追加しました。これらの使い方はdown_imgs.batとほぼ同様ですが、copy_imgs.batは指定した地図をgm_lite/imgs.new/にコピーし、del_imgs.batは指定した地図をgm_lite/imgs/から削除します。なお、gm_lite.htmlは同じ階層のimgs/フォルダのみ参照しますので、お間違いなきよう。

今回のファイルは

です。アップグレードの際はgm_lite/gm_lite.htmlとgm_lite/bin/、gm_lite/cygenv/を新しいものと入れ替えて頂ければOKです。

以上です。またしても説明をはしょり気味ですが、ご質問等ありましたらお気軽にどうぞ。

Qualendar for Linux 1.0.1公開

金曜日, 8 月 15th, 2008

さてさて、今回はQualendar for Linux 1.0.1の公開です。

Linuxを使われたことのある方はご存知かもしれませんが、Linuxにはなかなか使いやすいPIMがありません。また、当然WindowsのようにZaurusで管理している予定、ToDoをPCで編集することもできません。そこで、Zaurusで有名なあのQualendarをLinuxに移植してみました。恐ろしくマイナーな用途ではありますが、いいんです。私が必要だと思ったから書いたまでです。スクリーンショットはこちら。

インストールは

のいずれかをどうぞ。

Qualendar 1.0.0からの主な変更点は

  • Linuxプラットフォームのサポート
  • SQLiteデータベースのサポート
  • データベースのインポート/エクスポート
  • SQLiteデータベース使用時のビジネス/プライベートカテゴリの削除
  • メインウィンドウでのhjkl/PageUp/PageDownキーによる日にちの移動
  • 簡易カレンダーでの’.'キーによる本日への日にちの移動
  • 休日データの2013年までの更新

です。ソースはこちら

今回のリリースにあたりまして、Qualendarの作者さまでいらっしゃいますichitokumeiさまには公開のご許可を頂き、またあれこれとお教え頂きまして大変有難うございました。ここに心よりお礼申し上げます。

また、再コンパイルによりZaurusやpdaXrom上で、更にCygwinを使えばWindows上でも動作可能です。ご要望があればどうぞ。

これでブログ開設当初から予定していたソフト3つ、全て公開完了です。これでひとまず一区切りとなりますが、今後はマニアックな記事でもぼちぼち更新していく所存です。今後ともどうぞ宜しくお願い致します。

GM_Lite 0.1.2公開

火曜日, 8 月 5th, 2008

毎度ありがとうございます、GM_Lite 0.1.2の公開です。

今回の更新の目玉は、Zaurusへの転送速度の大幅改善とディスク使用量の低減です。前回はいろんな方々から転送が遅い!ディスクの無駄が多い!とお叱りを受けてしまいましたので、今回はgm_lite/フォルダをイメージ化することでこれらに対処してみました。代償としてZaurus側で一操作増えてしまいやや構成が複雑になってしまいますが、それに見合うメリットはあるかと思います。もちろん、これまでのままでいい!という方々は従来通りお使い頂けます。

  1. PC側の準備としましては、地図のダウンロード後にgm_lite/cygenv/genromfs.batをダブルクリックするだけです。これでgm_lite/フォルダ全体がイメージ化され、同じ階層にgm_lite.romが作成されます。どれくらいディスク使用量が減るのか、と言われれば、これ↓くらいです。Zaurusに転送する際はイメージファイルのみコピーして下さい。
  2. Zaurus側の準備としましては、適当な場所にgm_lite/bin/gml_mountをコピーし、

    のいずれかをインストールする必要があります。

  3. さて、使用方法ですが、gm_lite/gm_lite.htmlをブラウザで開く前に
    $ /path/to/gml_mount /path/to/gm_lite.rom

    とするか、yaktyさまのKeyHelper Applet

    G = @exec[Tab]/path/to/gml_mount /path/to/gm_lite.rom

    と登録、実行するかしてイメージファイルをマウント(マウント先のフォルダにイメージファイルの中身が入っているように見せかけること)して下さい。同じ階層にgm_lite/フォルダが作成され、その中にGM_Lite一式が見えるようになります。また、使用後は必ずマウントと同様の操作をしてイメージファイルをアンマウント(マウント解除)して下さい。

モバイルPC等でご利用の方々は、ややディスク使用量は多めになるものの、CDイメージ作成用にgm_lite/cygenv/mkisofs.batを用意しました。Daemon Tools等からご利用下さい。なお、こちらのイメージファイルもZaurusで使用可能です。

また、細かい変更点としては、hakeさまからご指摘のありました地図のダウンロードの際に既にあるファイルをスキップしているのが分かりづらいという点の修正と、cygenv.zipの本体への統合(Cygwinに入っていないコマンドを使ってしまったため)があります。

今回のファイルは

です。アップグレードの際はgm_lite/bin/とgm_lite/cygenv/のみ新しいものと入れ替えて頂ければOKです。

なお、今回の修正ではディスクの無駄の低減についてはsugerwareさまのコメントを、イメージ化についてはhakeさまのこちらの記事を参考にさせて頂きました。ここに深くお礼申し上げます。

またまた文字ばっかりになってしまいましたが、何かご不明な点がございましたらお気軽にどうぞ。

GM_Lite 0.1.1公開

土曜日, 8 月 2nd, 2008

思わぬ反響に押され、思わずバージョンアップしてしまいました。GM_Lite 0.1.1の公開です。

今回の大きな変更点の1つは、IE対応です。ここにいらして下さる方のほとんどのメイン環境はWindowsでしょうし、せっかくWindows Mobile機での動作報告も頂いたことなので、様々な感謝も込めて、ということで。これでIE/Firefox/Operaの動作する環境であればどこでも対応!ということになりますが、こちらではIE6、Firefox 2/3、Opera 7.25でしか動作確認を行っておりませんので、もし不具合等ございましたらお気軽にどうぞ。

もう1つの大きな変更点は、Zaurus環境でのPHS基地局情報との同期機能の追加です。また、その他の環境でもGPS/PHS基地局情報と簡単に連携ができるようになりました。仕組みは単純で、外部のプログラムが緯度、経度を取得して一時ファイルに書き出し、gm_lite.htmlが手動もしくは自動で読み出しそこに移動するだけです。

  1. まず、外部のプログラムがGPSやPHSの基地局情報から緯度、経度を取得し、/tmp/ll.jsに
    x = "35.689021";
    y = "139.770298";

    のようなフォーマットで書き出します。Zaurusでは/tmp/ll.jsはメモリ上にあるので、いくら書き換えてもフラッシュを痛めること無く安心です。
    今回はせらくんさまのざうもにと同様にWillcom系のPHSカードから基地局情報を取得し、一時ファイルに書き出すZaurus用のスクリプトgm_lite/bin/phs_zauを用意しました。手動で実行するか、yaktyさまのKeyHelper Applet

    P = @exec[Tab]/path/to/phs_zau

    のように登録して実行するかなどしてご利用下さい。なお、インターネットに接続中は使用できない所も同様ですので、ご注意を。
    また、私はGPSやWindows Mobile機を持っておりませんので、どなたかWindows Mobile環境での適切な一時ファイルの保存場所と、GPSかPHSカードからの緯度、経度の取得方法(もしくは自作のソフト!)をお教え頂ければ幸いです。

  2. 次に、gm_lite.htmlが一時ファイルから緯度、経度情報を読み出し、そこに移動します。’C'キーを押すと一度だけ移動、Shift + ‘C’キーで10秒置きに自動で移動します。読み込みに失敗すると、何もせずエラーメッセージを表示します。

また、細かい変更点としては、緯度、経度指定でジャンプ後のフォーカスに関するバグフィックスと、近くの座標へ移動時の描画の高速化です。

最後にインストールですが、新規の方は以前の記事のgm_lite-0.1.0.zipを

に置き換えてご利用下さい。また、前回のバージョンをお持ちの方は

  • gm_lite/gm_lite.html
  • gm_lite/bin/phs_zau

を以前のフォルダにコピーして頂くだけでOKです。

今回きっちり説明まで書いてみたら、文字ばっかりになってしまいました。なにかご質問等ありましたらお気軽にどうぞ。

GM_Lite 0.1.0公開(7/31追記2)

月曜日, 7 月 28th, 2008

今回はGM_Liteの公開です。

GM_LiteはあのGoogle Mapsをローカルで動作させるソフトです。出先でアンテナや通信料を気にしながらネットにつなぐ必要はありませんし、地図はGoogleさんから(こっそり)持ってきますので無料。地図画像をローカルから読み出すだけで、基本的にGoogle Mapsと同じ仕組みで動いてます。スクリーンショットはこんな感じです。


使い方は、Zaurusの場合はOperaで、PCの場合はFirefoxでgm_lite.htmlを開くだけです。詳しい使い方は’?'キーで出てくるので、そちらをどうぞ。

ちなみにZaurusのOperaはバージョン毎に挙動が微妙に異なるのですが、個人的にはOpera 7.25がデフォルトで日本語入力できるしおかしな動作もないので、お勧めです。

インストールは不要で、

を展開し、地図をダウンロードすることで使い始める事が可能です。

地図のダウンロードにはシェルスクリプトgm_lite/bin/down_imgsを使いますので、Linux/Cygwin環境をお持ちの方は

$ cd gm_lite/imgs/
$ ../bin/down_imgs

として実行して下さい。どちらもお持ちでない方は

をダウンロードし、gm_lite/直下に展開して中に含まれるdown_imgs.batをダブルクリックして下さい。間接的にdown_imgsスクリプトが呼ばれ、ダウンロードが始まります。なお、この際gm_lite/がC:\直下にないと(つまりパスにスペースや日本語が含まれていると)うまくダウンロードが始まらない場合があるようです。ご確認下さい。

ここまでで基本的に動作しますが、詳細な地図は必要な分だけ個別にダウンロードする必要があります。どこまでダウンロードするかはdown_imgsスクリプトで指定しますので、コメントを参考にワードパットで編集し、再度地図のダウンロードを実行して下さい。

以上です。説明を大分はしょった感がありますが、ご質問等ありましたらお気軽にどうぞ。


7/29追記:

Linux/Cygwin環境から地図をダウンロードされている方で、down_imgsをワードパットで編集し保存すると、改行コードの関係から地図のダウンロードが出来なくなることが判明しました。この問題を回避するには

  • 改行コードを考慮したテキストエディタを利用する
  • down_imgs編集後にdos2unixコマンドで改行コードを修正する
  • cygenv.zipをダウンロードし、down_imgs編集後にdos2unix.batをダブルクリックする

のいずれかをお試し下さい。

また、これまでにcygenv.zipをダウンロードされた方は、修正版をアップしておきましたのでそちらを改めてダウンロードの上、ご利用下さい。

ご面倒をお掛けして大変申し訳ありませんが、ご対応頂けますようお願い申し上げます。


7/31追記2:

striderさまのコメントから、WindowsMobileのアドエスのOperaとNetFrontでGM_Liteが動作したという情報を頂きました!また、同時にご本人様のブログこちらの記事で詳しい手順までご紹介頂いております。striderさま、大変感謝!

また、遅ればせながら、サムさまのブログこちらの記事でもご紹介頂いております。ありがたいことに、私の説明の至らなかった所から技術的な内容まで網羅されており、毎度毎度感謝しきりでございます。

ということで、Windows Mobile機をお持ちの方はお試しあれ。