Rust client library to connect to Network Transport of RTCM via Internet Protocol (NTRIP) server. (RTCM stands for Radio Technical Commission for Maritime services and is the message type carrying GNSS correction signals to enable centimeter-resolution GNSS position finding.)
See also the ntrip-client
crate. I
was unaware of this other crate at the time I began writing
robust-ntrip-client
.
In addition to the robust-ntrip-client
crate, this repository contains an
example program which may be interesting.
#[tokio::main]
async fn main() -> eyre::Result<()> {
let raw_client = robust_ntrip_client::RobustNtripClient::new(
"ntrip://username:[email protected]/mountpoint",
Default::default()
).await?;
let mut ntrip = robust_ntrip_client::ParsingNtripClient::new(raw_client);
loop {
let msg = ntrip.next().await?;
println!(
"message {}: {} bytes",
msg.message_number(),
msg.frame_data().len()
);
}
}
- CLI program to listen to NTRIP data source.
cargo run --example ntrip-client -- NTRIP_URL
Where NTRIP_URL
would be something like ntrip://username:password@host[:port]/mountpoint
.
MIT OR Apache-2.0, at your choice.
Funded by the Deutsche Forschungsgemeinschaft (DFG) project 543356743, "Enhancing Insect Tracking Precision from Drones: Fusing Multiple Sensor Data to Estimate Insect Position with Quantified Uncertainty" awarded to Andrew Straw as part of SPP 2433: Metrology on flying platforms.