OSQZSS

オープンソース準天頂衛星(QZSS)受信機

Raspberry PiでRTKLIB

2014-05-03 13:02:46 | RTKLIB
積み基板の消化に,Raspberry PiにもRTKLIBをインストールしてみました.

ちょっとすごいロガーが繋がるようなので,アンオフィシャルなコマンド
NEO-6Mにrawデータを出力させれば,精密測位も楽しめそうです.

ina111's blog: ちょっとすごいロガーを便利に使う(4)Raspberry Piに接続

まずは,公式ページからOSのイメージファイルをダウンロードします.
今回は,RASPBIANを選びました.

raspberrypi.org: Downloads

Image installation guidesに従って,イメージファイルを書き込みます.
SDカードの容量は4GBのものを選びました.

raspberrypi.org: INSTALLING OPERATING SYSTEM IMAGES USING WINDOWS

SDカードの準備ができたら,Raspberry Piに差し込み,起動します.
その前に,シリアルコンソールでログインするために,PCとUSBシリアル変換ケーブルで
接続しておきます.ここでは,ストロベリーリナックスのUSBシリアル変換ケーブルを使います.

ストロベリーリナックス:OLIMEX USBシリアル変換ケーブル(3線式)



Raspberry Piを起動すると,まずはraspi-configを実行して初期設定を行うようにと
メッセージが表示されます.

 (クリックで拡大)

raspi-configを実行すると,次のような画面が表示されます.

 (クリックで拡大)

各項目の説明は,以下のサイトが参考になります.

digitale bottega cresc wiki:Raspbian 初期設定(raspi-config)

SDカードに書き込んだRASPBIANのイメージは,2.7GB程度しか使用していないので,
Expand Filesystemで4GBの容量をすべて使うようにパーティションをリサイズします.
次に,Internationalisation Optionsで,タイムゾーンをTokyoに設定しました.
その他の設定は,defaultのままです.

設定が終了したら,Tagキーを押して,<Finish>を選択すると,再起動します.
これで初期設定は終了です.

RTKLIBのインストールは,基本的にBeagleBoneでのインストールと同じ手順ですが,
今回は最新のパッチもあてておきます.

まず,RTKLIBをダウンロードします.

$ wget http://www.rtklib.com/prog/rtklib_2.4.2.zip
$ unzip rtklib_2.4.2.zip


次に,最新のパッチをダウンロードして,RTKLIBのフォルダに上書きします.

$ wget http://www.rtklib.com/prog/rtklib_2.4.2_p4.zip
$ unzip rtklib_2.4.2_p4.zip
$ cp -rf rtklib_2.4.2_p4/* rtklib_2.4.2


これで準備が整いましたので,appフォルダに移動してビルドします.

$ cd rtklib_2.4.2/app
$ chmod 755 makeall.sh
$ ./makeall.sh


ビルドには30分ほどかかりますので,のんびりと待ちましょう.

ビルドが終了すると,RTKNAVIに相当するコマンドラインのrtkrcvが出来ます.

$ cd rtklib_2.4.2/app/rtkrcv/gcc

まずは,LEA-4Tを接続して単独測位を試してみます.



rtkrcvの設定ファイルとして,rtkrcv.confをベースに,single_pi.confを準備します.

inpstr1-type =serial # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http)
inpstr1-path =ttyACM0:115200:8:n:1:off
inpstr1-format =ubx # (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:sp3)


測位結果は,tcp serverに出力して,それをPC側のRTKPLOTで表示させます.

outstr1-type =tcpsvr # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr)
outstr1-path =localhost:52001


測位モードは単独測位,周波数はL1のみとなります.

pos1-posmode =single # (0:single,1:dgps,2:kinematic,3:static,4:movingbase,5:fixed,6:ppp-kine,7:ppp-static)
pos1-frequency =l1 # (1:l1,2:l1+l2,3:l1+l2+l5)


rtkrcvから実行されるrtkstart.shとrtkshut.shの属性も,忘れずに実行可能にしておきます.

$ chmod 755 rtkstart.sh
$ chmod 755 rtkshut.sh


これで単独測位の準備が整いましたので,rtkrcvを実行します.

$ ./rtkrcv -o single_pi.conf

新しいオフィスでは,屋上に設置したアンテナにアクセスできるので,測位結果も良好です.

 (クリックで拡大)



次に,BeagleBoneと同じ設定で,PPPを試してみます.

 (クリックで拡大)

こちらも,BeagleBoneよりも安定した結果が得られています.
最新のパッチを当てたのが功を奏しているのかな?

htopでCPUの負荷を調べてみると,BeagleBoneより少なく,
全体の3%しか使っていません.

 (クリックで拡大)

Raspberry PiよりBeagleBoneの方がハードウェアとしての性能は高いと
思っていたのですが,RTKLIBはRaspberry Piの方が快適に動作するようです.
ubuntuとdebianの違いなのでしょうか?
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« AndroidでRTKLIB | トップ | NavSparkのオンラインストア »
最新の画像もっと見る

コメントを投稿

RTKLIB」カテゴリの最新記事