Devuan fork of gpsd
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

268 lines
6.9 KiB

  1. '\" t
  2. .\" Title: gpsrinex
  3. .\" Author: [see the "AUTHOR" section]
  4. .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
  5. .\" Date: 09 Nov 2018
  6. .\" Manual: GPSD Documentation
  7. .\" Source: The GPSD Project
  8. .\" Language: English
  9. .\"
  10. .TH "GPSRINEX" "1" "09 Nov 2018" "The GPSD Project" "GPSD Documentation"
  11. .\" -----------------------------------------------------------------
  12. .\" * Define some portability stuff
  13. .\" -----------------------------------------------------------------
  14. .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15. .\" http://bugs.debian.org/507673
  16. .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
  17. .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  18. .ie \n(.g .ds Aq \(aq
  19. .el .ds Aq '
  20. .\" -----------------------------------------------------------------
  21. .\" * set default formatting
  22. .\" -----------------------------------------------------------------
  23. .\" disable hyphenation
  24. .nh
  25. .\" disable justification (adjust text to left margin only)
  26. .ad l
  27. .\" -----------------------------------------------------------------
  28. .\" * MAIN CONTENT STARTS HERE *
  29. .\" -----------------------------------------------------------------
  30. .SH "NAME"
  31. gpsrinex \- Read data from gpsd convert to RINEX3 and save to a file\&.
  32. .SH "SYNOPSIS"
  33. .HP \w'\fBgpsrinex\fR\ 'u
  34. \fBgpsrinex\fR [\-D\ \fIdebuglevel\fR] [\-f\ \fIfilename\fR] [\-h] [\-i\ \fIinterval\fR] [\-n\ \fIcount\fR] [\-V] [\fIserver\fR [\fI:port\fR [\fI:device\fR]]]
  35. .SH "DESCRIPTION"
  36. .PP
  37. gpsrinex
  38. is a tool to connect to
  39. gpsd
  40. and output the received raw measurements as a RINEX 3 observation file\&. This is useful for sending raw measurements (pseudorange and carrierphase) from
  41. gpsd
  42. to a Precise Point Positioning (PPP) program or service\&.
  43. .PP
  44. gpsrinex
  45. does not require root privileges, and can be run concurrently with other tools connecting to a local or remote
  46. gpsd
  47. without causing problems\&.
  48. .PP
  49. gpsrinex needs the GPS receiver to be sending raw measurements to
  50. gpsd\&. Only a few GPS have this capability\&. In addition, the
  51. gpsd
  52. driver for that GPS must support raw mode\&. Currently only the u\-blox driver has this support\&. Only a few u\-blox 8 GPS implment the required UBX\-RXM\-RAWX message\&. The NEO\-M8T is known to work, but requires configuration with
  53. ubxtool\&.
  54. .PP
  55. RINEX has its own definitions and abbreviations\&. Be sure to consult their documentation\&. An observation file (\&.obs) contains data sets, called epochs, that contain the pseudorange and carrierphase for each satellite seen\&.
  56. .PP
  57. gpsrinex
  58. by default will acquire 20 epochs spaced apart by 30 seconds\&. That will take 10 minutes to complete\&. Most users consider the 30 second interval to be optimal\&. Many PPP programs require at least 1 or 2 hours data, but no more than 24 or 48 hours of data\&. Most users consider 4 to 6 hours of data as a minimum for good accuracy\&. Additional hours will not yield much improvement\&.
  59. .PP
  60. The output will consist of one RINEX 3 observation file that is ready to be read by your PPP program\&. The default filename will be in the form: gpsrinexYYYYJJJHHMMSS\&.obs\&. You can override this filename with the \-f option\&.
  61. .PP
  62. Optionally a server, TCP/IP port number and remote device can be given\&. If omitted,
  63. gpsrinex
  64. connects to localhost on the default port (2947) and watches all devices opened by
  65. gpsd\&.
  66. .SH "OPTIONS"
  67. .PP
  68. \-D [debuglevel] set debug level to [debuglevel]\&.
  69. .PP
  70. \-f [filename] save RINEX into [filename]\&.
  71. .PP
  72. \-h makes
  73. gpsrinex
  74. print a usage message and exit\&.
  75. .PP
  76. \-i [interval] wait [interval] seconds between epochs\&. OPUS accepts intervals of 1, 2, 3, 5, 10, 15 or,30 seconds\&. OPUS then reduces the data to 30 second intervals\&. Defeault is 30\&.
  77. .PP
  78. \-n [count] causes [count] epochs to be output\&. OPUS requires a minimum af 15 minutes, and a maximum of 48 hours, of data\&.
  79. .PP
  80. \-V makes
  81. gpsrinex
  82. print its version and exit\&.
  83. .SH "EXAMPLES"
  84. .PP
  85. Example 1:
  86. .PP
  87. Create a 4 hour \&.obs file\&. With a running
  88. gpsd
  89. accessible on the localhost do all of the following, in order\&. Order matters\&.
  90. .PP
  91. The raw measurement messages are long\&. Be sure your serial port speed is high enough:
  92. .sp
  93. .if n \{\
  94. .RS 4
  95. .\}
  96. .nf
  97. gpsctl \-s 115200
  98. .fi
  99. .if n \{\
  100. .RE
  101. .\}
  102. .PP
  103. Disable all NMEA messages, and enable binary messages:
  104. .sp
  105. .if n \{\
  106. .RS 4
  107. .\}
  108. .nf
  109. ubxtool \-d NMEA
  110. ubxtool \-e BINARY
  111. .fi
  112. .if n \{\
  113. .RE
  114. .\}
  115. .PP
  116. The NEO\-M8N will only reliably output raw measurements when only the GPS and QZSS constellations are enabled\&. If your PPP service can use GLONASS, then enable that as well\&. Be sure to disable, before enable, so as not to momentarily have too many constellations selected\&.
  117. ubxtool, as recommended by u\-blox, enables the QZSS constellation in tandem with GPS\&. Disable all constellations, except GPS (and QZSS):
  118. .sp
  119. .if n \{\
  120. .RS 4
  121. .\}
  122. .nf
  123. ubxtool \-d BEIDOU
  124. ubxtool \-d GALILEO
  125. ubxtool \-d GLONASS
  126. ubxtool \-d SBAS
  127. ubxtool \-e GPS
  128. .fi
  129. .if n \{\
  130. .RE
  131. .\}
  132. .PP
  133. Verify the constellations enabled:
  134. .sp
  135. .if n \{\
  136. .RS 4
  137. .\}
  138. .nf
  139. ubxtool \-p CFG\-GNSS
  140. .fi
  141. .if n \{\
  142. .RE
  143. .\}
  144. .PP
  145. Enable the good stuff, the raw measurement messages:
  146. .sp
  147. .if n \{\
  148. .RS 4
  149. .\}
  150. .nf
  151. ubxtool \-e RAWX
  152. .fi
  153. .if n \{\
  154. .RE
  155. .\}
  156. .PP
  157. Verify raw data messages are being sent:
  158. .sp
  159. .if n \{\
  160. .RS 4
  161. .\}
  162. .nf
  163. ubxtool | fgrep RAWX
  164. .fi
  165. .if n \{\
  166. .RE
  167. .\}
  168. .sp
  169. You should see this output:
  170. .sp
  171. .if n \{\
  172. .RS 4
  173. .\}
  174. .nf
  175. UBX\-RXM\-RAWX:
  176. UBX\-RXM\-RAWX:
  177. .fi
  178. .if n \{\
  179. .RE
  180. .\}
  181. .PP
  182. Collect 4 hours of samples at 30 second intervals, save the RINEX 3 observations in the file today\&.obs:
  183. .sp
  184. .if n \{\
  185. .RS 4
  186. .\}
  187. .nf
  188. gpsrinex \-i 30 \-n 480 \-f today\&.obs
  189. .fi
  190. .if n \{\
  191. .RE
  192. .\}
  193. .PP
  194. Wait 4 hours\&. Enjoy a meal, or do some exercise\&. When
  195. gpsrinex
  196. finishes, upload the file today\&.obs to your favorite PPP service\&.
  197. .PP
  198. Example 2:
  199. .PP
  200. Collect raw masurement data from a remote gpsd\&. The process it later with
  201. gpsrinex
  202. and
  203. gpsprof\&.
  204. .PP
  205. Ensure the GPS is configured properly, as shown in Example 1\&.
  206. .PP
  207. Grab 4 hours of raw live data from remote
  208. gpsd
  209. at 10\&.168\&.1\&.2:
  210. .sp
  211. .if n \{\
  212. .RS 4
  213. .\}
  214. .nf
  215. gpspipe \-x 14400 \-R 10\&.168\&.1\&.2 > 4h\-raw\&.ubx
  216. .fi
  217. .if n \{\
  218. .RE
  219. .\}
  220. .PP
  221. When
  222. gpspipe
  223. is complete, feed the data to
  224. gpsfake:
  225. .sp
  226. .if n \{\
  227. .RS 4
  228. .\}
  229. .nf
  230. gpsfake \-1 \-P 3000 4h\-raw\&.ubx
  231. .fi
  232. .if n \{\
  233. .RE
  234. .\}
  235. .PP
  236. In another window, feed the data to
  237. gpsrinex\&. Use \-n 10000000 so that all the data from the raw file is used::
  238. .sp
  239. .if n \{\
  240. .RS 4
  241. .\}
  242. .nf
  243. gpsrinex \-i 30 \-n 1000000
  244. .fi
  245. .if n \{\
  246. .RE
  247. .\}
  248. .PP
  249. Repeat the process with
  250. gpsfake
  251. to send the data to
  252. gpsprof\&.
  253. .SH "SEE ALSO"
  254. .PP
  255. One service known to work with obsrinex output is at: https://webapp\&.geod\&.nrcan\&.gc\&.ca/geod/tools\-outils/ppp\&.php
  256. .PP
  257. OPUS requires 2 frequency observation files\&. https://www\&.ngs\&.noaa\&.gov/OPUS/
  258. .PP
  259. The curious can find the RINEX 3\&.03 format described here: ftp://igs\&.org/pub/data/format/rinex303_update1\&.pdf
  260. .PP
  261. \fBgpsd\fR(8),
  262. \fBgpsfake\fR(1),
  263. \fBubxtool\fR(1)\&.
  264. .SH "AUTHOR"
  265. .PP
  266. Gary E\&. Miller
  267. <gem@rellim\&.com>\&.