RaspberryPi[21] Ntrip Caster on Raspbian
さくらネットのIPSサーバーにNtrip Casterを立てた話は過去ブログに書きました。殆ど、他の人におんぶされているだけですが。IPSサーバーはグローバルIPでCasterを運用することになります。セキュリティー上から公開したくないとの要望があり、softetherの仮想ネットワーク内にCasterを立てられないかなというのが今回の試みです。IPSではsoftetherのサーバーも動いているので、Casterで仮想HUBがアクセスできるのなら、簡単だと思いましたが、どうも、Linuxの都合上それはできないようです。https://cgbeginner.net/ubuntu-softether-vpn/ にそのことに触れているようです。ローカルブリッジを使えばできそうだなとは思いましたが、私では理解不能なので違う方法をとることにしました。
それは、仮想HUB内にもう一つ、Ntrip Casterを立てれば仮想空間で完結できるのではないかという事です。Ntrip CasterはLinuxようなので、Raspbianでも動くんじゃないかと淡い期待を持って始めました。
また、自分用のNTRIP caster をたてる を見ながらインストールをやっていると少し、「あれ?」と思うことがあったので、少し補足して書いてみます。
まず、インストール先のフォルダを作成します。
pi@raspberrypi:~ $ sudo mkdir /opt/ntripcaster
Buildするフォルダに移動します。私はHOMEのしたにworkフォルダを作って作業しているので、以下のようにしました。
pi@raspberrypi:~ $ cd work
pi@raspberrypi:~/work $ pwd
/home/pi/work
その場所で、
pi@raspberrypi:~/work $ git clone https://github.com/baidu/ntripcaster.git
pi@raspberrypi:~/work $ cd ntripcaster
pi@raspberrypi:~/work $ ./configure --prefix=/opt/ntripcaster
pi@raspberrypi:~/work $ make
pi@raspberrypi:~/work $ sudo make install
pi@raspberrypi:~/work $ ls -al /opt/ntripcaster
合計 20
drwxr-xr-x 5 root root 4096 3月 26 13:55 .
drwxr-xr-x 5 root root 4096 3月 26 13:53 ..
drwxr-xr-x 2 root root 4096 3月 26 13:55 bin
drwxr-xr-x 2 root root 4096 3月 26 13:55 conf
drwxr-xr-x 2 root root 4096 3月 26 13:55 logs
と、/opt/ntripcaster 配下にインストールが完了しました。conf にあるsourcetable.dat.dist と ntripcaster.conf.dis をコピーして編集します。
pi@raspberrypi:/opt/ntripcaster/conf $ sudo cp sourcetable.dat.dist sourcetable.dat
pi@raspberrypi:/opt/ntripcaster/conf $ sudo cp ntripcaster.conf.dist ntripcaster.conf
##################################
# NtripCaster configuration file #
################################################################################
############### Server Location and Resposible Person ##########################
# Server meta info with no fuctionality.
location XXX
rp_email xxx@xxx.jp
server_url http://www.xxxx.jp
########################### Server Limits ######################################
# Maximum number of simultaneous connections.
max_clients 100
max_clients_per_source 100
max_sources 40
######################### Server passwords #####################################
# The "encoder_password" is used from the sources to log in.
encoder_password passwor
#################### Server IP/port configuration ##############################
# The server_name specifies the hostname of the server and must not be set to
# an IP-adress. It is very important that server_name resolves to the IP-adress
# the server is running at.
# For every port, the server should listen to, a new port line can be added.
#VPN local IP
server_name 192.168.xxx.xxx
# port 80
#80 だと既に動いているサービスとかち合うので使わないほうが楽
port 2101
######################## Main Server Logfile ##################################
# logfile contains information about connections, warnings, errors etc.
logdir /opt/ntripcaster/logs
logfile ntripcaster.log
############################ Access Control ###################################
# Here you specify which users have access to which mountpoints,
# one line per mount.
#
# Syntax: /<MOUNTPOINT>:<USER1>:<PASSWORD1>,<USER2>:<PASSWORD2>,...,<USERn>:<PASSWORDn>
#
# /<MOUNTPOINT>: name of the mountpoint. Must start with a slash.
# <USERi>: name of the user that has access to <MOUNTPOINT>.
# <PASSWORDi>: password of <USERi>.
#
# example:
/AAAA:aaaaa:password
/BBBB:bbbbb:password
#/mount0:user0:pass0,user1:pass1,user2:pass2
#/BUCU0:user1:password1,user2:password2
#/PADO0
#sourcetable.dat
STR;AAAA;AAAA;RTCM3.0;.....;2;GPS+GLONASS+Galileo;;JPN;35.XXXXXXXXX;139.XXXXXXXXX;0;0;u-bloxZED-F9P;none;N;N;1152500;Temporary
STR;BBB;BBB;RTCM3.0;.....;2;GPS+GLONASS+Galileo;;JPN;35.XXXXXXXXX;139.XXXXXXXXX;0;0;VFAN UG-353;none;N;N;9600;Testing
起動は以下を実行します。
pi@raspberrypi:/opt/ntripcaster/bin $ /opt/ntripcaster/bin/ntripcaster
動作確認方法
windows版のRTKLIBをダウンロードします。https://github.com/tomojitakasu/RTKLIB_bin/tree/rtklib_2.4.3
サイトに行って右上の Code を選択して、Dowload ZIP でダウンロードできます。解凍して bin フォルダにある strsvr.exe を起動します。
InputはOptの下の ・・・ をクリックしてPCに刺したUSB GPSのポートと BaudRateなどを書きます。
Outputは CasterのIPアドレス、Port番号、Mountpoint名、パスワードを入れます。Mount Optionは入れなくても動きました。多分、入れたほうがいいと思います。
そして、Start を押して、Input Output共に緑変われば正しく動いているようです。