Please describe how one, using an RTK FACET, can generate and retrieve a RINEX data file for PPP processing, without requiring hacking or extraordinary procedures.
Here is a tutorial using simpleRTK3B which may give some clues. But looks like nobody has done the same with SparkFun RTK Facet.
Thanks for the hint, but there should be a more straightforward approach to the problem.
To get started, we need a source for the RINEX file. RTK FACET can be configured to store a file with the suffix UBX on its memory card which, presumably, contains the information which is supposed to be in the RINEX file. Does anyone know how to construct a RINEX file from a UBX file?
RTKLIB (https://github.com/rtklibexplorer/RTKLIB/releases) seems to be the standard toolset for converting UBX files to RINEX files, but it doesn’t seem to work with the UBX files generated by a SparkFun Facet and stored on its memory card.
Does anyone know why the RTKCONV.EXE program in the RTKLIB cannot convert a UBX file from a RTK FACET device to a RINEX file? This is an essential step in the process of Precision Point Positioning or PPP (https://en.wikipedia.org/wiki/Precise_Point_Positioning)?
Does anyone know how to work with a UBX file generated by a SparkFun Facet?
This tutorial should help: https://learn.sparkfun.com/tutorials/ho … tation/all
It shows step by step how to obtain the RAWX data to a log file, convert that log file (using RTKLIB) to RINEX, then submit that file to CSRS.
Hmm, I see now this tutorial is written from the view of a bare ZED-F9P breakout board and the RTK Facet could benefit from its own step by step process. It would look something like this:
-
Using the WiFi AP Config (https://sparkfun.github.io/SparkFun_RTK … with_wifi/) or serial (https://sparkfun.github.io/SparkFun_RTK … th_serial/), reset the messages to ‘Logging Defaults’ (https://sparkfun.github.io/SparkFun_RTK … eax5-rxmx2)
-
Log for 4 to 24 hours
-
Convert log files to RINEX using RTKLIB (see https://learn.sparkfun.com/tutorials/ho … -gnss-data)
-
Submit to CSRS-PPP
-
Enter coordinates into RTK Face fixed base mode.
The RTK Facet is not capable of saving a RINEX file directly, we have to rely on RTKLIB to convert the RAWX/SFRBX messages to RINEX.
I have already done that, but the file which I recovered from the memory card does not convert with the RTKCONV program in RTKLIB.
I tried to attach a small (10 mb) ubx file to this reply, but it was rejected as being too large and because it had a ubx suffix.
Have you actually converted a ubx file from a RTK FACET to a RINEX file?
If you would like to evaluate my ubx file, please tell me how I can send it to you.
Also, please note that the options on the CONFIG page do not include the “Messages Menu” that you cited. I have no idea how to get to the Messages Menu in an RTK FACET, because there is no documentation on doing so. However, I executed the “factory default” function. Please let me know if that was not sufficient.
Here are the first few lines of the UBX file on the memory card from inspection with Microsoft File Viewer Plus:
$GNTXT,01,01,00,ESP_RST_POWERON*1C
$GNTXT,01,01,03,v1.10-Feb 21 2022*57
$GNTXT,01,01,04,HPG 1.13*37
$GNRMC,211458.75,V,310522,N,V*17
$GNGGA,211458.75,0,00,99.99,*71
$GNGSA,A,1,99.99,99.99,99.99,1*33
$GNGSA,A,1,99.99,99.99,99.99,2*30
$GPGSV,2,1,08,02,52,051,38,05,79,262,36,06,13,080,11,11,47,053,34,1*63
$GPGSV,2,2,08,12,30,210,23,13,24,149,18,20,63,033,40,25,35,261,24,1*6E
$GPGSV,1,1,04,15,12,186,18,06,280,19,01,133,29,35,319,0*62
$GLGSV,1,1,03,69,68,133,33,70,17,193,31,82,00,111,30,1*4B
$GLGSV,2,1,06,68,39,039,74,12,257,75,11,308,83,34,084,0*7B
$GLGSV,2,2,06,83,34,084,84,49,356,0*7E
$GNGST,211458.75,0.0000,3253521,3253521,92,1308737,1308737,1308737*42
$GNRMC,211459.00,V,310522,N,V*14
$GNGGA,211459.00,0,00,99.99,*72
$GNGSA,A,1,99.99,99.99,99.99,1*33
$GNGSA,A,1,99.99,99.99,99.99,2*30
$GNGST,211459.00,0.0000,3253521,3253521,92,1308737,1308737,1308737*41
$GNRMC,211459.25,V,310522,N,V*13
$GNGGA,211459.25,0,00,99.99,*75
$GNGSA,A,1,99.99,99.99,99.99,1*33
$GNGSA,A,1,99.99,99.99,99.99,2*30
$GNGST,211459.25,0.0000,3253521,3253521,92,1308737,1308737,1308737*46
$GNRMC,211459.50,V,310522,N,V*11
$GNGGA,211459.50,0,00,99.99,*77
hello , i just want to share an idea , there is Emlid studio that reads UBX file (free software) , will it work ? try and tell us (https://docs.emlid.com/emlid-studio/)
Hello tomdonald,
The u-blox GNSS module inside the Facet can output data in different formats. The most important are NMEA and UBX. NMEA is human-readable. It is what the very first GNSS (then GPS) receivers outputted. Each message starts with a message type, e.g. $GNGGA. UBX is very different. It is binary format and not human-readable. If you try to print it, or look at it with a standard text editor, it will look like garbage. The data in your most recent post is all NMEA. I do not see any hints of UBX in there.
To be able to calculate RINEX data, you need to configure your Facet so it logs both UBX UBX-RXM-RAWX and UBX-RXM-SFRBX messages. Those contain the raw data from the satellite signals. RTKLIB can be used to convert RAWX and SRFBX into RINEX. The u-blox module cannot output RINEX data directly. If your log file does not contain RAWX and SFRBX, then RTKLIB will not be generate RINEX. I do not have a Facet, but, looking at the on-line manual, once you have selected the defaults for logging then it should be logging both RAWX and SFRBX. Take your system outside, log data with a clear view of the sky, and RTKLIB should have no difficulty converting it to RINEX for you.
From your data, your system had only just been switched on - I see the POWERON message. I do see all the correct NMEA messages (GGA, GSA, GST, GSV, RMC). It was probably receiving at least one satellite as I see GNGGA contains the time. So I would have expected to see a little UBX data there too. But maybe it was just too early. If you look toward the end of the file, do you see the ‘garbage’ UBX data interleaved with NMEA?
I hope this helps,
Paul
Paul:
Thanks for the help.
With my RTK FACET, I have not yet discovered any means for specifying the format of the data stored on the memory card. The only function available is to reset to factory defaults, which I have done.
On further experimenting, I have renamed the UBX file to TXT. When the txt version is opened, I get the same text which I posted earlier from the Microsoft File Viewer utility. This shows that the UBX file being created by the RTK FACET is a NMEA file, even though it is labeled as a UBX file. That is the problem.
I will now try discover a way to make my RTK FACET generate a real UBX file, instead of a NMEA file disguised as a UBX file.
Is there anyone from SparkFun out there who can help in this matter?
SPARKY:
My RTK FACET was delivered to me on 17May2022.
Its identifying information is:
rtkIdentifier=26
rtkFirmwareVersion=v1.10-Feb 21 2022
zedFirmwareVersion=HPG 1.13
I seems to be factory defaulted to creating a NMEA file (incorrectly labeled as a UBX file )on its memory card. There is no way to change the data file format on the CONFIG page.
When will there be a firmware update so that my RTK FACET will create a true UBX version of the ubx file on its memory card?
Will I be able to install this update via WiFi?
Hi tomdonald - Please be patient while we write an additional document to support you and other users.
(incorrectly labeled as a UBX file )on its memory card.
UBX is the correct file extension as this file can contain both ASCII NMEA data and binary RAWX data.
There is no way to change the data file format on the CONFIG page.
There is, as we’ve linked to in a previous message: https://sparkfun.github.io/SparkFun_RTK … _messages/ You need to click on the NMEAx5 + RXMx2 button.
Cheers,
-Nathan
Nathan:
Thanks for the post. Please bear with me. I am trying hard.
I can not find a “NMEAx5 + RXMx2” button on the CONFIG screen of my RTK FACET. That is the problem.
Can you please give me a hint regarding any tricky way of accessing this option.
Nathan:
I might have found your button. It is hidden under “Message Rates”.
Under “Message Rates” there is a button “Reset to Logging Defaults (NMEAx5 +RXMx2)”. Clicking on the button doesn’t seem to do anything, but beneath it are boxes for setting many parameters regarding which I have no knowledge.
How should I set these many parameters in order to get the kind of UBX file which I need?
Hi tomdonald - We’ve got a good addition to the RTK Product Manual. Please have a look at https://sparkfun.github.io/SparkFun_RTK … nent_base/
To answer your question: https://sparkfun.github.io/SparkFun_RTK … g-via-wifi
“Pressing the NMEAx5 + RXMx2 message button will turn off all messages and enable the following messages: NMEA-GGA, NMEA-SGA, NMEA-GST, NMEA-GSV, NMEA-RMC, RXM-RAWX, RXM-SFRBX”
In other words, the button auto-fills the messages you need. You can hit save and then exit.
Please read through the ‘Creating a Permanent Base’ document and let us know what other questions or concerns you have.
Sparky:
I have pressed the NMEAx5 + RXMx2 message button, and saved and exited. (Nothing appeared to happen when I pressed the button, though the screen jumped a little.)
When I, thereafter, operated the RTK FACET in rover mode for ten minutes, a UBX file was stored on the memory card. When I changed the file name suffix to txt, I was able to view the plain text.
This suggests that data is still not being saved in the binary mode required for conversion to a rinex file.
Have you actually done what I have described with a RTK FACET of my version, and gotten data which you converted to a rinex file? That would be a good test of things.
What should I try next?
Sparky:
I posted a response to your Wed Jun 01, 2022 1:06 pm message at 2:41 pm yesterday, but it seems to have become lost. I will try to reproduce it here.
I have found a button labeled “Reset to Logging Defaults (NMEAx5 +RXMx2)”. I have not found a button labeled simply “NMEAx5 +RXMx2". When I press the button which I found, nothing on the screen changes, except for a slight movement of the text. The message you described in your post did not appear.
Nevertheless, I hit “save” and then exited. I, thereafter, put my RTK FACET in rover mode for ten minutes during which it recorded a UBX file on the memory card. As you will recall, we have established that there are two types of UBX files, one comprised of text and one in binary. It is impossible to tell the difference from the file name.
In order to determine which type of UBX file was generated by my RTK FACET, I changed the file name suffix from ubx to txt, and tried to view the file with the notepad application. I was able to view it as text. It was apparently not in the binary format which is required for conversion by the RTKCONV application (in RTKLIB) to a RINEX file.
It appears that my RTK FACET version is not the same version as the device which you are apparently working with in giving me advice. My RTK FACET was delivered to me on 17May2022. Its identifying information is:
rtkIdentifier=26
rtkFirmwareVersion=v1.10-Feb 21 2022
zedFirmwareVersion=HPG 1.13
What can we do to resolve this problem?
Tom
Sparky:
Since we seem to be making absolutely no progress here, I propose that you produce a small UBX file on your RTK FACET which can be converted to a RINEX file with RTKCONV. Then, email it to me. John Trepke knows my email address.
I will then be able to test the conversion process, and I will be able to compare your file with the files I can produce on my RTK FACET. By doing this, we will probably learn something to help us move forward.
Tom
Not sure if this has been resolved, but have been doing PPP processing fine on my RTK Express & RTK Facet for some months now.
I just looked at a logged UBX file, and can see both ASCII and binary in the file (which correlates to the information given by support earlier). If you are only getting NMEA text then it would sound like the settings are not sticking when you hit the button in the WiFi GUI. If I can be of any help let me know. I can certainly send you a file of how it should look like.
I have had no problems whatsoever converting using RTKConv either, though granted the input file needs to be in the right format in the first place, which sounds like half the problem.
Cross-linking to this post: