しばらくご無沙汰しておりました。
前回、Raspberry Pi+RTKLIBでRTK移動局を作ってみよう2で、インターネット上の無償NTripサーバRTK2GOを経由してMosaic-HAT基準局と移動局を繋げましたが、どうもFIXしないようです。
Raspberry Pi+RTKLIBでRTK移動局を作ってみようの、RTKLIBの補正アルゴリズムを使えばFIXしますが、それではMosaic-HATの機能を使いこなしたことになりません。
ということで、問題分析をすることになりました。
#本件、セプテントリオ様には、大変お世話になりました。
##問題の切り出し
RTKLIBの補正ではうまく言っていることを考えると、
〇基準局:Mosaic-HAT→RasPi(COM1でRTCM3メッセージを伝達)
〇基準局:RasPi→RTK2GO(RTKLIBのstr2strでRTCM3メッセージを伝達)
?移動局:RTK2GO→RasPi(RTKLIBのstr2strでRTCM3メッセージを伝達)
?移動局:RasPi→Mosaic-HAT(COM1でRTCM3メッセージを受信-とくに設定なし)
と、基準局はシロ。
さらに、移動局でRTKLIBのrtk2rsvを使った補正は成功しているので、
RTK2GO側は、リクエストが来れば正しいRTCM3を伝達してくれていることに。
よって、str2strによるMosaic-HATへのPushあたりに問題がありそうです。
といっても、確認するのは、ボーレート設定くらいしかない・・・
そこで重い腰を上げて、Mosaic-HATの内部状態を調べることにします。
Mosaic-HATは、SBFというバイナリメッセージで、リアルタイムの状態情報を知らせてくれます。
これを取得し、アナライザで調べます。
RasPiとMosaic-HATの接続はそのままに、Mosaic-HAT上のマイクロUSBをPCに接続します。
##ウェブアプリの設定
こちらはSBF出力設定のために使います。
PC上からブラウザを開き、192.168.3.1にアクセスしてウェブアプリを開きます。
ここでメニューからNMEA/SBF Outを選択し、SBFを指定ポートに出力させます。
NMEA/SBF Output StreamsのNew SBF streamを選択し、下図のように設定します。
終わったら、OK→OKします。
##RxLoggerの設定
SeptentrioからRxToolアプリをダウンロードし、DataLinkを実行します。
RxToolについては、こちら
Connection1から6までの設定がありますので、いずれか(ここではConnection1)の"TCP/IP Client"と記載されているBOXをクリックし、ポート設定を行います。ここで、SerialタブのPortに、USB COM Port1(COM4)を選択し、OKとします。また、Log Fileにチェックをし、ログファイルを指定してください。拡張子は何でもよいです。下図のようになります。
基準局、移動局が運用状態になっているかを確認したのち、左上のConnectを押して、ログ開始です。
Connection1の右下の枠が赤から緑に変わります。
なお、緑枠になっても、"I/O 0.0/0.0 kBps"である場合は、ウェブアプリの設定を再度実行しSBF出力を開始させます。下図のように、USB1(Out:SBF XXkb/s)の通信パスができていれば成功です。
数分間、記録した後、Disconnectで停止します。
これでロギングは終了です。
##SBF Analyzerでの確認
先ほど記録したSBFメッセージはバイナリデータのため、そのままでは読めません。
RxToolのSBF Analyzerで確認します。
アプリを起動したのち、SBF Fileに先ほどのログを設定します。Analyzerのチェックは、デフォルトのままだと大量のプロット図を吐き出すので、SelectのチェックをPVTのDifferential Corrections Ageのみにします。さらにPlot Optionsを選択し、下図のようにTo Plot1以外のチェックを外し、1枚だけの図にします。
これで出力された図は下図のようになりました。
基準局からは、1004, 1006, 1033の3タイプのメッセージを送信しているはずなのに、Message Type 1004しか表示されていません=受信していません。ちなみに別のマウントポイントに設定しても、やはり1004しか受信していませんでした。RasPiのstr2strで転送し損ねているのか、Mosaic-HATが受けきれていないのか?
問題が絞り込めました。
##まとめ
SBFメッセージの収集方法を知れば、トラブル解析はかなり楽になります。
まだ解決はしていませんので、次回は解決したという報告をお送りしたいです。