RTKBase: a GUI for your own Gnss Base Station

Usually you use your router’s configuration web page to set up forwarding for a specific port (2101).

That said, are you just wanting to access the local ntrip server on rtkbase? If it were me, and if vpn wasn’t an option, I would just have rtkbase send to a caster service like rtkdata.local, centipede.fr, or rtk2go. Personally I do not recommend opening up rtkbase onto the internet in general.

i use emlid as caster, i just opened the port to rtkbase so i can restart my base if needed.

Can I place antenna indoor to test connection with caster?

I surveyed in my base and sent the results in to PPP. Do I need to set those coordinates on the f9p or will putting the coordinates in the “Base Coordinates” on rtkbase do that for me?

You can put those coordinates in the “Base Coordinates” on rtkbase, you don’t have to do anything else.

Those coordinates are also good to use as your AOG simulator coordinates.

If you used NRCAN for the PPP, note that the pretty document they send you is just a link to their server. The link doesn’t stay active very long. So if you want to go back a year from now and look at the pretty document, it won’t be in your inbox, save it locally!

If you are done with PPP then for maximum SD card longevity you should turn off the auto logging now. No sense writing to the SD constantly, and power interruptions while writing is how things become corrupted.


Should those two be that far off?
I used the estimated position, not the A-Priori

Calcul de la position de la base | Centipede RTK follow this guide all the way to the bottom. The position you got from Canada need to be transformed to your local koordinat system
It is in France use Google translate

2 Likes

Could well be that far off. Doesn’t matter. I sometimes just use google earth to pin the location, and use that in the base station. Coordinate system, surveying, and PPP all don’t matter unless you’re trying to be compatible with other base stations for sharing lines, etc. Or if you’re doing any kind of official surveying.

For my permanent base station, I just did a quick survey in a few years ago and have used that coordinate ever since. that’s all I need to get accuracy and repeatability. I don’t care about sharing lines or maps with neighbors.

Small RTKBase update to fix the Werkzeug problem

Changelog

[2.4.2] - 2023-11-10

Fixed

  • Pin Werkzeug module to v2.2.2 to fix dependencie failure. #330
2 Likes

I know the way it works isn’t perfect, but I don’t have a better solution at the moment, I didn’t find a way to output logs only when errors occurs.

I’ve tested several method and forking was the only one which was working correctly. But it was 3 or 4 years ago. Maybe I was wrong.

I plan to add some udev rules to get a permanent /dev/ttyGNSS value. But this won’t help for radio link. I will try to take some time to take a look at your commit. Thanks.

2 Likes

By the Way :

:warning::warning::warning:
Don’t try to install RTKBase on Raspberry Os / Armbian Bookworm right now, it won’t work.
:warning::warning::warning:

If you really need it, I can give you a link to a beta release.

1 Like

EDIT: I read the changelog and yes venv. Great, thank you. I got it running on Bookwork with a venv. will be good to have that in the official release.

Now that recent versions of Debian an Ubuntu have an up-to-date policykitd in them, it should be possible to start and stop services from an ordinary user. Then rtkbase_web.service wouldn’t have to run as root. Any plans on looking into that? Should just be a matter of some simple policykit rules to allow start and stop from whatever user rtkbase is using (perhaps default to creating a “rtkbase” user in the future).

At that point, packaging rtkbase as a deb might be a good thing as well. Software distribution on Linux is rather fraught still after all these years!

I’m not sure if this is the right place to ask, but is it possible to set up RTKBase as an ETRS89 base station? (for UK)
Is it as simple as entering known my ETRS89 location in the web GUI, hitting Save, and that’s it? And if ss how would the rover / receiver the other end know that the coordinate reference system was ETRS89 and not WGS84? thanks :pray:

Yes, it is as simple as entering the coordinates in the CRS you want, and on the centipedeRTK network, it’s recommended to use the local plate-fixed CRS.
The base station CRS is displayed on the map :

My own base is in RGF93, (= ETRS89 in France)
image

Another base station in Romania, in ITRF
image

1 Like

Thanks for the headup.
I’ll take a look at this new Policikit version, but I there are still many users on Buster and Bullseye. Right now I don’t know how I’ll manage this.

Thank you very much for the swift reply Stefal. I dont actually use any re-caster like centipede, I pick up the NTRIP stream direct from your RTKbase caster in an iPhone app i’m developing using ArcGIS SDK Swift, where I can explicitly specify the coordinate system of any NMEA stream that I draw in.

The iphone connects via bluetooth to a simpleRTK2B and then feeds the RTKbase NTRIP data stream (which it gets over 4G) back up to the simpleRTK2B over bluetooth, and the simpleRTK2B in turn sends an NMEA stream back. It basically works very well, it is just not very obvious to me at what point in the process the CRS of the NTRIP or NMEA stream is defined. The default assumption by the app is that it’s WGS84 and of course I can change that easily manually in the app.

What I haven’t been able to find any info on is where the CRS would conventionally be defined / broadcast in this kind of setup so that the NTRIP client automatically knows the CRS? Is it

  1. on the wider caster (e.g. centipede, not RTKbase) - I dont use centipede but from what you say you this is the case, and you do enter the CRS manuallly here. So I assume the CRS is either given to the client when it first connects to the mount point, or repeatedly within the NTRIP data stream
    or 2) in the UBlox ZED F9P config, so that the stream from RTKBase is already broadcasting the correct CRS somehow to centipede or other caster. I haven’t risked touching this though, lest I upset RTK Base!

btw, there is an option to set the RTK base coordinates in U-Center in LLH / ECEF… does RTKBase essentially ignore those / they have no effect?

thanks

Piers

I am wondering why you need that info? I use lefebure ntrip client on my phone, and Bluetooth to my F9P. I have never been asked such question. Base station setup is almost like in AOG (for ntrip) . Is lefebure not available for iPhone?

Could you expand more on the Bluetooth with iPhone and simpleRTK2B? What kind of Bluetooth module do you use? What kind of app do you use to take the NTRIP data and send it to Bluetooth?

I think Lefebure might just be for Android, not iphone, so I’m not able to try it.

WildBuckwheat, yes sure, I’ve written an app in XCode Swift on mac, which uses CoreBluetooth’s CBCentralManager to connect a bluetooth device, namely the simpleRTK2B + Bluetooth Module. ( I have actually used the Wifi NTRIP Master and reflashed it as Bluetooth Module, which is fairly straightforward - they are the same hardware)

The Swift / iPhone EAAccessory bluetooth framework doesn’t work because simpleRTK2B uses bluetooth BLE - you need to use CoreBluetooth.

The above setup gives you a serial NMEA stream coming in to the app from bluetooth.

Then I use the AlamoFire package to set up a StreamRequest to get the NTRIP data from the RTKBase NTRIP caster over my phone’s 4g or wifi.

And then every time I get any NTRIP data coming in, I forward that data on out of the bluetooth BLE serial port back to the simpleRTK2B. Once you start sending the NTRIP data back up the pipe like this, the NMEA starts increasing in accuracy and usually after about 30 seconds has converged to an RTK Fix of about 1.5cm horizontal. It works well. Happy to share bits of code if you want.

1 Like