GPSモジュールの資料
GPSモジュールを設定するためのコマンドはデータシートに書かれているが、製品に添付されていなかったのでネットで探す必要があった。幸いなことに全部見つかったものの、事前調査で一番時間が掛かった。
資料の直リンはどうかと思ったのでググり方を記載しておく。
VFAN UG-353
「u-blox 7 Receiver Description Including Protocol Specification V14」でググるとu-bloxのサイトで見つかる。ロットによってプロトコルバージョン違いがあるかもしれないので、その場合は該当するバージョンのデータシートを探すこと。
バージョンの確認はgpsdに添付のubxtoolを使用する。表示された情報のうち extension PROTVER=xx.xx がプロトコルバージョンを表す。
$ ubxtool -f /dev/gps0 -s 9600 -p MON-VER
-sは現在の転送速度
ちなみにu-blox製品はWindows版のu-centerをダウンロードして設定した方が楽。
GLOBALSAT BU-353S4
よく使う転送速度変更やセンテンスのOn/Offコマンドは、「GLOBALSAT BU-353S4 コマンド」でググって見つかる東京通称システムさんの商品ページに参考として載っている。
より詳細な情報が欲しい場合は「EB-5365RE User manual site:globalsat.com.tw」でググると見つかる。こっちにはDatumを変更するコマンドも載っているので測地系をTokyo-Japanにすることもできる(位置情報は不要だから今回は使わないが)。
ちなみにEB-5365REはBU-353S4で使用しているChipset(データシートにはGPS Engine Boardと書いてあった)。
LOCOSYS LS23030-V2
「Datasheet of GPS mouse, LS2303x-Vx series "1.0"」でググるとLOCOSYSのサイトで見つかる。
もっと新しい1.1もあったのだが、LS23030が外れてLS23032以降になっていたので1.0を。
設定方法
BU-353S4とLS23030-V2はコマンドがテキストなので、sttyでシリアルデバイスの転送速度を適切に設定した後、printfなどでコマンドを流し込めば良い。
$ printf '$PSRF103,1,0,0,1*25\r\n' > /dev/gps1
これに対しu-bloxのChipset使ってるUG-353はバイナリで、コマンドの構造も前者に比べて複雑。ubxtoolを使えば自分で全部バイナリ列を組み立てなくとも済むが、それでもデータシート見て理解できないとコマンドを組み立てられない。また結果出力もデータシートに書かれてる情報見ながらで無いと理解できない。
転送速度設定やNMEAモードへの切り替え、主要機能のOn/Offくらいはubxtoolの基本オプションとして実装されてるので手軽に行えるが、センテンス出力のOn/Offはデータシート見ながらパラメータを作る必要がある。
$ ubxtool -P 14 -f /dev/gps0 -s 9600 -S 38400
-Pはプロトコルバージョン、-Sが設定する転送速度
$ ubxtool -P 14 -f /dev/gps0 -s 38400 -e NMEA
上にも書いたがu-center使って設定した方が楽。