Skip to content

Using BKG Ntrip Client and gnssrefl's rinex2snr module to access to real-time SNR streaming

Notifications You must be signed in to change notification settings

MakanAKaregar/ntrip2snr

Repository files navigation

ntrip2snr

Using BKG Ntrip Client (BNC) and gnssrefl's rt_rinex3_snr module to access real-time SNR data.

The BNC compiled code is available at: https://igs.bkg.bund.de/ntrip/bnc

I tested Code Executable "v2.12.18 static" for OpenSUSE, Ubuntu, Debian and Raspbian. The compiled file bnc-2.12.18-suse42-64bit-static and bnc-2.12.18-debian8-64bit-static are also available in ntrip2snr repository.

The following examples convert 1 min RTCM streams to RINEX 3 files and then to SNR-ready files to be used for GNSS-IR real-time processing.

Example 1: GNSS SNR real-time streaming for site AC67 from UNAVCO's caster: rtgpsout.unavco.org:2101

*Note: you need to reach out UNAVCO to set up an account with user and pass.

Navigate to example1 directory and open ntrip2snr.bnc in a text editor and set the following configuration input parameters:

casterUrlList is visited broadcasters [character string, comma separated list].

casterUrlList=http://user:pass@rtgpsout.unavco.org:2101

mountPoints is mountpoints [character string, semicolon separated list].

mountPoints=//user:pass@rtgpsout.unavco.org:2101/AC67_RTCM3 RTCM_3.1 USA 57.79 -152.43 no 2

rnxScript is file upload script, full path [character string].

rnxScript=./run_rinex2snr.sh

Note run_rinex2snr.sh passes the RINEX 3 filename generated by BNC to gnssrefl's rt_rinex3_snr module.

rnxIntr is File interval [character string: 1 min|2 min|5 min|10 min|15 min|30 min|1 hour|1 day].

rnxIntr=1 min

rnxV3 produces version 3 file content [integer number: 0=no,2=yes].

rnxV3=2

rnxSampl is file sampling rate [integer number of seconds: 0,5|10|15|20|25|30|35|40|45|50|55|60].

rnxSampl=1 sec

rnxSkel is RINEX skeleton file extension [character string].

rnxSkel=SKL

Default configuration is now set for an orbitray site AC67 from UNAVCO's caster server (rtgpsout.unavco.org:2101)

Set a directory to store RINEX 3 files via -key rnxPath $REFL_CODE/rinex/ssss/YYYY where $REFL_CODE is an environmental variable to be used by gnssrefl's rt_rinex3_snr module, YYYY is the year and ssss is the four character station name, i.e., -key rnxPath $REFL_CODE/rinex/AC67/2023

Before running ntrip2snr.bnc, BNC requires the RINEX header as a separate file with SKL extension stored in $REFL_CODE/rinex/ssss/YYYY (rnxPath). For running the example configuration file, make sure you copy AC67_RTCM.SKL to the mentioned directory. The RINEX header file is often missed in caster servers, thus this .SKL file needs to be created in advance.

Now activate the virtual environment: source ~/env/bin/activate

You may need to mark the BNC compiled code, run_rinex2snr.sh and run_rinex2snr.py as executables:

chmod +x bnc-2.12.18-suse42-64bit-static

chmod +x run_rinex2snr.sh

chmod +x run_rinex2snr.py

To run ntrip2snr: ./bnc-2.12.18-suse42(debian8)-64bit-static -nw -conf ntrip2snr.bnc -key rnxPath $REFL_CODE/rinex/AC67/2023

Ignore QSslSocket SSL errors if you generally trust the caster server and do not want to be bothered with this.

SNR-ready files are overwritten every minute and stored in $REFL_CODE/YYYY/snr/ssss/, i.e., $REFL_CODE/2023/snr/AC67/

Example 2: GNSS SNR real-time streaming for site WARN from EUREF's caster: euref-ip.net:2101

*Note: access to EUREF's caster is public and no user and pass are required.

The configuration input parameters for this example are available in ~/example2/ntrip2snr.bnc and are summerized below:

casterUrlList=http://User:Pass@euref-ip.net:2101

mountPoints=//Example:Configs@euref-ip.net:2101/WARN00DEU0 RTCM_3.1 DEU 54.17 12.10 no 2

rnxScript=./run_rinex2snr.sh

rnxIntr=1 min

rnxV3=2

rnxSampl=1 sec

rnxSkel=SKL

Default configuration is now set for a GNSS-IR site WARN from EUREF's caster caster server (euref-ip.net:2101)

And run ntrip2snr: ./bnc-2.12.18-suse42(debian8)-64bit-static -nw -conf ntrip2snr.bnc -key rnxPath $REFL_CODE/rinex/WARN/2023

SNR-ready files are overwritten every minute and stored in $REFL_CODE/YYYY/snr/ssss/, i.e., $REFL_CODE/2023/snr/WARN/

About

Using BKG Ntrip Client and gnssrefl's rinex2snr module to access to real-time SNR streaming

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published