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.