Raspberry PiでNavit:高感度GPSユニット編

IMG_5813.jpg

前回の記事から随分と間があいてしまいましたが、ついにAdafruitのGPSユニットを購入しちゃいました!

ソニーのGU-BT1も優秀なGPSですが、みちびきなどの新しい衛星も増えてきて、GPSの精度は今後ますます上がっていくと考えられます。ここらで最新式(に近い)チップを試してもいいのではないかと思いました。

まずは、Navitの日本測地系パッチをコメントアウトして、再コンパイル。ついでに、VL Gothicフォントを入れて日本語化します。VL Gothicは懐かしいVine Linuxで作られたそうですね。もちろんフリーです。

$ sudo apt-get install fonts-vlgothic

でインストールして、~/.navit/navit.xmlの

layout name="Demo layout" color="#ffefb7" font="Liberation Sans" active="1"

など、Liberation Sansフォント指定のところを全部、

layout name="Demo layout" color="#ffefb7" font="VL Gothic" active="1"

のように変更すると、地名やメニューに日本語が使えるようになります。

gui type="internal" enabled="yes" fullscreen="1" font_size="350"

でフォントサイズを大きくすれば、メニュー選択も楽に。

IMG_5840.jpg
IMG_5838.jpg

GPSユニットは、変換ケーブルを使ってUSB経由で接続するのが安全ですが、PiTFTに直接ハンダ付けしてしまいました。Pinの並びが5V GND RX TXなので、Piの5V 5V GND TX RXのところにうまく合います。ただ5VとGNDがショートしないように気をつけないとPiがおいしく焼けてしまうと思います。

この場合UART接続になりますが、初期設定ではこのシリアルポートはターミナル専用になっています。ですので、ここを見ながら、、

$ sudo nano /boot/cmdline.txt の

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

のところを

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

に変更。

$ sudo nano /etc/inittab の

#Spawn a getty on Raspberry Pi serial line
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

のところをコメントアウトして

#Spawn a getty on Raspberry Pi serial line
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

のようにします。ここでリブート。GPSは/dev/ttyAMA0に接続されます。

次に、gpsdの設定ですが、

$ sudo dpkg-reconfigure gpsd

がやりやすかったです。

3-1.gpsdを自動で開始しますか?
>はい
3-2.USB GPS を自動で操作しますか?
>いいえ
3-3.GPS 受信機が接続しているデバイス
/dev/ttyAMA0
3-4.gpsd に渡すオプション
-b -n

で、リブートするとgpsdがGPSユニットと通信しはじめます。通信状況は

$ gpsmon

が、衛星を捉えてなくても安定して通信してくれます。よく使われるcgps -sより良いと思います。

gpsdがうまく起動するようになったら、

~/.navit/navit.xml



vehicle name="Local GPS" profilename="car" follow="1" enabled="yes" active="1" source="file:/dev/ttyS0"



vehicle name="Local GPS" profilename="car" follow="1" enabled="yes" active="1" source="gpsd_dbus:"

のようにして、Navitがgpsdを読みに行くようにします。

以上で、Bluetooth接続より安定してGPSデータが取れるようになりました。ただ、うまく衛星を捉えればいいんですが、時間帯によっては非常に時間がかかることも。特に建物の近くなどでは、GU-BT1に比べて格段に良くなったという程でもないです(GU-BT1がそれだけ優秀だったとも言える)。リアルタイム時計用のバックアップ電池を入れれば少しはマシになるのでしょうか。VTへの搭載は、ゴリラ用マウントの再利用で、iPhoneと入れ換えて使います。

(追記)本日、夕方6時に、みちびき初号機(No.193)を捉えることに成功しました。gpsmonではすべてのパラメーターが0ですが、あることが確認できただけでもなんだかうれしい。リアルタイムクロック電池も装備して、空が見えていれば1分以内には現在位置が取れていると思います。早くみちびき2号機打ち上げてくれないかな〜。

IMG_5818.jpg

新旧のナビシステム比較。3年も改良を重ねたiPhone4Sナビと比較してはだめなのでしょうけど、画面の見やすさ、汎用性、安定性、堅牢性、操作性などあらゆる面で旧システム(iPhone)が優ってしまっています。しかし、だからといってRaspi+Navitに魅力がないわけではなく、むしろスマホナビが絶対に辿りつけないような、とんでもなくパーソナルな利用場面を想定した開発を、今後も続ける予定です。



関連記事
スポンサーサイト

コメント

Qimooh

私も稼働が少ないRAS PI 2 Bを利用してUSB GPSレシーバ接続で何とか地図上で位置表示まで辿り着きました。
やはり地図の文字は化けており、この日記の文字化けについてご記載の通りフォントをインストールしxmlファイルのfont="Liberation Sans"をVL Gothicに書き換えましたが文字化けのままです。また、~/navit/navit/fontsの中に強制的にVL Gothicのttfファイルを貼り付けたりやってみましたが変化なしでした。何か心当たりな事があれば教えて頂ければと思います。

Qimooh

恐れ入ります
解決しました。私のRas Piはすべて日本語環境にしてしまっていたので、"VL Gothic"ではだめみたいです。font="VL ゴシック"にしたら見事日本語表示になりました。
お騒がせしました。

目指せ北海道

おお、解決してよかったです。新しいRaspi3ではまだNavitを試していませんが、Raspi2でもかなりの性能アップですよね。世界を走れるバイクナビを目指してがんばりましょう!
非公開コメント

habingovt

2ストバイク(RZ250R&SDR)をおりてから二十余年。仕事で体調を崩したときに、友人からVT250Fというバイクを譲り受けました。4半世紀を生き抜いてきたバイクにまたがり、ふたたび走り始めたら、なんだかだんだん楽しくなって、バイクも自分も元気になってきました。目標は、YouTubeライブをしながら北海道を自由に走り回ること。いつ倒れるかも分かりませんが、生暖かい目で見守ってやってください。Twitter & tipmona @habingofit