README 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. ----------------------------------------------------------------------
  2. NTRIP Client for POSIX systems
  3. ----------------------------------------------------------------------
  4. Easy example NTRIP client for POSIX systems.
  5. Copyright (C) 2003-2007 by Dirk Stoecker <[email protected]>
  6. This program is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2 of the License, or
  9. (at your option) any later version.
  10. This program is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. GNU General Public License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with this program; if not, write to the Free Software
  16. Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  17. or read http://www.gnu.org/licenses/gpl.txt
  18. Files in ntripclient.zip
  19. -----------------------------
  20. ntripclient.c: Ntrip POSIX client source code
  21. serial.c: source code to support for serial output
  22. README: Dokumentation
  23. startntripclient: Shell script to start client
  24. makefile: Easy makefile to build source
  25. Ntrip
  26. -----
  27. The ntripclient is an HTTP client based on 'Networked Transport
  28. of RTCM via Internet Protocol' (Ntrip). This is an application-level
  29. protocol streaming Global Navigation Satellite System (GNSS) data over
  30. the Internet. Ntrip Version 1.0 is a generic, stateless protocol based
  31. on the Hypertext Transfer Protocol HTTP/1.1. The HTTP objects are
  32. enhanced to GNSS data streams.
  33. The primary motivation for Ntrip Version 2.0 is to develop a fully
  34. HTTP-compatible Internet protocol standard that would work with proxy
  35. servers and to add an optional data transport via UDP. Hence, one
  36. Ntrip Version 2.0 transport approach is still based on HTTP1.1 on top
  37. of TCP. The second Ntrip Version 2.0 transport approach is based on
  38. both, the Internet Standard Protocol RTSP (Real Time Streaming Protocol)
  39. for stream control on top of TCP and the Internet Standard Protocol RTP
  40. (Real Time Transport Protocol) for data transport on top of
  41. connectionless UDP.
  42. Ntrip is designed for disseminating differential correction data
  43. (e.g in the RTCM-104 format) or other kinds of GNSS streaming data to
  44. stationary or mobile users over the Internet, allowing simultaneous PC,
  45. Laptop, PDA, or receiver connections to a broadcasting host. Ntrip
  46. supports Wireless Internet access through Mobile IP Networks like GSM,
  47. GPRS, EDGE, or UMTS.
  48. Ntrip is implemented in three system software components: NtripClients,
  49. NtripServers and NtripCasters. The NtripCaster is the actual HTTP
  50. server program whereas NtripClient and NtripServer are acting as HTTP
  51. clients.
  52. ntripclient
  53. -----------
  54. This POSIX Ntrip client program is written under GNU General Public
  55. License in C programming language. The program reads data from an Ntrip
  56. Broadcaster and writes on standard output for further redirection
  57. of data to a file or COM-port. PLEASE NOTE THAT THIS PROGRAM VERSION
  58. DOES NOT HANDLE POTENTIALLY OCCURRING INTERRUPTIONS OF COMMUNICATION
  59. OR NETWORK CONGESTION SITUATIONS. Its distribution may stimulate
  60. those intending to write their own client program.
  61. Call the program with following arguments:
  62. ./ntripclient -s server -u user ...
  63. -m --mountpoint the requested data set or sourcetable filtering criteria
  64. -s --server the server name or address
  65. -p --password the login password
  66. -r --port the server port number (default 2101)
  67. -u --user the user name
  68. -M --mode mode for data request
  69. Valid modes are:
  70. 1, h, http NTRIP Version 2.0 Caster in TCP/IP mode
  71. 2, r, rtsp NTRIP Version 2.0 Caster in RTSP/RTP mode
  72. 3, n, ntrip1 NTRIP Version 1.0 Caster
  73. 4, a, auto automatic detection (default)
  74. 5, u, udp NTRIP Version 2.0 Caster in UDP mode
  75. or using an URL:
  76. ./ntripclient ntrip:mountpoint[/user[:password]][@[server][:port][@proxyhost[:proxyport]]][;nmea]
  77. Expert options:
  78. -n --nmea NMEA string for sending to server
  79. -b --bitrate output bitrate
  80. -I --initudp send initial UDP packet for firewall handling
  81. -P --udpport set the local UDP port
  82. -S --proxyhost proxy name or address
  83. -R --proxyport proxy port, optional (default 2101)
  84. Serial input/output:
  85. -D --serdevice serial device for output
  86. -B --baud baudrate for serial device
  87. -T --stopbits stopbits for serial device
  88. -C --protocol protocol for serial device
  89. -Y --parity parity for serial device
  90. -A --databits databits for serial device
  91. -l --serlogfile logfile for serial data
  92. The argument '-h' will cause a HELP on the screen.
  93. Without any argument ntripclient will provide the a table of
  94. available resources (sourcetable).
  95. Sourcetable filtering
  96. ----------------------
  97. A missing argument '-m' leads to the output of the complete broadcaster
  98. sourcetable. This may comprise hundreds of lines in case of large
  99. networks. To limit the output, the sourcetable contents can be filtered
  100. through entering the argument '-m' followed by a sequence of query strings,
  101. one for each sourcetable data field. Only those sourcetable lines are
  102. returned from the broadcaster whoes data fields match the corresponding
  103. query strings. A sequence of query strings has to be initiated by a '?'
  104. and a semicolon is acting as query string delimiter in analogy to the
  105. sourcetable data field delimiter.
  106. Note that for fully understanding the sourcetable filtering option
  107. you have to make yourself familiar with the details of the sourcetable
  108. contents. In general, search criterias can be applied on each sourcetable
  109. data field.
  110. The following query string operators are available for integer and
  111. floating-point numbers in the sourcetable lines:
  112. - Equation operators: <, >, >=, <=, =, != (not equal)
  113. - Approximation operator: ~n (find value with minimal distance to n)
  114. The following query string operators are available for alphanumeric
  115. strings in the sourcetable lines:
  116. - Wildcard operator: '*' means any number of characters
  117. - Alternation operator: expression|expression
  118. - Grouping operator: (expression)
  119. - Any character matching for strings (case insensitivity)
  120. The following operators are available for both text as well as integer
  121. and floating-point numbers in the sourcetable lines:
  122. - Logical operators: ! (NOT), & (AND), | (OR)
  123. - Grouping operator: [!] (Expression)
  124. Examples:
  125. - Searching in a sourcetable for streams in Germany would require
  126. entering the '-m' argument followed by
  127. the query string:
  128. ?STR;;;;;;DEU
  129. - Searching in a sourcetable for free streams fom the EUREF network and
  130. coming from the Frankfurt area would require entering the '-m' argument
  131. followed by the query string:
  132. ?STR;;;;;;;EUREF;;=>50&<=51;=>8.1&<8.6;;;;;N
  133. Compilation/Installation
  134. ------------------------
  135. Please extract the archive and copy its contents into an appropriate
  136. directory. Compile the source code under POSIX systems by calling 'make'.
  137. To compile the source code on a Windows system where a mingw gcc
  138. compiler is available, you may like to run the following command:
  139. gcc -DWINDOWSVERSION -o ntripclient.exe ntripclient.c -lwsock32
  140. Registration
  141. ------------
  142. Some of the data streams (mountpoints) from an NtripCaster may be
  143. available for test, demonstration, and evaluation purposes and
  144. accessible without authentication/authorization. For accessing other
  145. data streams (mountpoints) the user needs a user-ID and a
  146. user password. Authorization can be provided for a single stream,
  147. for a group of streams (network) or for all available streams.
  148. Currently, registration can be requested via the registration form
  149. on http://igs.bkg.bund.de/index_ntrip_reg.htm
  150. Ntrip Broadaster Address and Port
  151. ---------------------------------
  152. The current Internet address of the Ntrip Broadcaster is
  153. www.euref-ip.net. The port number is 2101.
  154. Disclaimer
  155. ----------
  156. Note that this ntripclient program is for experimental use
  157. only. The BKG disclaims any liability nor responsibility to any
  158. person or entity with respect to any loss or damage caused, or alleged
  159. to be caused, directly or indirectly by the use and application of the
  160. Ntrip technology.
  161. Further Information
  162. -------------------
  163. http://igs.bkg.bund.de/index_ntrip.htm
  164. [email protected]