Windmill Software Ltd
Windows Engineering Software

Free software - GPS to laptop PC
November 2007

Free GPS Software

Home
Newsletters
Catalogue
Search

subscribe free

Connecting a GPS Receiver to a Laptop PC

To collect live data from your GPS receiver on your laptop you need:

  1. An RS232 cable to connect the GPS to the PC's serial port. Your GPS supplier should be able to sell you one of these.
  2. Software, like Windmill, to read the GPS data.
    We have two programs which can read GPS data. One, Windmill COMIML, is available from our on-line DAQ catalogue. This is the latest version of our serial driver software. The other, Windmill LabIML, is free to our Monitor newsletter subscribers. To obtain your free subscription and software, fill in your e-mail address.


Why would I want live data in my Laptop PC?

There are many situations when GPS measurements are valuable in computerised systems. For example, The free software is currently being used by marine biologists to map coral reefs. A train company, on the other hand, is using Windmill COMIML and GPS receivers as part of a system to monitor their trains skidding on leaves or ice.

The reason Windmill is so useful is that it works with a vast range of instruments, not just GPS receivers. This means that you can capture all sorts of other data alongside the GPS information. For example, you can connect a sonar and record depth, or an anemometer and record wind speed. Any instrument with a serial port (RS232), that communicates using ASCII messages, can be interfaced. Furthermore, Windmill have an optional range of drivers to interface devices which instead communicate over USB, Ethernet, GPIB, RS485, Modbus or ISA-bus. It has never been easier, or cheaper, to collect spatially referenced data such as used in geographical information systems (GIS).


Extracting Information from the GPS's String of Data

The GPS receiver sends data in a string or sentence. This might look something like this

$GPGLL,5330.12,N,00215.31,W,134531,A<CR><LF>
First, there is a NMEA code ($GPGLL), then the latitude, North or South, Longitude, East or West, Time (hhmmss), Data Valid (A), Carriage Return and Line Feed. (You may not see the Carriage Return and Line Feed, but they should be there.)

Out of this data string you might want to record just the latitude and longitude. Windmill will collect this information as 2 "channels" of data, but you have to tell it how to recognise the desired information. In this example, for the latitude channel, you might tell Windmill to search for 'GLL,' and extract up to the next comma. For the longitude channel you might search for 'N,' and extract until ','. Full details of how to do this are in the LabIML.hlp Help file which you'll find in the Windmill folder. You'll end up with a parse string looking like this for Channel 0 (latitude): \S"GLL,"\E"," and this for Channel 1 (longitude): \S"N,"\E","

Note: in the above example your Latitude channel must come before your Longitude channel. For example, channel 0 is Latitude. This is because it is the Latitude channel which pinpoints the correct sentence at which to start (ie at the $GPGLL line).

Another Example of a GPS Data String

$GPRMC,hhmmss,A,llll.ll,N,yyyyy.yy,W,kk.k,tt.t,ddmmyy,mm.m,W*CS

Where:
hhmmss is the UTC time
A is the status: data valid (A) or receiver warning (V)
llll.ll is latitude (degrees, minutes.m - ddmm.mm)
N is North or South
yyyyy.yy is longitude (degrees, minutes.m - dddmm.mm)
W is West or East
kk.k is speed over ground in knots
tt.t is track made good, degrees true
ddmmyy is the date
mm.m is magnetic variation, degrees
W is West or East
*CS is the check sum

Using Windmill you can extract as much of this data, or as little, as you require. It will be saved and displayed in "real-time".


Step-by-Step

There are quite a few steps to setting up the software to read data from the GPS, but all settings are saved so you need go through steps 1 to 3 only once.

  1. Use an RS232 serial cable to plug the GPS into one of the PC's COM ports.
     
  2. Use ConfIML (Windmill 4.3) or comDebug (Windmill 6) to enter your GPS settings, and instructions for extracting information from the string of data.
    In ConfIML:
    1. Press Add and select LabIML. Press Add.
    2. Type a name for your instrument (eg GPS) and the number of channels. (If you were collecting latitude and longitude readings, you would have two channels. If you were also collecting speed, you would have 3, and so on.) Press OK.
    3. Enter you GPS instrument settings. These should work
      Data Persistence: 5000 milliseconds;
      Returned Message Length: count the number of characters in the GPS sentence (see above);
      Instrument Initialisation Sting: blank for some makes of receiver, for others you could use to select which sentence or string of data is sent;
      Reading protocol: usually continuous flow;
    4. Press the Channels button. For each channel of data, define how to parse the message and extract information (see above - Extracting Information).
    5. Enter the Comms settings: these suggestions should work, but consult your GPS Manual to make sure. Baud rate: 4800; Bits: 8; Parity: none; Stop bits: 1; Flow control: Xon/Xoff or Hardware (you may have to try both). Press OK.
    6. Save the data you've entered and close ConfIML.

     
  3. Use Windmill SetupIML to give the channels easily understood names instead of numbers, and to set engineering units, alarm levels and so on. For example, you might call one channel "Altitude" and use the default units of metres. Or, you might want to change the units to feet. From the device menu select LabIML or COMIML. Double-click a channel number to change its settings and make sure you select "enable for input". Save these details in a setup file which all the other logging, charting and display programs will use.
     
  4. Use Windmill Logger to log and display data. Start by loading the setup file you created with SetupIML. Alternatively use Windmill DDE Panel and set up real-time links to Excel or other Windows software for automatic analysis or mapping.
     

For routine data collection on future occasions, ignore steps 1 to 3 and go straight to step 4. If you have any problems see the Windmill applications' on-line Help or our FAQ.

Windmill has been used with many makes of GPS receiver, including:

If you're still struggling fill in this form.

Software: comDebug LabIML
Problem:

Type of GPS: 
Name:        
Organisation:
Email:       

Map produced using data collected by Windmill.

Map of the sea floor produced using data collected by Windmill, a GPS, a Sonar and Mapping Software.


How Do You Use Windmill with your GPS Receiver?

Amongst the more popular items in our Monitor newsletter are application stories. We'd appreciate learning about your GPS and GIS projects using Windmill - with the possibility of featuring them in an Issue of Monitor. We would, of course, be happy to credit your company as the source of our story. Please give as many details as possible below. Monitor is delivered monthly to over 30000 opt-in subscribers.

Name:         
E-mail:       
Organisation: 
Application:  

Home | Windmill Programs | Monitor | On-Line Shop | Free Literature and Software Demos | Contents | Search

Copyright Windmill Software Ltd 2001
PO Box 58, North District Office, Manchester, M8 8QR, UK.
E-mail: sales@windmill.co.uk, Tel: +44 161 833 2782
http://www.windmill.co.uk/gps.html
Data Acquisition News Feed (RSS) Free measurement news feed...
Designed by Studholme.net
Related Topics: