Partenaires

CNRS
RESIF
DT
UNAVCO Facility

Rechercher

sur ce site

sur web cnrs


Accueil > Documentation technique > télécommunications > Get a ntrip server with a Topcon receiver

Get a ntrip server with a Topcon receiver

par Olivier Charade - 9 octobre 2015

Station PAT0 is a NETGA3 receiver belonging to the IP network of Patras University. A pc under Linux (Suse) works with it through IP protocol.

The receiver is already issuing 1 second data in hourly files which are downloaded by the pc. The pc translates them into RINEX files and uploads them to EUREF servers.

I had to add a real time data stream from the receiver to EUREF ntrip caster.

By roaming under GRIL among receiver parameters, you find out that it knows ntrip :

print,/par/ntrip:on
RE02A/par/ntrip={mode=off,state=off,timeout=30,
RE047 caster={addr=0.0.0.0,port=0,mountpt="",user="",nmea=0,protocol=ntrip1,
RE013  mask="",init=all,
RE01F  proxy={addr=0.0.0.0,port=0}},
RE01D server={addr=0.0.0.0,port=0,
RE00B  mountpt={
RE015   name="",descr=""},
RE024  user="",passwd="",protocol=ntrip1,
RE01F  proxy={addr=0.0.0.0,port=0}},
RE02C data={port=/dev/ser/b,imode=cmd,omode=std},
RE00E error="none"}

As Topcon technical support took time for answering to my questions, I first set up a real time data stream going through the pc which was already dealing with data files.
I worked the same way I describe in temps reel sur IP

I had first to check which RTCM3 messages were known by the receiver :

print,/msg/rtcm3:on
RE023/msg/rtcm3={1003={1.00,0.00,0,0x0},
RE018 1004={1.00,0.00,0,0x0},
RE018 1011={1.00,0.00,0,0x0},
RE018 1012={1.00,0.00,0,0x0},
RE019 1005={10.00,0.00,0,0x0},
RE019 1006={10.00,0.00,0,0x0},
RE019 1007={10.00,0.00,0,0x0},
RE019 1008={10.00,0.00,0,0x0},
RE018 1019={0.00,0.00,0,0x2},
RE018 1020={0.00,0.00,0,0x2},
RE019 4087G={0.00,0.00,0,0x2},
RE019 4087N={0.00,0.00,0,0x2},
RE019 1033={10.00,0.00,0,0x0},
RE019 4091i={1.00,0.00,0,0x0},
RE01A 4091t={10.00,0.00,0,0x0}}

I found in a document about ntrip that needed messages were messages 1004, 1007, 1008 and 1009. We have only got the first three.

So I activated the issue of these three messages on port e every second.
em,/dev/tcp/e,/msg/rtcm3{/1004,/1007,/1008}:1.0

Then I set up the pc :

The input parameters for ntripserver command are
-M 2 -H 150.140.182.13 -P 8002 -x e -y T225122
which means : IP connection to the receiver, on port 8002 (as usual with Topcon receivers), as session e, with "Telnet" password.

As for the output paramaters, I asked BKG how people usually tested their server. They maintain a caster dedicated to tests and they created a mount point for me. So I got all the output parameters I needed for my ntripserver command :
-O 1 -a www.euref-ip.net -p 80 -m OLIVER -n DUMMY -c nsp-euref

One can then see how the data stream is working on a web page at BKG

In order to get some statistics on the data stream toward clients, I downloaded the lightest ntrip client programme on my Windows computer in my office in Meudon. I opened a DOS window and I run :
C:\Users\charade\Downloads>ntripclient.exe -M 1 -s www.euref-ip.net -r 80 -m OLIVER -u DUMMY -p nsp-euref
Then I got every second on my screen what I supposed to be RTCM3 messages

When Topcon support eventually answered my questions, I try to set up a direct real time data stream from the receiver to EUREF.

Here are the commands Topcon support gave me so as to make the receiver a ntrip server. Command « disable message » is there to erase remains of previous trials if any. Each RTCM3 message is individually activated. So they could very well be issued at different periods :

set,dev/ntrip/a/imode,cmd
dm,/dev/ntrip/a
em,/dev/ntrip/a,rtcm3/1004:{1.000000,0.000000,0,0x0}
em,/dev/ntrip/a,rtcm3/1012:{1.000000,0.000000,0,0x0}
em,/dev/ntrip/a,rtcm3/1006:{1.000000,0.000000,0,0x0}
em,/dev/ntrip/a,rtcm3/1008:{1.000000,0.000000,0,0x0}
em,/dev/ntrip/a,rtcm3/4091t:{1.000000,0.000000,0,0x0}
em,/dev/ntrip/a,rtcm3/1033:{1.000000,0.000000,0,0x0}

Apparently, ntrip is working on one port only. So it wouldn’t be possible to feed several casters.

set,/par/ntrip/data/port,/dev/ntrip/a
set,/par/ntrip/caster/addr,"www.euref-ip.net"
set,/par/ntrip/caster/port,80
set,/par/ntrip/caster/mountpt,OLIVER
set,/par/ntrip/caster/user,DUMMY
set,/par/ntrip/caster/passwd,nsp-euref
set,/par/ntrip/mode,server

The password never appears in the list of parameters for security reason..

The last ntrip parameter of the list is dedicated to error messages and so we can see that, unfortunately, something goes wrong. If anybody finds out what I did wrong, I’ll be more than happy to modify this article.

RE02E/par/ntrip={mode=server,state=wait,timeout=30,
RE045 caster={addr=www.euref-ip.net,port=80,mountpt="OLIVER",user="DUMMY",
RE02A  nmea=0,protocol=ntrip1,mask="",init=all,
RE01F  proxy={addr=0.0.0.0,port=0}},
RE01D server={addr=0.0.0.0,port=0,
RE00B  mountpt={
RE015   name="",descr=""},
RE024  user="",passwd="",protocol=ntrip1,
RE01F  proxy={addr=0.0.0.0,port=0}},
RE02E data={port=/dev/ntrip/a,imode=cmd,omode=std},
RE024 error="Socket connect failed 125 "}