semuconsulting / pygnssutils

Python GNSS CLI utility library for reading, parsing and broadcasting NMEA, UBX, RTCM3, NTRIP and SPARTN protocols
BSD 3-Clause "New" or "Revised" License
84 stars 25 forks source link

Broadcasting RTCM3 correction data as NTRIP server/caster #69

Closed HamzaCetin0 closed 4 months ago

HamzaCetin0 commented 4 months ago

Hi, thank you for amazing work. I have a question about steaming RTCM data as NTRIP server. I want to stream the RTCM data as a NTRIP server and than some other users(clients) to get the data. I use "gnssserver --inport "/dev/tty.ACM0" --hostip 0.0.0.0 --outport 2101 --ntripmode 1 --protfilter 4 --format 2 --ntripuser myuser --ntrippassword mypassword" command to stream the data. Then on another terminal I run "gnssdump --socket 0.0.0.0:2101" command to connect the localhost and get the RTCM data as a client. After connecting the network on the server side it it shows that I am connected but on the client side nothing happend. I cant see any data flow on the terminal. I dont know what it is wrong. Can you help me with this?

client server

semuadmin commented 4 months ago

Hi @HamzaCetin0,

If your intention is to run gnssserver as an NTRIP Caster, you will need to use an NTRIP Client such as gnssntripclient to receive the data, rather than gnssdump which is basically just a serial parser.

So, based on your example above, you would need to use something like:

gnssntripclient --server localhost --mountpoint pygnssutils --ntripuser myuser --ntrippassword mypassword

You should then see a stream of incoming RTCM3 data something like this...

2024-06-12 11:09:58.030652: Using mountpoint pygnssutils

2024-06-12 11:09:58.034132: <RTCM(1077, DF002=1077, DF003=0, DF004=295816001, DF393=1, DF409=0, DF001_7=0, DF411=0, DF412=0, DF417=0, DF418=0, DF394=234547957876129792, NSat=7, ..., DF404_07=-0.39680000000000004)>
2024-06-12 11:09:58.034893: <RTCM(1087, DF002=1087, DF003=0, DF416=3, DF034=47398001, DF393=1, DF409=0, DF001_7=0, DF411=0, DF412=0, DF417=0, DF418=0, DF394=73751941456330752, NSat=5, ..., DF404_05=0.038700000000000005)>
...etc.

NB: Bear in mind that, for all this to work, the receiver at /dev/tty.ACM0 must be an RTK-compatible receiver (e.g. ZED-F9P) which is configured as an NTRIP base station - gnssserver will not do this automatically. See https://github.com/semuconsulting/pyubx2/blob/master/examples/f9p_basestation.py for an illustration of how to do this using pyubx2, or you could use PyGPSClient's NTRIP Caster functionality.

I'm converting this Issue to a DIscussion Q&A topic - if you have any further queries, please add them to the discussion.

Hope this helps.