NTRIPモニター
NTRIPキャスタを使ってRTK基準局データを配信する際、正常にデータが配信されているか確認したくなる時があります。
移動局でFloatにもならない場合、色々な原因が考えられますが、NTRIPキャスタにアクセスして送られてくるデータを見れば、原因が基準局側か移動局側かの切り分けが可能です。
そのためのモニタプログラムをChatGPTの助けを借りながら作ってみました。
プログラムはNtripMonitor.pyをダウンロードし、ChatGPT等でソースの安全性を確認した後、
Python NtripMonitor.py
を実行して下さい。Pythonはバージョン3以上が必要です。
次の画面が実行状況です。

HostにはNTRIPキャスタのアドレス、Mountpointにマウントポイント名を指定し、必要に応じて、Port番号の変更や、Username,Passwordの指定、GGAセンテンスの送出等の設定を行って下さい。
rtk2go.comの場合は、現在、Usernameにメールアドレスを指定する必要があります。
設定後、Connectボタンを押すと、NTRIPキャスタにアクセスし、正常に接続できると1秒毎に受信したメッセージのタイプ番号と回数を表示します。
Durationで指定した秒数の間モニタし、Summaryとしてメッセージ毎の受信回数と基準局位置を表示します。
正常に表示されない場合のエラーメッセージは次のとおりです。
| エラーメッセージ | 主な原因 |
| [!] Error: [Errno 11001] getaddrinfo failed | Hostのアドレスにアクセスできない |
| [!] Error: timed out | ポート番号が違う。 正常に接続されたがデータが来ない。 |
| [!] Received SOURCETABLE 200 OK (mountpoint not found or not a data mount). | マウントポイント名が見つからない。 マウントポイントは存在するが、データがアップされていない。 Username,Passwordが必要な場合に、有効な指定がされていない |
Ellipsoidの指定でWGS84かGRS80に設定できますが、この設定は基準局位置の緯度経度を計算する場合に適用されます。
どちらに設定してもデータのアクセスには関係しません。
このプログラムで動作確認したNTRIPキャスタはgeortk.jpとrtk2go.comだけですので、他のNTRIPキャスタでは正常に動作しないかもしれません。


