Gpsdrive は、自動車の(バイクの, 船の, 飛行機の)ナビゲーションシステムです。 貴方の現在位置を地図上に表示します。他にも多くの機能が実装されています。
GpsDriveは NMEA 規格の GPS 受信機を使って、拡大/縮小できる地図画面に現在位置を 表示します。表示される地図は、現在位置に合わせ、設定した縮尺に合うように、 自動的に選ばれます。
GpsDriveはGARMIN GPS III と Crux II GPS PCMCIAカードでテストされました。 シリアルポートのあるGarmin GPS受信機は全て利用可能だと思います。 他のNMEAプロトコルをシリアル出力しているGPS受信機もGpsDriveで使えるでしょう。
以下のGPS受信機はgpsdriveで動くことが知られています:
Magellan 310, 315, 320
Garminn GPS III
Garmin etrex
GPS 45
Crux II GPS PCMCIA card
Holux GM-200 serial version
Holux GM-200 USB (needs USB to serial support in kernel)
eMap
GPSMAP 295
GNS 530
使用上の注意: 航海/航空ナビゲーションには使用しないで下さい!
NMEA モード
通常使われるモードです。殆どのGPS受信機でサポートされています。
NMEAモードを使うには、提供されているプログラム、
gpsd
を起動しておかなければなりません。
このいちばん簡単な方法は、設定メニューでパラメータの設定をしたあと、
GpsDriveメニューの
Start GPSD
ボタンを押すことです。
このプログラムはバックグラウンドでデーモンとして動作し、
ポート番号2947でGPSデータを送信するサーバ機能を提供します。
gpsdを自分で(シェルなどから)起動した時、
/dev/gpsと4800BPSの設定がコンパイル時に初期設定されています。
GpsDriveから起動した場合は、
Settings
メニューで定義された設定が使われます。
gpsdの設定を変更することもできます。例えばttyS1にするには、
gpsd -p /dev/ttyS1
のように起動します。
しかし上で述べたとおり、GpsDriveの中で設定するほうが簡単です。
GPS受信機側で、NMEAプロトコルと4800BPSボーレートを確実に選択してください。
GPSの出力を見るには、 telnet localhost 2947 を実行し、 接続が確立された後、 R キーを入力すると、NMEAセンテンスが見られます。
使用される NMEA センテンス
下記の NMEA センテンスがそれぞれ指定された情報用に使われます:
GPRMC:
位置、速度、進行方向
GPGSV:
衛星信号レベル表示
GPGGA:
高度(利用できない受信機もあります)と、GPRMCが使用できない時の位置。
この場合、速度と進行方向はGpsDriveで計算します。
PGRME:
EPE (estimated position error)を表示する。
恐らくGARMIN受信機だけで利用可能。
(訳注:EPEは位置誤差の見積もり値のことか?)
GARMIN モード
個のモードでは、プログラムは緯度/経度データしか受け取らず、
速度と方向はプログラム自身が計算します。衛星信号レベルの表示もありません
(このデータはGARMINプロトコルではサポートされていません)。
GARMINモードはより速く通信できます (1秒間に1パケット以上、NMEAモードでは2秒間に1から2パケット程度)。 しかしプログラムの計算が重くなるので、トータルでは速くはならないでしょう。
Garminモードを使いたいなら、GPS受信機をシリアルポートに繋ぐだけです。
GarminモードはGARMIN受信機の一部でしか提供されていません。
GpsDriveは、設定メニューで有効になっていれば、GARMINかNMEAかの モードを自動検出します。 私ならNMEAモードの使用をお勧めします。
GARMINプロトコルが必要ないなら(例えばNMEAしか使わないなら)、 GpsDriveをGARMINプロトコルサポートを入れないでコンパイルすることができます。 それはこのようにして行います:
./configure --disable-garmin
make clean
make
su
make install
こうするとより小さくて速い実行形式を作れる利点があります。
GpsDriveはGPS機器を繋がなくても使えます。そうした時は、 GpsDriveは自動的に シミュレータモード で開始され、 地図上でポインタを動かすことができます(設定メニューで有効にしてあれば)。 シミュレータモードで使う時は、動いているgpsdがないことを確認してください。
インターネットから Download ボタンで簡単に地図をダウンロードできます。 Mapblastサーバ(www.mapblast.com)か Expediaサーバ(www.expedia.com)の どちらかを選ぶことができます。
gpsfetchmap
と
gpsfetchmap.pl
と言う、広域に渡る多くの枚数の地図をダウンロードするための
プログラムもあります。
もしこれらの地図を使いたい時は、
www.mapblast.com
と
www.expedia.com
の著作権情報に注意してください。
そして、マウスを左クリックすると、カーソルが四角になり、 現在位置が表示されなくなります。 ズーム(拡大/縮小)をしたり、スライダーで他の地図縮尺を選んだりすると、 四角いカーソルのある位置が、実際の現在位置であるかのように、 その場所の地図の拡大/縮小ができます。
表示画面の端近くで左クリックすると、GpsDriveは地図をスクロールするか、 地図の端にいるときは次の地図をロードするかします。
マウスの中ボタンでは通常のモードに戻ることができます。 "P"キーを押したり、メニューの"Pos. mode"を選んでも同様です。 右ボタンで目標地点をクリックしても、同じです。 Shift-左クリックやshift-右クリックで、地図の縮尺が変わります。
実際のマウス機能やキーショートカットについて知るためには、GpsDriveの Help メニューも見てください。
o 新しいウェイポイントを (GPSの) 現在位置 に追加するには、 単にCTRLを押しながらマウスで右クリックします。 x キーを押しても同じです。
o 新しいウェイポイントを マウスの位置 に追加するには、 単にCTRLを押しながらマウスで左クリックします。 y キーを押しても同じです。
ポップアップウィンドウで、ウェイポイント名(空白は下線に変換されます)と ウェイポイントタイプ(定義済みのウェイポイントタイプは下記参照)を 追加してください。 テキストフィールドに入力して新しいウェイポイントタイプを作ることも、 一覧から定義済みのウェイポイントタイプを選ぶこともできます。 重要: (SQLモードの場合のみ、)一覧は定義されたウェイポイントタイプでなく、 すでに使われたウェイポイントタイプを表示します。
以上の名前は、大文字小文字の区別があります。
実際のウェイポイントタイプの一覧は README.SQL を見てください
たくさんのウェイポイントを管理するには、SQLサポートを使うといいでしょう。 これにはSQLサーバをマシンにインストールしておかなければなりません。 現時点ではMySQLだけがサポートされています。
恐れることはありません、MySQLは多くのリソースを必要としませんし、高速です。 ウェイポイント管理が(ウェイポイントタイプ選択も含め)ずっと簡単になります。 SQLモードでは setup メニューで表示されるウェイポイントから選ぶことができます。
SQLデータベースの設定方法については、README.SQLを読んで情報を得てください。
$waypointname(ウェイポイントの名前)
さあ右に曲がろう、バーがあるぞ
$nextwaypointname(次のウェイポイントの名前)
別のコメント....
コメントの長さに制限はありません。 行を'$name'で始めることと、コメントを次の行に書くことが重要です。
README.kismet も見てください。
このプログラムをインストールした時、貴方の自国語がLANGまたはLANGUAGEに 設定されていたら、プログラムは英語、ドイツ語、フランス語、 イタリア語、オランダ語、デンマーク語、ハンガリー語、スロバキア語、 スウェーデン語、トルコ語、またはスペイン語でメッセージを表示します。 LANGUAGEは他の設定を上塗りし無効にします。 "locale"コマンドで設定を見ることができ、 LANG又はLANGUAGEが設定されてたら、"set"コマンドを使います。 ドイツ語ならこうします:
export LANGUAGE=de
そしてgpsdriveをこのシェルで起動します。
または言語をシェル環境に設定することなく、一行で起動することもできます。
LANGUAGE=de gpsdrive
システムによってはLANGUAGEの代わりにLANGを使う必要があります。
貴方の自国語が使えなければ、そして翻訳版を作りたければ、 私にコンタクトしてください。
音声出力が欲しければ、festival音声出力システムをインストールする 必要があります。 http://fife.speech.cs.cmu.edu/festival を参照して下さい。
ドイツ語の出力には、ドイツ語のfestivalを、 www.ims.uni-stuttgart.de/phonetik/synthesis/index.html から得なければなりません。
機能するfestivalソフトウェアを持っているなら、サーバとして起動します:
festival --server
GpsDriveをスタートした時、ポート1314にサーバを検知し、 状態情報を音声として出力します。別のボタン(消音)もあり、それで音を消せます。
GpsDriveはlocale(現地語)に合った言語を選ぼうと試みます。 -lオプションを使うと、音声出力の言語を指定することができます。 現時点では、英語、スペイン語、ドイツ語がサポートされています。 GpsDriveはfestivalを適合する言語に設定します。 初期化がうまくいかなければ、 gpsdrive.c を覗いてみてください。 そして、次のデファインを必要に応じて編集してください:
#define FESTIVAL_ENGLISH_INIT "(voice_ked_diphone)"
#define FESTIVAL_GERMAN_INIT "(voice_german_de3_os)"
#define FESTIVAL_SPANISH_INIT "(voice_el_diphone)"
そのため、英語には音声ked_diphoneが、ドイツ語にはgerman_de3_osが、 (これはMBROLAの声です(this is a MBROLA voice ?)) スペイン語にはel_diphoneが必要です。
現在は英語、ドイツ語、スペイン語を含むfestivalの非公式ビルドがあります。
GpsDriveのホームページの
ミラー
から、それを
ダウンロード
して、rootになって
そのTarファイルを/usr/localディレクトリで解凍して下さい:
cd /usr/local
tar -xvzf festivalbuild.tar.gz
サーバを以下のように起動します
/usr/local/festival/bin/festival --server
friendsd と呼ばれるサーバプログラムがあります。 これは貴方の仲間の位置を知らせるサーバとして働くものです。 貴方がサーバに gpsdrive -n (貴方の名前) -f yourserver.com(サーバのURL ?) として接続すると、貴方はそのサーバに接続されている全てのgpsdriveの 現在位置を見ることができます。 (貴方の名前) が一単語で中に空白を含んではいけないことに注意してください。
サーバはポート50123(TCP)を使います。 貴方のファイアーウォールのそのポートが開いていることを確認してください。 サーバはroot権限を必要とせず、一般ユーザまたは権限のない専用ユーザで 動作させるべきです。このサーバはセキュリティのテストはして*いません*
POS: Fritz 47.082181 15.402043 18:11:42 101 38
その意味するところは
コマンドタイプ 名前 緯度 経度 時間(GMT) 速度(km/h) 方向(degree)
subscribe gpsdrive と言う文字列を含むメールを
majordomo@warbase.selwerd.nl 宛に送信することで、参加できます。
gpsdriveがセグメント違反でクラッシュする時は、 プログラムのバックトレースが必要です。バックトレースをとるには:
Tarファイルを解凍して、gpsdriveディレクトリに行き、以下を実行します
./configure --with-debug
make clean
make
cd src
gdb ./gpsdrive
デバッガーの中で以下を実行します:
run (引数をつけたときは、runの後につけます)
セグメント違反が起きたところで:
bt
そしてこの出力を私に送ってください。