Streaming RTK corrections
RTK correction data (web interface)
Configuration
The RTK correction data source can be configured in two ways:
Configure the built-in NTRIP client to connect to an NTRIP caster of your choice.
This requires that the sensor has network (internet) access to the caster server.
In this mode, the sensor automatically sends its location to the caster
Automatic position from GNSS
Manually configured reference position
When using NTRIP, all fields in the form have to be filled in. If the NTRIP caster does not use a login, put
dummy
ornone
for both of the User and Password fields. A Mountpoint is always required.
Configure to use RTCM3 data received on the serial port or TCP port 21000
This requires the user to send appropriate RTCM3 messages at appropriate rates on the serial port (UART1).
In this mode, the sensor DOES NOT send its location.
Manual RTK reference position
These screenshots show the difference between automatically determined position (Fig. 1a, 1b) and manually configuring a position (Fig. 2a, 2b).
RTK corrections via serial port
The requirements on the correction data for input of RTK corrections via serial port are the same as for obtaining them via NTRIP.
In this configuration the built-in NTRIP client in the VRTK2 sensor is disabled and the sensor does not need an Internet connection for the correction data. It is entirely up to the user to provide the correct correction data on the serial port.
The System Info page shows the following information when sending RTCM3 messages on the serial port to the VRTK2:
“rx” shows the number of bytes received on the serial port
“rtcm3” shows the number of RTCM3 messages received on the serial port
Note: the same procedure works for inputting the RTCM3 data via TCP port 21000.
Streaming RTCM to the VRTK-2 with local NTRIP caster
Alternatively using the built-in NTRIP client to connect to the internet, it can also connect to a local IP address. One can set up a local NTRIP caster, which can then be used by the VRTK2 sensor (or multiple sensors!).
Here is an example setup to demonstrate the concept of a local NTRIP caster. The example uses data received from a serial port (for example, a reference station receiver). This serial port input can be replaced with other data sources (e.g. a raw TCP/IP socket)
For this, we run the str2str
program (download links below) on a host system that is network-connected with the VRTK2 (any network connection will work).
On the host system run the following command:
str2str -in serial://ttyUSB1:115200 -out ntripc_s://:12345/BASE
This gets the data from the serial port ttyUSB1
at baudrate 115200
(the exact string to use depends on the host system, refer to str2str documentation for other options) and offers an NTRIP caster server on port 12345
with the mountpoint name BASE
(a different name can be chosen if desired).
On the VRTK2 we can now configure this local caster as the source for the correction data (the IP address depends on the host system and local setup choices):
The VRTK2 can now get the data from this caster, which in turn has the data from a serial port.
Note that the screenshot is from a bad location and the second GNSS receiver has no antenna connected. Therefore, GNSS 1 is only “RTK float” and GNSS2 has no signals or fix at all.
The output of the str2str
shows something like this:
stream server start
2022/01/25 16:14:15 [CW---] 0 B 0 bps (0) /dev/ttyUSB1 (1) waiting...
2022/01/25 16:14:20 [CW---] 21693 B 33888 bps (0) /dev/ttyUSB1 (1) waiting...
2022/01/25 16:14:25 [CW---] 42725 B 33584 bps (0) /dev/ttyUSB1 (1) waiting...
2022/01/25 16:14:30 [CW---] 63984 B 33987 bps (0) /dev/ttyUSB1 (1) waiting...
2022/01/25 16:14:35 [CW---] 85334 B 34172 bps (0) /dev/ttyUSB1 (1) waiting...
2022/01/25 16:14:40 [CW---] 106672 B 33948 bps (0) /dev/ttyUSB1 (1) waiting...
2022/01/25 16:14:45 [CC---] 128133 B 34363 bps (0) /dev/ttyUSB1 (1) 10.0.1.1
2022/01/25 16:14:50 [CC---] 149344 B 34068 bps (0) /dev/ttyUSB1 (1) 10.0.1.1
2022/01/25 16:14:55 [CC---] 170778 B 34283 bps (0) /dev/ttyUSB1 (1) 10.0.1.1
2022/01/25 16:15:00 [CC---] 192298 B 34446 bps (0) /dev/ttyUSB1 (1) 10.0.1.1
2022/01/25 16:15:05 [CC---] 213942 B 34455 bps (0) /dev/ttyUSB1 (1) 10.0.1.1
...
We can see how it connects to the serial port (stream (0)
), receives data, and waits for connections on stream (1)
(the -out
put stream) and how a client connects after a while.
Alternatively, to the str2str
command line tool, the strsvr
GUI program can be used in the same way:
The str2str
and strsvr
programs are part of the open-source “RTKLIB”. The “rtkexplorer” version of that has the NTRIP caster functionality. It can be downloaded here:
https://github.com/rtklibexplorer/RTKLIB – source code
https://rtkexplorer.com/pdfs/manual_demo5.pdf – the manual (for all parts of “RTKLIB”)
https://github.com/rtklibexplorer/RTKLIB/releases – Windows binaries
Note that there are several versions of “RTKLIB” floating on the internet and/or are part of Linux distributions. Not all of them have a str2str
(and strsvr
) with the NTRIP caster functionality.
Another possibility with str2str is multiplexing a single RTK correction source to multiple clients. The source can be a serial port, a raw TCP/IP connection, or an NTRIP client. The str2str caster can handle multiple clients. Note that this does not work for VRS type correction sources.