str2str is a commandline interface where it accepts input data from a stream and then divides the output stream across multiple output options.

The input stream can be :

  1. serial,
  2. TCP client,
  3. TCP server,
  4. NTRIP client
  5. file.

The output stream can be :

  1. serial,
  2. TCP client,
  3. TCP server,
  4. NTRIP server,
  5. file.

My notes here will explore my journey with str2str. For those who’s usecase isn’t covered as yet, I encourage you to read the header of str2str.c. Feel free to ask questions, share findings, as we learn and grow together.


NTRIP client -> File

Static VRS station

Saving the NTRIP live stream to a file and generating a timetag file (T) to facilitate the replay with rtkrcv.


Dynamic VRS station

If you are connecting to a (N)RTK service that requires the position of the receiver

./str2str.e -in ntrip://USERNAME:PASSWORD@SERVER:PORT/MOUNTPOINT -p 41.5 1.0 0.0 -n 1 -out MOUNTPOINT.rtcm3::T

The flags -p (position) and -n (request cycle) do the trick.

TODO : Test So a full message type string for legacy GPS+GLO might look like this: “1004(1), 1005(10), 1012(1)” If you wished to use MSM messages, the string might be this: “1005(10), 1077(1), 1087(1)” etc.

Source :