circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

Issue 151 February 2003
GPS-GSM Mobile Navigator


SYSTEM FEATURES

As we explained, the GPS module outputs the ship location information such as longitude, latitude, and Greenwich Time every 2 s. The location information is then stored every 20 s in flash memory, which has enough power to memorize the track of a ship even when the power is off.

Note that the GSM wireless communications function is based on a GSM network established in a valid region and with a valid service provider. Via the SMS provided by the GSM network, the location information and the status of the GPS-GSM Mobile Navigator are sent to the control center. Meanwhile, the mobile navigator receives the control information from the control center via the same SMS. Next, the GPS-GSM Mobile Navigator sends the information stored in flash memory to the PC via an RS-232 interface. (Note that you can set up the navigator using an RS-232 interface.)

There are two ways to use the mobile navigator’s alarm function, which can be signified by either a buzzer or presented on the LCD. The first way is to receive the command from the control center; the second way is to manually send the alarm information to the control center with the push of a button.

The GPS-GSM Mobile Navigator is powered by either a rechargeable battery or DC input.

GETTING GPS DATA

After the GPS module computes the positioning and other useful information, it then transmits the data in some standard format—normally in NMEA-0183 format. When you’re building this project, it’s nice to be able to buy stand-alone GPS OEM modules. Just check the pages of Circuit Cellar for manufacturers. We used a Sandpiper GPS receiver from Axiom for this project. The Sandpiper is intended as a component for an OEM product that continuously tracks all satellites in view and provides accurate satellite positioning data. With differential GPS signal input, the accuracy ranges from 1 to 5 m; however, without differential input, the accuracy can be 25 m.

The Sandpiper has two full-duplex TTL-level asynchronous serial data interfaces (ports A and B). Both binary and NMEA initialization and configuration data messages are transmitted and received through port A. Port B is configured to receive RTCM DGPS correction data messages, which enable the GPS unit to provide more accurate positioning information. But, we didn’t require the use of port B for this project.

About 45 s after the GPS module is cold booted it begins to output a set of data (according to the NMEA format) through port A once every second at 9600 bps, 8 data bits, 1 stop bit, and no parity. NMEA GPS messages include six groups of data sets: GGA, GLL, GSA, GSV, RMC, and VTG. We use only the most useful RMC message—Recommended Minimum Specific GNSS Data—which contains all of the basic information required to build a navigation system. Table 1 lists the RMC data format.

We only need position and time data, so the UTC position, longitude with east/west indicator, and latitude with north/south indicator are picked out from the RMC message. All of this data will be formatted into a standard fixed-length packet with some other helpful information. Next, this data packet will be transmitted to the control center and stored in the AT45D021’s flash memory.

The data packet is a 42-byte long ASCII string, which includes the package ID, system password, terminal ID, position data, UTC, and other operational information. Table 2 shows the definition of a reforming data packet and an example ready to be saved or transmitted.