The GPS-Link for TAPIR is made using a Middleware (called the
'GPS-Beacon'), which takes the coordinates from the GPS-receiver,
processes them and makes them available for further applications, for
GPS-Beacon gets his configuration information, like TAPIR, from monitor.ini. In section [gpsd] are 3 entrys concerned:
- comport=x tells, at which COM-port NMEA-data is to be received
- baudrate=x tells the speed at which NMEA-data is to be received. Default setting is 4800bps
- ipport=x tells the IP port to be used for incoming connections. Default setting is 2947. Only change this if really needed
- rawmode=x tells GPS-Beacon to transmit either processed data (for use with Tapir) or raw NMEA-Sentences (for use with other applications)
To get this working, follow these steps:
- Download the GSP-Software and unpack it in the directory where TAPIR resides
- Configure GPSBeacon (COM-port, baudrate, IP-port)
- Configure TAPIR for GPS (IP-address, IP-port)
- Connect GPS-receiver and switch it ON
- Start GPSBeacon and check if it works:
- the number of visible satellites must be displayed
- the GPS-time must be displayed
- a TELNET to the configured address must show you incoming data
- Start TAPIR and check, if GPS-data is received:
- the GPS-indicator must show 'GPS'
- Ready. It works
- If needed, you may NOW start GPS-Client
If there are any problems, the following commandline options may be used to track these down:
- -d starts the software in debug mode, a file with debug output will be created
- -s starts the software in simulation mode, data will be created without having a GPS receiver connected
As soon as GPS-Beacon is executed, he starts to receive NMEA
data from the GPS-receiver and to process them. Applications which
connect may receive position data within a simple protocol. Each data
contained in a single line, which is closed with 0x0a 0x0d (CR/LF).
Each line has the same structure:
||End of line (0x0a 0x0d)
each status code defines a format of the message text:
||This is the startup message which is received if a
application connects successfully. The offset from 100 is the number of
already connected clients, including the current connection. '101'
means: I am connection Nr.
1, '109' means: there are already 8 applications connected, I am Nr. 9.
||The maximum number of clients is already connected, the connection will be closed.
||A valid position in the following format:
GPStime (nomally UTC) 0x20
Position Lon. 0x20
Position Lat. 0x20
Speed (Knots) 0x20
Number of received satellites.
||Position data is following, but the receiver is not
receiving the required number of satellites, so the position may be
outdated or invalid.
||Valid position data could not be received from the GPS receiver, the connection seems to be lost.
||The data sent is valid, but it is created from simulation, not from GPS data
||Valid position data could not be received from the GPS receiver, the receiver seems not to receive anything.
Here are a few examples how this may look:
101 GPSBeacon 0.2 by nobbi ready.
101 Format is: GPStime LON LAT Speed Sats
501 no valid position
200 185735 E8,43383 N49,00748 0 3
200 185737 E8,43418 N49,00777 0 3
To have the possibility to test the connection between
receiver and GPSBeacon, and to have the possibility to look at the
recived data, a small application is available: GPS-Client
|And here is what it means:
- : Longitude und Latitude of the current position
- : Speed over ground, in km/h
- : the current time (UTC)
- : the number of received satellites, one per segment
- : the connection status (port opened, trying connection, connected, connection closed)