ntripclient RTCM connection – 【Linux 學習筆記】

ntripclient 是一個簡單的開源 NTRIP 程式,透過程式建立連線後,可以從基站 Server 取得 RTCM 修正資料,並透過 USB 等介面送入 GNSS 裝置,再把 GNSS 處理完的 RTK NMEA 語句拋出。

上一篇使用的 PyGPSClient 雖然可以做 RTK NTRIP 連線,但使用非 ublox 的 GPS / GNSS 設備時,事情會變得很複雜。舉例來說, PyGPSClient 必定要 Parser NMEA 語句,當遇到非標準或非 ublox 定義的 NMEA 語句時,它不認識就無法拋出資料。程式架構又比較龐大,處理起來就很麻煩。 ntripclient 則相對簡單。

ntripclient Github

ntripclient 是一個可在 POSIX 系統運行的程式, Github 網址:

https://github.com/nunojpg/ntripclient

ntripclient操作步驟

下載完程式碼以後,直接編譯:

make

運行指令:

./ntripclient -s xxx.xx.xxx.xxx -r 2101 -u user -p password -m mountpoint -M 3 -D /dev/ttyUSB -B 115200 -n GNGGA | grep RMC
  • -s xxx.xx.xxx.xxx:xxx.xx.xxx.xxx 是 RTK 服務的 Server IP
  • -u user:user 是 RTK 服務的使用者帳號
  • -p password:password 是 RTK服務使用者帳號的密碼
  • -m mountpoint:mountpoint 是選用的 RTK 基站,一般選離自己最近的站點
  • -M 3:ntrip verison,3是 NTRIP Version 1.0 Caster,其他選項可參考官方說明
  • -D /dev/ttyUSB:是 GPS / GNSS 設備的 Serial port name,例如 ttyUSB0,RTK 如為 VRS (Virtual Reference Station) 類型的服務,須設定此項,才能將 Rover 定位資訊的 NMEA 傳至 Server。同時設定此項也會在 console 輸出設備的 NMEA output
  • -B 115200:115200 是 Serial port 的 baudrate
  • -n GNGGA:設定向 Server 傳輸的 NMEA 語句類型

grep NMEA RMC 語句的成果畫面:

ntripclient

NMEA RMC 語句的的 fix mode 從 Differential GNSS fix “D” 切換到 RTK fixed “R”,表示 RTK 定位成功。

如果你使用的設備 NMEA 語句為 GN 開頭,例如 GNGGA,而不是 GPGGA,記得到ntripclient.c 內修改 591 行:

https://mapostech.com/gnss-nmea/
上一篇:
下一篇: