1GPSRINEX(1)                   GPSD Documentation                   GPSRINEX(1)
2
3
4

NAME

6       gpsrinex - Read data from gpsd convert to RINEX3 and save to a file.
7

SYNOPSIS

9       gpsrinex [--agency AGENCY] [--ant_e EASTING] [--ant_h HEIGHT]
10                [--ant_n NORTHING] [--ant_num NUM] [--ant_type TYPE]
11                [--count COUNT] [--debug LVL] [--fileout FILE] [--help]
12                [--interval INTERVAL] [--marker_name NAME]
13                [--marker_type TYPE] [--observer OBSERVER] [--rec_num NUM]
14                [--rec_type TYPE] [--rec_vers VERS] [--version] [-D LVL]
15                [-f FILE] [-h] [-i INTERVAL] [-n COUNT] [-V] [server [:port
16                [:device]]]
17

DESCRIPTION

19       gpsrinex is a tool to connect to gpsd and output the received raw
20       measurements as a RINEX 3 observation file. This is useful for sending
21       raw measurements (pseudorange and carrierphase) from gpsd to a Precise
22       Point Positioning (PPP) program or service.
23
24       gpsrinex does not require root privileges, and can be run concurrently
25       with other tools connecting to a local or remote gpsd without causing
26       problems.
27
28       gpsrinex needs the GPS receiver to be sending raw measurements to gpsd.
29       Only a few GPS have this capability. In addition, the gpsd driver for
30       that GPS must support raw mode. Currently only the u-blox driver has
31       this support. Only a few u-blox 8 GPS implement the required
32       UBX-RXM-RAWX message. The NEO-M8T is known to work, but requires
33       configuration with ubxtool.
34
35       Before using ubxtool be sure to set the UBXOPTS environment variable
36       with the correct protocol version for your u-blox receiver. If your
37       protocol version is 32.00, you would do this:
38
39           export UBXOPTS="-P 32.00"
40
41       RINEX has its own definitions and abbreviations. Be sure to consult
42       their documentation. An observation file (.obs) contains data sets,
43       called epochs, that contain the pseudorange and carrierphase for each
44       satellite seen.
45
46       gpsrinex by default will acquire 20 epochs spaced apart by 30 seconds.
47       That will take 10 minutes to complete. Most users consider the 30
48       second interval to be optimal. Many PPP programs require at least 1 or
49       2 hours data, but no more than 24 or 48 hours of data. Most users
50       consider 4 to 6 hours of data as a minimum for good accuracy.
51       Additional hours will not yield much improvement.
52
53       The output will consist of one RINEX 3 observation file that is ready
54       to be read by your PPP program. The default filename will be in the
55       form: gpsrinexYYYYJJJHHMMSS.obs. You can override this filename with
56       the -f option.
57
58       Optionally a server, TCP/IP port number and remote device can be given.
59       If omitted, gpsrinex connects to localhost on the default port (2947)
60       and watches all devices opened by gpsd.
61

OPTIONS

63       -?, -h, --help
64           Print a usage message and exit.
65
66       -D LVL, -debug LVL
67           Set debug level to LVL.
68
69       -f FILE, --fileout FILE
70           save RINEX into FILE.
71
72       -i SECS, --interval SECS
73           wait [interval] seconds between epochs. The interval can be
74           specified to the millisecond. OPUS accepts intervals of 1, 2, 3, 5,
75           10, 15 or,30 seconds. OPUS then reduces the data to 30 second
76           intervals. Default is 30.000.
77
78       -n COUNT, --count COUNT
79           Causes COUNT epochs to be output. OPUS requires a minimum af 15
80           minutes, and a maximum of 48 hours, of data.
81
82       -V, --version
83           makes gpsrinex print its version and exit.
84
85       The following options set strings that are placed in the generated
86       RINEX 3 obs file. They do not change how gpsrinex computes anything.
87
88       --agency AGENCY
89           The name of the agency creating the current file.
90
91       --ant_num NUMBER
92           The antenna serial number.
93
94       --ant_type TYPE
95           The antenna type.
96
97       --marker_name NAME
98           The marker name.
99
100       --marker_type TYPE
101           The marker type
102
103       --observer OBSERVER
104           The name of the observer (you).
105
106       --rec_num NUM
107           The receiver serial number.
108
109       --rec_type TYPE
110           The receiver type.
111
112       --rec_vers VERS
113           The receiver version.
114
115       The following options set floating point numbers that are placed in the
116       generated RINEX 3 obs file. They do not change how gpsrinex computes
117       anything.
118
119       --ant_e EASTING
120           The antenna easting from marker in meters.
121
122       --ant_h HEIGHT
123           The antenna height from marker in meters.
124
125       --ant_n NORTHING
126           The antenna northing from marker in meters.
127

EXAMPLES

129       Example 1:
130
131       Create a 4 hour .obs file. With a running gpsd accessible on the
132       localhost do all of the following, in order. Order matters.
133
134       The raw measurement messages are long. Be sure your serial port speed
135       is high enough:
136
137           gpsctl -s 115200
138
139       Disable all NMEA messages, and enable binary messages:
140
141           ubxtool -d NMEA
142           ubxtool -e BINARY
143
144       The NEO-M8N will only reliably output raw measurements when only the
145       GPS and QZSS constellations are enabled. If your PPP service can use
146       GLONASS, then enable that as well. Be sure to disable, before enable,
147       so as not to momentarily have too many constellations selected.
148       ubxtool, as recommended by u-blox, enables the QZSS constellation in
149       tandem with GPS. Disable all constellations, except GPS (and QZSS):
150
151           ubxtool -d BEIDOU
152           ubxtool -d GALILEO
153           ubxtool -d GLONASS
154           ubxtool -d SBAS
155           ubxtool -e GPS
156
157       Verify the constellations enabled:
158
159           ubxtool -p CFG-GNSS
160
161       Enable the good stuff, the raw measurement messages:
162
163           ubxtool -e RAWX
164
165       Verify raw data messages are being sent:
166
167           ubxtool | fgrep RAWX
168
169       You should see this output:
170
171           UBX-RXM-RAWX:
172           UBX-RXM-RAWX:
173
174       Collect 4 hours of samples at 30 second intervals, save the RINEX 3
175       observations in the file today.obs:
176
177           gpsrinex -i 30 -n 480 -f today.obs
178
179       Wait 4 hours. Enjoy a meal, or do some exercise. When gpsrinex
180       finishes, upload the file today.obs to your favorite PPP service.
181
182       Example 2:
183
184       Collect raw measurement data from a remote gpsd. The process it later
185       with gpsrinex and gpsprof.
186
187       Ensure the GPS is configured properly, as shown in Example 1.
188
189       Grab 4 hours of raw live data from remote gpsd at 10.168.1.2:
190
191           gpspipe -x 14400 -R 10.168.1.2 > 4h-raw.ubx
192
193       When gpspipe is complete, feed the data to gpsfake:
194
195           gpsfake -1 -P 3000 4h-raw.ubx
196
197       In another window, feed the data to gpsrinex. Use -n 10000000 so that
198       all the data from the raw file is used::
199
200           gpsrinex -i 30 -n 1000000 :3000
201
202       Repeat the process with gpsfake to send the data to gpsprof.
203

SEE ALSO

205       One service known to work with gbsrinex output is at:
206       https://webapp.geod.nrcan.gc.ca/geod/tools-outils/ppp.php
207
208       OPUS requires 2 frequency observation files.
209       https://www.ngs.noaa.gov/OPUS/
210
211       The curious can find the RINEX 3.04 format described here:
212       ftp://igs.org/pub/data/format/rinex304.pdf
213
214       gpsd(8), gpsfake(1), ubxtool(1).
215

AUTHOR

217       Gary E. Miller <gem@rellim.com>.
218
219
220
221The GPSD Project                6 December 2020                    GPSRINEX(1)
Impressum