Question about the start of NTRIP connection between the NTRIP server and the base station. #55
-
As a way of learning about an NTRIP system, I want to implement a "super basic" NTRIP system consisting of a basic NTRIP server, a client (rover), and a single base station. The three components, NTRIP server, rover, and base station, would be implemented solely by code (neither the rover nor the base station would be physical, only code). The three codes would be implemented on my computer in my Visual Studio Code. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 1 reply
-
I'm not sure if I fully understand your intention, but synthesising viable RTCM messages from scratch in software (as opposed to using an external RTK source or RTK-enabled GNSS receiver) is not a trivial undertaking - it would require a consummate understanding of the physics and protocols underpinning RTK technology. If you're learning about NTRIP, I would recommend starting with one of the many public domain NTRIP services such as rtk2go as your "NTRIP Server", and/or a suitable RTK-enabled GNSS recever such as the u-blox ZED-F9P as your "base station" and/or "rover" (NB: I receive absolutely no commission or advertising revenue from u-blox or their resellers). In a base station / moving rover configuration, the base station effectively acts as the NTRIP Server to the rover. The base station could itself receive corrections from another third-party NTRIP server, but typically you'd want to calibrate your base station antenna (using accurate surveying techniques) to operate independently. The pygnssutils provides two utilities which might help here:
This quick reference wiki might be helpful for background information. Hope this helps. |
Beta Was this translation helpful? Give feedback.
-
Firstly, please appreciate that the NTRIP and RTCM protocols are proprietary protocols, licensed and published by the Radio Technical Commission for Maritime Services. Some implementation details are effectively in the public domain (e.g. via libraries like RTKLIB) but the definitive documentation is only available via membership subscription or one-off payment of around $400. The pertinent documentation can be found here: RTCM 10410-3 RTCM DGNSS Standards RTCM 10410-1 Standard for NTRIP 2.0 Note, however, that NTRIP is not the only way to pass RTCM data between a base station and a rover - you could simply use Long Range Radio (LoRA) to transmit the raw RTCM data over what is effectively an extended serial connection. This is probably the simpler and more common configuration, but it requires dedicated LoRA hardware. Note there are packages available from providers such as Ardusimple which include all the relevant components as a collection of plug-in modules. But I'm assuming you're only interested in an NTRIP RTK implementation for the purposes of this discussion... NTRIP terminology can be a little confusing. The term "NTRIP Server" refers to the element which provides the RTCM data feed, while the term "NTRIP Caster" essentially refers to the web server which collates the various RTCM data feeds and broadcasts them over the public internet. NTRIP uses the standard HTTP protocol (i.e. TCP sockets) for data transmission, so the connection itself is fairly simple to implement using standard Python Socket or HTTP libraries. The In answer to your questions:
Hope this helps. |
Beta Was this translation helpful? Give feedback.
-
Thank you again for answering and being so clear in your answers, everything you told me clarified the doubts I had, and now I am no longer lost on this topic. |
Beta Was this translation helpful? Give feedback.
Firstly, please appreciate that the NTRIP and RTCM protocols are proprietary protocols, licensed and published by the Radio Technical Commission for Maritime Services. Some implementation details are effectively in the public domain (e.g. via libraries like RTKLIB) but the definitive documentation is only available via membership subscription or one-off payment of around $400. The pertinent documentation can be found here:
RTCM 10410-3 RTCM DGNSS Standards
RTCM 10410-1 Standard for NTRIP 2.0
NTRIP Client Best Practices
Note, however, that NTRIP is not the only way to pass RTCM data between a base station and a rover - you could simply use Long Range Radio (LoRA) to transmit the raw RTCM d…