source: ntrip/trunk/ntripclient/README@ 8335

Last change on this file since 8335 was 1587, checked in by stuerze, 16 years ago

updated for NTRIP V.2 UDP mode

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