積み基板の消化に,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線式)
![](https://blogimg.goo.ne.jp/user_image/2b/ee/6a7cb9a5a7d7e44af59da4e58d40195a.png)
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を接続して単独測位を試してみます.
![](https://blogimg.goo.ne.jp/user_image/30/ed/006908a423fe56ce255661d2d06aa44b.png)
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
新しいオフィスでは,屋上に設置したアンテナにアクセスできるので,測位結果も良好です.
(クリックで拡大)
![](https://blogimg.goo.ne.jp/user_image/5d/56/f510b4bacbd7904addd0406bfa58828c.png)
次に,BeagleBoneと同じ設定で,PPPを試してみます.
(クリックで拡大)
こちらも,BeagleBoneよりも安定した結果が得られています.
最新のパッチを当てたのが功を奏しているのかな?
htopでCPUの負荷を調べてみると,BeagleBoneより少なく,
全体の3%しか使っていません.
(クリックで拡大)
Raspberry PiよりBeagleBoneの方がハードウェアとしての性能は高いと
思っていたのですが,RTKLIBはRaspberry Piの方が快適に動作するようです.
ubuntuとdebianの違いなのでしょうか?
ちょっとすごいロガーが繋がるようなので,アンオフィシャルなコマンドで
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線式)
![](https://blogimg.goo.ne.jp/user_image/2b/ee/6a7cb9a5a7d7e44af59da4e58d40195a.png)
Raspberry Piを起動すると,まずはraspi-configを実行して初期設定を行うようにと
メッセージが表示されます.
![](https://blogimg.goo.ne.jp/user_image/71/8b/a1f73adfcb7ee43b50246dacbe2811d9.png)
raspi-configを実行すると,次のような画面が表示されます.
![](https://blogimg.goo.ne.jp/user_image/6e/a1/4a6effd3b7ff46ef74f7e0e4ac6a8108.png)
各項目の説明は,以下のサイトが参考になります.
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を接続して単独測位を試してみます.
![](https://blogimg.goo.ne.jp/user_image/30/ed/006908a423fe56ce255661d2d06aa44b.png)
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
新しいオフィスでは,屋上に設置したアンテナにアクセスできるので,測位結果も良好です.
![](https://blogimg.goo.ne.jp/user_image/47/e0/1e0d38951e6f9fb019306873d013efff.png)
![](https://blogimg.goo.ne.jp/user_image/5d/56/f510b4bacbd7904addd0406bfa58828c.png)
次に,BeagleBoneと同じ設定で,PPPを試してみます.
![](https://blogimg.goo.ne.jp/user_image/74/31/0e750a73f99dc98614c89db0fd5fbd04.png)
こちらも,BeagleBoneよりも安定した結果が得られています.
最新のパッチを当てたのが功を奏しているのかな?
htopでCPUの負荷を調べてみると,BeagleBoneより少なく,
全体の3%しか使っていません.
![](https://blogimg.goo.ne.jp/user_image/5a/8b/848e022e7319bffd55cc6320577bb09b.png)
Raspberry PiよりBeagleBoneの方がハードウェアとしての性能は高いと
思っていたのですが,RTKLIBはRaspberry Piの方が快適に動作するようです.
ubuntuとdebianの違いなのでしょうか?