Septentrio社のGNSS受信機 Mosaic-go CLAS(以下、受信機)を使っているけど、RTK測位という高速・高精度な測位方法も試してみたい。 そのためには受信機に「補正データ」を渡す必要があり、その方法もいくつかある。
そんなニッチ過ぎる情報です。
動作確認環境
GNSS受信機:Mosaic-go CLAS firmware version 4.15.0
Windows環境で「補正データ」をやり取りする方法
結構いろんな方法があります。
①内蔵のNTripクライアントを使う
手順は こちらの解説 と公式動画が分かりやすいです。
公式動画の手順を使う場合は、Internet over USB の設定 も必要。
構成はこんな感じ
困ったのは1点だけ。
ネットワーク共有を有効にすると、受信機のIPアドレスが192.168.3.1から別のものに変わるけど、「結局どのIPアドレスになったの?」がわかりにくい。
答えは、192.168.137.(の部分は2~254のいずれか。例:192.168.137.117)。
上記リンク先の手順に従って「インターネット共有」を行うと、(レジストリとか触ってなければ)192.168.137.* が割り当てる。
コマンドプロンプトで arp -a を実行し、192.168.137.* のアドレスが受信機の新しいIP。
> arp -a 省略 インターフェイス: 192.168.137.1 --- 0x16 インターネット アドレス 物理アドレス 種類 192.168.137.249 56-1d-69-ea-93-f1 静的 192.168.137.255 ff-ff-ff-ff-ff-ff 静的 省略
あとは、ブラウザでアクセスして、Corrections > NTRIPで設定すれば設定完了。
アイコンや線が緑色になればOK。
②PCから RxAssistant や RxControl を使って、受信機に補正データを送る
Septentrio純正ツールRXtoolsの「RxAssistant」「RxControl」「Data Link」には、NTripクライアント機能が内蔵されている。
ツールでNTripキャスターの情報を設定して、出力先に受信機のCOMポートを指定すればOK。
あとはツールが補正データを送り続けてくれる。
③PCから STRSVRを使って受信機に補正データを送る(TCP/IP編)
Septentrio公式ツールでなくても、RTKLIBに含まれるSTRSVRというツールを使うと、RxAssistantと同じようなことができる。
構成はこんな感じ
GUIのツールなので操作は簡単。
STRSVRを立ち上げて、Inputを設定
Outputを設定。前述のネットワーク共有を使っていない場合、受信機のIPアドレスは 192.168.3.1 固定。なので、送信先は 192.168.3.1:28784 に設定すればいい。
28784は受信用のポート番号。別の用途でも28784を使う場合は、受付ポート番号を増やすこともできる。
Startを押す
Web画面で次のように表示されていればOK
④PCから STRSVRを使って受信機に補正データを送る(シリアル編)
同じSTRSVRを使って、シリアルポート経由でデータを送るという方法もある。
構成はこんな感じ
デバイスマネージャーでCOMポートを確認
InputはTCP/IP編と一緒。
Outputは先ほど確認したCOMポートを設定。
Startを押す
Web画面で次のように表示されていればOK
Linux環境で「補正データ」をやり取りする方法
前提:Linuxだと受信機内蔵のNTripクライアントを使うのが難しい
Mosaicチップには色々な機能があるので、本来はネットワーク関連機能も充実しているし、簡単に補正データが受信できそう。
なんだけど、残念ながらそのチップを使ったMosaic-go CLASはコンパクトな分、ネットワーク機能が限定的。。。
Windowsのネットワーク共有のような手軽な手段もない。
NAT設定やP2PP(Point-to-Point Protocol)などネットワーク環境を整える手段はあるけど、受信機にデフォルトゲートウェイを伝える手段が見当たらない。
(もしかするとSeptentrio独自の制御コマンドを送れば設定できるのかもしれないけど、未確認。)
①PCから RxAssistant や RxControl を使って、受信機に補正データを送る
原理的にはWindows環境と同じなので省略
②PCから str2strを使って受信機に補正データを送る
STRSVRのCUI版「str2str」を使う。
インストール方法:
$ sudo apt update $ sudo apt install rtklib
実行方法 (aaa.jpとmount_pointは例なので、適切なのに置き換える。 )
$ str2str -in ntrip://aaa.jp:2101/mount_point -out tcpcli://192.168.3.1:28784 stream server start 2025/10/18 01:41:51 [WW---] 0 B 0 bps (0) connecting... (1) connecting... 2025/10/18 01:41:56 [CC---] 3358 B 6912 bps (0) aaa.jp/mount_point (1) 192.168.3.1 2025/10/18 01:42:01 [CC---] 8542 B 6887 bps (0) aaa.jp/mount_point (1) 192.168.3.1 2025/10/18 01:42:06 [CC---] 11998 B 6884 bps (0) aaa.jp/mount_point (1) 192.168.3.1
[CC---]と出ていれば、転送OK。bpsは転送速度
Web画面を確認して、次のように表示されればOK
③その他
str2strでシリアルポートにも送れそう。
rtklib-qtというパッケージもあったので、GUIでもできそう(どっちも未確認)
$ apt search rtklib-qt rtklib-qt/jammy 2.4.3.b34+dfsg-1 amd64 RTK and other advanced GNSS positioning techniques -- Qt GUI
情報を集めるときに、下記書籍が参考になりました。