You are on page 1of 79

A PROJECT REPORT

GPS Tracking System

MBA IT

[Type text]
CONTENTS
Serial No Title Page no

1 INTRODUCTION………………………….
1.1 PURPOSE
1.2 SCOPE
1.3 OBJECTIVE
1.4 LITERATURE STUDY
1.4.1. COMPONENTS
1.4.2. POSITIONING
1.4.3. NAVIGATION
1.4.4. TIMING
1.4.5. APPLICATION
2 SYSTEM
ANALYSIS…………………………………..
2.1. SPECIFIC REQUIREMENT
2.2. HARDWARE DESCRIPTION
2.3. SOFTWARE
2.4. DEVELOPMENT ENVIROMENT
2.5. EMBEDED SYSTEM ARCHITECTURE
3 DESIGN…………………….........................
3.1. SRS (Software Requirement Specification)
3.1.1. Purpose
3.1.2. Scope
3.1.3. System Feature
3.1.4. Functional Requirement
3.1.4.1. Parse Location
3.1.4.2. Send Location
3.1.4.3. Update Log
3.1.4.4. View Log
3.1.4.5. Delete Log Entry
3.1.4.6. Show Location
3.1.5. Non-Functional Requirement
3.2. OBJECT RELATIONAL MODEL
3.3. SEQUENCE DIAGRAM
3.4. ANALYSIS CLASS DIAGRAM
3.5. ACTIVITY DIAGRAM
4. SYSTEM TESTING…………………………
4.1. Screenshot 1
4.2. Screenshot 2
4.3. Screenshot 3

5. OUTPUT AND REPORT………………………

6. CONCLUSION &

FUTURE ENHANCEMENT…………………..
7. BIBLIOGRAPHY ………………………………

1. INTRODUCTION:
A GPS tracking unit is a device that uses the Global Positioning
System (GPS) to determine the precise location of a vehicle, person, or other asset to
which it is attached and to record the position of the asset at regular intervals. The
recorded location data can be stored within the tracking unit, or it may be transmitted
to a central location data base, or internet-connected computer, using a
cellular (GPRS or SMS), radio, or satellite modem embedded in the unit. This allows
the asset's location to be displayed against a map backdrop either in real time or when
analysing the track later, using GPS tracking software.

1.1. Purpose:

A wide range of tracking systems has been developed so far tracking vehicles
and displaying their position on a map, we can also use the system that has been
developed to tracks the mobility of a human being. Now a day's tracking a person's
mobility has become a crucial issue these days be it tracking a criminal came on
payroll or a detective going to detect a case or any other utility.

1.2. Scope:

Global Positioning System has numerous applications. The earliest application


was military. Boaters were the first civilians to use GPS extensively for navigation, as
dead reckoning is prone to error. Many high-end cars have a GPS navigation system
which serves much the same purpose as a marine GPS. Some athletes are turning to
GPS to track speed and distance. A few digital cameras have a GPS receiver which
records the location where the picture was taken. So far, I've listed only one-way
applications. Two-way applications include cell phones when calling the emergency
number and vehicle tracking.

1.3. Objective:
The global positioning system, more commonly referred to as GPS, is a radio
frequency navigation system operated by the U.S. Department of Defense. GPS was
originally developed for military purposes, but has since become available to non-
military personnel worldwide as well. According to the National Executive
Committee for Space-Based Positioning, Navigation and Timing, the objectives of
GPS are to provide accurate positioning, navigation and atomic timing services on a
continuous and free basis.

1.4.1. Components :

GPS is comprised of three main segments: space, control and users. The space
segment consists of a constellation of U.S. satellites, placed so that at least three
satellites are positioned above the horizon from any point on earth. PNT states that as
of October 2009, 35 GPS satellites were in use. The control segment includes
monitoring stations located worldwide charged with monitoring the GPS system. The
user segment is made up of GPS receivers.

1.4.2. Positioning :

GPS provides the user with a precise location by utilizing radio frequencies.
The GPS receiver translates the information from at least three GPS satellites to
provide the user with a two-dimensional location of latitudinal and longitudinal
position on earth. If a fourth satellite is available, then the receiver can provide the
user with three-dimensional location information, which includes altitude in addition
to latitude and longitude.

1.4.3. Navigation :

Navigation enables a user to process his current location based on GPS data
and travel to his desired location, also based on accurate GPS data. Any user with a
working GPS receiver can navigate to a particular destination, whether traveling on
foot, by automobile, by airplane or by ship. GPS navigation is even accurate
underground.

1.4.4. Timing :

Time is the fourth dimension that GPS is set up to provide, by synchronizing


each GPS receiver to the GPS satellites to provide accurate time to the user. The time
is accurate to one hundred-billionth of a second. GPS receivers are able to perform
this function because each GPS satellite includes several atomic clocks.

1.4.5. Applications :

In addition to military use, GPS has multiple civilian applications. GPS has
enabled many businesses to operate more efficiently and effectively by providing
accurate time. Commercial and public transportation companies can save time and
money by routing their carriers to less-congested areas. The average traveller can use
GPS to find the nearest coffee shop, book store or gas station. GPS also can be used to
enhance survival rates in search-and-rescue missions. The possibilities are endless,
and as the use of GPS technology increases, so will the potential applications.

2. SYSTEM ANALYSIS:

OBJECTIVE:

The objective of this chapter is to study the specific requirement hardware , software
design and its function.

2.1. SPECIFIC REQUIREMENT:

Arduino can sense the environment by receiving input from a variety of


sensors and can affect its surroundings by controlling lights, motors, and other
actuators. The microcontroller on the board is programmed using the Arduino
programming language (based on Wiring) and the Arduino development environment
(based on Processing). Arduino projects can be stand-alone or they can communicate
with software running on a computer (e.g. Flash, Processing, MaxMSP).
The boards can be built by hand or purchased preassembled; the software can
be downloaded for free. The hardware reference designs (CAD files) are
available under an open-source license, you are free to adapt them as per yours project
requirement.

2.2. HARDWARE DESCRIPTION:

For the GPS tracking system we have three module that will be attached to
each other . This three module together will perform as a GPS tracking system.
 Arduino uno-R3
 GPS shield
 GPRS shield

2.2.1. ARDUINO Uno R3:


The Arduino Uno is a microcontroller board based on
the ATmega328 (datasheet). It has 14 digital input/output pins (of which 6 can be
used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator, a USB
connection, a power jack, an ICSP header, and a reset button. It contains everything
needed to support the microcontroller; simply connect it to a computer with a USB
cable or power it with a AC-to-DC adapter or battery to get started.
The Uno differs from all preceding boards in that it does not use the FTDI USB-to-
serial driver chip. Instead, it features the Atmega16U2 (Atmega8U2 up to version R2)
programmed as a USB-to-serial converter.

Revision 2 of the Uno board has a resistor pulling the 8U2 HWB line to ground,
making it easier to put into DFU mode.

Revision 3 of the board has the following new features:


 Pinout: added SDA and SCL pins that are near to the AREF pin and two other
new pins placed near to the RESET pin, the IOREF that allow the shields to
adapt to the voltage provided from the board. In future, shields will be
compatible both with the board that use the AVR, which operate with 5V and
with the Arduino Due that operate with 3.3V. The second one is a not
connected pin, that is reserved for future purposes.
 Stronger RESET circuit.
 Atmega 16U2 replace the 8U2.
“Uno" means one in Italian and is named to mark the upcoming release of
Arduino 1.0. The Uno and version 1.0 will be the reference versions of Arduino,
moving forward. The Uno is the latest in a series of USB Arduino boards, and the
reference model for the Arduino platform; for a comparison with previous versions,
see the index of Arduino boards.
Summary:

Microcontroller ATmega328
Operating Voltage 5V
Input Voltage
7-12V
(recommended)
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
32 KB (ATmega328) of which 0.5 KB used by
Flash Memory
bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz

Power:

The Arduino Uno can be powered via the USB connection or with an external
power supply. The power source is selected automatically.
External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or
battery. The adapter can be connected by plugging a 2.1mm center-positive plug into
the board's power jack. Leads from a battery can be inserted in the Gnd and Vin pin
headers of the POWER connector.
The board can operate on an external supply of 6 to 20 volts. If supplied with less than
7V, however, the 5V pin may supply less than five volts and the board may be
unstable. If using more than 12V, the voltage regulator may overheat and damage the
board. The recommended range is 7 to 12 volts.
The power pins are as follows:
 VIN. The input voltage to the Arduino board when it's using an external
power source (as opposed to 5 volts from the USB connection or other
regulated power source). You can supply voltage through this pin, or, if
supplying voltage via the power jack, access it through this pin.
 5V.This pin outputs a regulated 5V from the regulator on the board. The board
can be supplied with power either from the DC power jack (7 - 12V), the USB
connector (5V), or the VIN pin of the board (7-12V). Supplying voltage via
the 5V or 3.3V pins bypasses the regulator, and can damage your board. We
don't advise it.
 3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current
draw is 50 mA.
 GND. Ground pins.
 IOREF. This pin on the Arduino board provides the voltage reference with
which the microcontroller operates. A properly configured shield can read the
IOREF pin voltage and select the appropriate power source or enable voltage
translators on the outputs for working with the 5V or 3.3V.

Memory:

The ATmega328 has 32 KB (with 0.5 KB used for the bootloader). It also has


2 KB of SRAM and 1 KB of EEPROM (which can be read and written with
the EEPROM library).

Input and Output:

Each of the 14 digital pins on the Uno can be used as an input or


output,using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5
volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-
up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have
specialized functions:
 Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL
serial data. These pins are connected to the corresponding pins of
the ATmega8U2 USB-to-TTL Serial chip.
 External Interrupts: 2 and 3. These pins can be configured to trigger an
interrupt on a low value, a rising or falling edge, or a change in value. See
the attachInterrupt() function for details.
 PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with
the analogWrite() function.
 SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI
communication using the SPI library.
 LED: 13. There is a built-in LED connected to digital pin 13. When the pin is
HIGH value, the LED is on, when the pin is LOW, it's off.

The Uno has 6 analog inputs, labeled A0 through A5, each of which provide 10
bits of resolution (i.e. 1024 different values). By default they measure from ground to
5 volts, though is it possible to change the upper end of their range using the AREF
pin and the analogReference() function. Additionally, some pins have specialized
functionality:
 TWI: A4 or SDA pin and A5 or SCL pin. Support TWI communication
using the Wire library.
There are a couple of other pins on the board:
 AREF. Reference voltage for the analog inputs. Used with analogReference().
 Reset. Bring this line LOW to reset the microcontroller. Typically used to add
a reset button to shields which block the one on the board.

Communication:
The Arduino Uno has a number of facilities for communicating with a
computer, another Arduino, or other microcontrollers. The ATmega328 provides
UART TTL (5V) serial communication, which is available on digital pins 0 (RX) and
1 (TX). An ATmega16U2 on the board channels this serial communication over USB
and appears as a virtual com port to software on the computer. The '16U2 firmware
uses the standard USB COM drivers, and no external driver is needed. However, on
Windows, a .inf file is required. The Arduino software includes a serial monitor which
allows simple textual data to be sent to and from the Arduino board. The RX and
TX LEDs on the board will flash when data is being transmitted via the USB-to-serial
chip and USB connection to the computer (but not for serial communication on pins 0
and 1).
A Software Serial library allows for serial communication on any of the Uno's
digital pins.
The ATmega328 also supports I2C (TWI) and SPI communication. The Arduino
software includes a Wire library to simplify use of the I2C bus; see
the documentation for details. For SPI communication, use the SPI library.

(1.5) GPS POSITION LOCATION PRINCIPLE:

The Global Positioning System is comprised of three segments: Satellite constellation ground
control/ monitoring network and user receiving equipment. Formal GPS joint program office
(JPO) programmatic terms for these components are space, operational control and user
equipment segments, respectively.

– The satellite constellation contains the satellites in orbit that provide the ranging
signals and data messages to the user equipment.

Figure 1.5.1

– The operational control segment (OCS) tracks and maintains the satellites in space.
The OCS monitors satellite health and signal integrity and maintains the orbital
configuration of the satellite. Furthermore, the OCS updates the satellite clock
corrections and ephemerides as well as numerous other parameters essential to
determining user position, velocity and time (PVT).
– The user receiver equipment performs the navigation, timing or other related notation.
GPS SIGNALS:

– The satellites of the Global Positioning System (GPS) broadcast radio signals to
enable GPS receivers on or near the Earth's surface to determine location and
synchronized time. The GPS system itself is operated by the U.S. Department of
Defense for both military use and use by the general public.

– GPS signals include ranging signals, used to measure the distance to the satellite, and
navigation messages. The navigation messages include ephemeris data, used to
calculate the position of each satellite in orbit, and information about the time and
status of the entire satellite constellation, called the almanac.

 Basic GPS signals:

The original GPS design contains two ranging codes: the Coarse/Acquisition (C/A)
code, which is freely available to the public, and the restricted Precision (P) code,
usually reserved for military applications.

a) Coarse/Acquisition code:

– The C/A code is a 1,023 bit deterministic sequence called pseudorandom noise
(also pseudorandom binary sequence) (PN or PRN code) which, when
transmitted at 1.023 megabits per second (Mbit/s), repeats every millisecond.
These sequences only match up, or strongly correlate, when they are exactly
aligned.

– Each satellite transmits a unique PRN code, which does not correlate well with
any other satellite's PRN code. In other words, the PRN codes are highly
orthogonal to one another. This is a form of code division multiple access
(CDMA), which allows the receiver to recognize multiple satellites on the
same frequency.

b) Precision code:

– The P-code is also a PRN; however, each satellite's P-code PRN code is 6.1871 ×
1012 bits long (6,187,100,000,000 bits, ~720.213 gigabytes) and only repeats once
a week (it is transmitted at 10.23 Mbit/s). The extreme length of the P-code
increases its correlation gain and eliminates any range ambiguity within the Solar
System. However, the code is so long and complex it was believed that a receiver
could not directly acquire and synchronize with this signal alone. It was expected
that the receiver would first lock onto the relatively simple C/A code and then,
after obtaining the current time and approximate position, synchronize with the P-
code.

– Whereas the C/A PRNs are unique for each satellite, the P-code PRN is actually a
small segment of a master P-code approximately 2.35 × 1014 bits in length
(235,000,000,000,000 bits, ~26.716 terabytes) and each satellite repeatedly
transmits its assigned segment of the master code.

– To prevent unauthorized users from using or potentially interfering with the


military signal through a process called spoofing, it was decided to encrypt the P-
code. To that end the P-code was modulated with the W-code, a special
encryption sequence, to generate the Y-code. The Y-code is what the satellites
have been transmitting since the anti-spoofing module was set to the "on" state.
The encrypted signal is referred to as the P(Y)-code.

– The details of the W-code are kept secret, but it is known that it is applied to the
P-code at approximately 500 kHz, which is a slower rate than that of the P-code
itself by a factor of approximately 20. This has allowed companies to develop
semi-codeless approaches for tracking the P(Y) signal, without knowledge of the
W-code itself.

FREQUENCIES USED BY GPS SIGNALS:

– All satellites broadcast at the same two frequencies, 1.57542 GHz (L1 signal) and
1.2276 GHz (L2 signal). The satellite network uses a CDMA spread-spectrum
technique where the low-bitrate message data is encoded with a high-rate pseudo-
random (PRN) sequence that is different for each satellite. The receiver must be
aware of the PRN codes for each satellite to reconstruct the actual message data.

The C/A code, for civilian use, transmits data at 1.023 million chips per second, whereas the
P code, for U.S. military use, transmits at 10.23 million chips per second. The L1 carrier is
modulated by both the C/A and P codes, while the L2 carrier is only modulated by the P code.
The P code can be encrypted as a so-called P(Y) code which is only available to military
equipment with a proper decryption key. Both the C/A and P(Y) codes impart the precise
time-of-day to the user Automatic (Software) Reset:
Rather than requiring a physical press of the reset button before an upload, the
Arduino Uno is designed in a way that allows it to be reset by software running on a
connected computer. One of the hardware flow control lines (DTR) of
theATmega8U2/16U2 is connected to the reset line of the ATmega328 via a 100
Nano farad capacitor. When this line is asserted (taken low), the reset line drops long
enough to reset the chip. The Arduino software uses this capability to allow you to
upload code by simply pressing the upload button in the Arduino environment. This
means that the boot loader can have a shorter timeout, as the lowering of DTR can be
well-coordinated with the start of the upload.
This setup has other implications. When the Uno is connected to either a computer
running Mac OS X or Linux, it resets each time a connection is made to it from
software (via USB). For the following half-second or so, the bootloader is running on
the Uno. While it is programmed to ignore malformed data (i.e. anything besides an
upload of new code), it will intercept the first few bytes of data sent to the board after
a connection is opened. If a sketch running on the board receives one-time
configuration or other data when it first starts, make sure that the software with which
it communicates waits a second after opening the connection and before sending this
data.
The Uno contains a trace that can be cut to disable the auto-reset. The pads on
either side of the trace can be soldered together to re-enable it. It's labeled "RESET-
EN". You may also be able to disable the auto-reset by connecting a 110 ohm resistor
from 5V to the reset line; see this forum thread for details.
USB Overcurrent Protection:

The Arduino Uno has a resettable polyfuse that protects your computer's USB
ports from shorts and overcurrent. Although most computers provide their own
internal protection, the fuse provides an extra layer of protection. If more than 500
mA is applied to the USB port, the fuse will automatically break the connection until
the short or overload is removed.
Physical Characteristics:

The maximum length and width of the Uno PCB are 2.7 and 2.1 inches
respectively, with the USB connector and power jack extending beyond the former
dimension. Four screw holes allow the board to be attached to a surface or case. Note
that the distance between digital pins 7 and 8 is 160 mil (0.16"), not an even multiple
of the 100 mil spacing of the other pins.

2.2.2. GPS shield:

Adding GPS to your Arduino has never been easier. The multiple GPS
receivers attach easily to the shield, you will be able to locate your exact position
within a few meters. Here's where we are. GPS also gives you amazingly accurate
time! A GPS quick start guide is available for this product.

With the GPS Shield you can add GPS functionality to Arduino. A connector
for the popular EM-406 GPS receiver is populated on the board, and footprints for
EM-408 and EB-85A/FV-M8 connectors are also made available (connectors are not
soldered on or included and can be found below in the related items). The regular
GPS pins (RX, TX, PPS, etc.) are also broken out to a 10-pin 0.1" pitch header, and a
small prototyping area is also provided.

The DLINE/UART switch switches the GPS module's input/output between


Arduino's standard TX/RX pins or any digital pins on the Arduino (default setting
uses pins 3 and 2 connected to TX and RX, respectively). The regular GPS pins (RX,
TX, PPS, etc.) are broken out to a 10-pin 0.1" pitch header, and a small prototyping
area is also provided. An ON/OFF switch is included which controls power to the
GPS module. Additionally, the Arduino reset switch is also brought out.

Includes:
 GPS Shield
 EM-406 GPS Module
 EM-406 Interface Cable
 Set of Stackable Headers

Features:

 EM-406 connector populated


 EM-408 and EB-85A connector footprints provided and connected for
optional use
 UP501 connector and footprint
 Coin cell battery socket footprint provided and connected for optional battery
backup of EB-85A GPS module
 Standard Arduino sized shield
 Prototyping area
 GPS serial and PPS signals broken out to a 0.1" header for additional device
connections
 Arduino reset button
 DLINE/UART switch controls serial communications
 ON/OFF switch controls power to GPS module

2.2.3. GPRS Module: ( SM5100B )


Description:

 The SM5100B is a miniature, quad-band GSM 850/EGSM 900/DCS


1800/PCS 1900 module, which can be integrated into a great number of wireless
projects. You can use this module to accomplish almost anything a normal cell phone
can - SMS text messages, GSM/GPRS, TCP/IP, and more!

This module features two UARTS, an SPI interface, and two 10-bit ADCs. It also
supports Li-ion battery charging, a 4x6 keypad, and an LCD interface. Inputs/outputs
are available for a speaker and microphone. An antenna does come attached to the
module.

Power supplied to the module should be regulated between 3.3-4.2VDC (3.6V


nominal).

You can connect it up to a mating 60-pin, surface mountconnector, or you can pair
this module with our SM5100B evaluation board. There is no SIM socket on the
actual cell module, you might want to consider using our SIM card breakout board

Features:

 Temperature range: -10-55°C (operating), -40-85°C (storage)


 Connection: 60 pins, mating connector sold separately
 Power Supply: VBAT: 3.3V to 4.2V range, 3.6V typical
Power Consumption:
 Off mode: <100uA
 Sleep mode: <2.0mA
 Idle mode: <7.0mA (average)
 Communication mode: 350 mA (average,GSM)
 Communication mode: 2A (Typical peak during TX slot,GSM).
 Frequency Bands: EGSM900 +GSM850+ DCS1800+PCS1900

Transmit Power:
 Class 4 (2W) for EGSM900/GSM850
 Class 1 (1W) for DCS1800/PCS1900
 Supported SIM card: 3V/1.8V SIM card. (auto recognize)
 4x6 keyboard interface available
 UART0 interface with flow control, up to 460kbps
 UART1 interface without flow control, two-wire interface, up to 460kbps
 LCD interface available, over SPI

2.3 SOFTWARE:

The Arduino integrated development environment (IDE) is a cross-


platform application written in Java, and is derived from the IDE for the Processing
programming language and the Wiring projects. It is designed to introduce
programming to artists and other newcomers unfamiliar with software development. It
includes a code editor with features such as syntax highlighting, brace matching, and
automatic indentation, and is also capable of compiling and uploading programs to the
board with a single click. 

A program or code written for Arduino is called a sketch Arduino programs are
written in C or C++. The Arduino IDE comes with a software library called "Wiring"
from the original Wiring project, which makes many common input/output operations
much easier. Users only need define two functions to make a runnable cyclic
executive program:

 The Arduino IDE uses the GNU tool chain and AVR Library to compile
programs, and uses avrdude to upload programs to the board.
 As the Arduino platform uses Atmel microcontrollers, Atmel's development
environment, AVR Studio or the newer Atmel Studio, may also be used to
develop software for the Arduino
2.4 DEVELOPMENT ENVIRONMENT:

Arduino is open source hardware: the Arduino hardware reference designs are
distributed under a Creative Commons Attribution Share-Alike 2.5 license and are
available on the Arduino Web site. Layout and production files for some versions of
the Arduino hardware are also available. The source code for the IDE is available and
released under the GNU General Public License version2.0.

Although the hardware and software designs are freely available under copy
left licenses, the developers have requested that the name "Arduino" be exclusive to
the official product and not be used for derivative works without permission. The
official policy document on the use of the Arduino name emphasizes that the project
is open to incorporating work by others into the official product . Several Arduino-
compatible products commercially released have avoided the "Arduino" name by
using "-duino" name variants.

2.5 Embedded Systems Architecture :

  Middleware is software that has been abstracted out of the application layer
for a variety of reasons. One reason is that it may already be included as part of the
off-the-shelf OS package.

Other reasons to remove it from the application layer are: to allow reusability
with other applications, to decrease development costs or time by purchasing it  off-
the-shelf-through a third party vendor, or to simplify application code. The remaining
sections of this chapter define what middleware and application software is or isn't,
and provide real-world pseudo code examples of middleware and application
software.

Middleware:

In the most general terms, middleware software is any system software that is
not the OS kernel, device drivers, or application software. Note that some OSes may
integrate middleware into the OS executable (see Chapter 9). In short, in an embedded
system middleware is system software that typically sits on either the device drivers
or on top of the OS, and can sometimes be incorporated within the OS itself.
Figure -1

Middleware is usually the software that mediates between application software


and the kernel or device driver software. Middleware is also software that mediates
and serves different application software. Specifically, middleware is an abstraction
layer generally used on embedded devices with two or more applications in order to
provide flexibility, security, portability, connectivity, intercommunication, and/or
interoperability mechanisms between applications.

One of the main strengths in using middleware is that it allows for the
reduction of the complexity of the applications by centralizing software infrastructure
that would traditionally be redundantly found in the application layer. However, in
introducing middleware to a system, one introduces additional overhead, which can
greatly impact scalability and performance. In short, middleware impacts the
embedded system at all layers.

There are many different types of middleware elements, including message


oriented middleware (MOM), object request brokers (ORBs), remote procedure calls
(RPCs), database/database access, and networking protocols above the device driver
layer and below the application layers of the OSI model. However, most types of
middleware commonly fall under one of two general categories: general-purpose,
meaning they are typically implemented in a variety of devices, such as networking
protocols above the device driver layer and below the application layers of the OSI
model, file systems, or some virtual machines such as the JVM.Market-specific,
meaning they are unique to a particular family of embedded systems, such as a digital
TV standard-based software that sits on an OS or JVM.

Whether general purpose or market-specific, a middleware element can be


further categorized as proprietary, meaning it is closed software supported by a
company that licenses it to others for use, or open, meaning it is standardized by some
industry committee and can be implemented and/or licensed by any interested party.

More complex embedded systems usually have more than one middleware
element, since it is unusual to find one technology that supports all specified
application requirements. In this case, the individual middleware elements are
typically selected based upon their interoperability with each other, so as to avoid
later problems in integration.

In some cases, integrated middleware packages of compatible middleware


elements are available commercially, off-the-shelf, for use in embedded systems, such
as the Sun embedded Java solutions, Microsoft's .NET Compact Framework, and
CORBA from the Object Management Group (OMG), to name a few. Many
embedded OS vendors also provide integrated middleware packages that run "out-of-
the-box" with their respective OS and hardware platform.

3. DESIGN:
There are already a lot of applications which use the geo-positioning. Garmin,
one of the famous GPS manufacturer, proposes maps of almost every countries in the
world ready to be download into their panel of GPS devices. Different kind of
applications for different kind of public: road maps and tracking, topologic maps for
technical job like geologist (for instance), light’s map for pilots, etc.

Also it exist, for mountain activities like free ride, hacking, those automatic
signaling systems which switch on as soon as the rider get caught by an avalanche for
example. It transmits a radio signal to the closest relay and indicate the exact position
of the victim. It helps for the search and often save lives. The portable Tom-tom GPS
proposes a full navigation system with vocal indication.
The list of geo-positioning applications is huge and a simple search on the
Internetgives hundred web sites talking about the topic.

USE CASE Diagram:

Figure -2

3.1. SRS(Software Requirement Specification):

3.1.1. Purpose
The Software Requirement Specification (SRS) will provide a detailed
description of the requirement for GPS Tracking System . This SRS will allow for a
complete understanding of what is to be expected of the GPS Tracking System to be
constructed. This SRS will used for constructing.

3.1.2. Scope
The GPS tracking system will enable a user to track online any object attached
with tracking device through a browser , for security, location, route planning
purposes .
3.1.3. System features

3.1.1.1 The system should provide current location of the object being
tracked at request.
3.1.1.2 The system should log position of the object being tracked at a fixed
interval of time.
3.1.1.3 The system should let admin to delete or edit location log .

3.1.4. Functional Requirement

3.1.4.1. Parse Locations

Description : This function will run on the device at every fixed interval of
time to read the input from GPS receiver and get the location data.

Input : NMEA String from the GPS receiver.


Output: Location data and time stamp.
3.1.4.2. Send Location

Description : This function runs on the device to send the location data and
time stamp to the server. On receiving the time stamp from the server it knows
that the location data has been logged for the said time

Input: Location data and timestamp .


Output: Time stamp.

3.1.4.3. Update Log

Description : Stores the location data received to the table.


Input : Location data and timestamp
Output : Time stamp of the updated entry .

3.1.4.4. View Log

Description : Function to view the log.


Input : Request to view the log .
Output : Logged location data.

3.1.4.5. Delete Log Entry

Description : Allows admins to delete logged entry


Input : Time stamp of the entry.
Output : Entry deleted acknowledgement .

3.1.4.6. Show Location


Description : Allows user to get current location of the device or the
location at a given time.
Input: Time stamp
Output : Location at the given time

3.1.5. Non Functional Requirement


Web support
The user can track the device using the web-browser

GPS CALCULATIONS:
At a particular time (let's say midnight), the satellite begins transmitting a long, digital
pattern called a pseudo-random code. The receiver begins running the same digital
pattern also exactly at midnight. When the satellite's signal reaches the receiver, its
transmission of the pattern will lag a bit behind the receiver's playing of the
pattern.The length of the delay is equal to the signal's travel time. The receiver
multiplies this time by the speed of light to determine how far the signal traveled.
Assuming the signal traveled in a straight line, this is the distance from receiver to
satellite.

Figure 1.8.1: (A GPS satellite,Photo courtesy U.S. Army)

In order to make this measurement, the receiver and satellite both need clocks that can
be synchronized down to the nanosecond. To make a satellite positioning system
using only synchronized clocks, you would need to have atomic clocks not only on all
the satellites, but also in the receiver itself. But atomic clocks cost somewhere
between $50,000 and $100,000, which makes them a just a bit too expensive for
everyday consumer use.
The Global Positioning System has a clever, effective solution to this problem. Every
satellite contains an expensive atomic clock, but the receiver itself uses an ordinary
quartz clock, which it constantly resets. In a nutshell, the receiver looks at incoming
signals from four or more satellites and gauges its own inaccuracy. In other words,
there is only one value for the "current time" that the receiver can use. The correct
time value will cause all of the signals that the receiver is receiving to align at a single
point in space. That time value is the time value held by the atomic clocks in all of the
satellites. So the receiver sets its clock to that time value, and it then has the same
time value that all the atomic clocks in all of the satellites have. The GPS receiver
gets atomic clock accuracy "for free."

When you measure the distance to four located satellites, you can draw four spheres
that all intersect at one point. Three spheres will intersect even if your numbers are
way off, but four spheres will not intersect at one point if you've measured
incorrectly. Since the receiver makes all its distance measurements using its own
built-in clock, the distances will all be proportionally incorrect.

The receiver can easily calculate the necessary adjustment that will cause the four
spheres to intersect at one point. Based on this, it resets its clock to be in sync with the
satellite's atomic clock. The receiver does this constantly whenever it's on, which
means it is nearly as accurate as the expensive atomic clocks in the satellites.

In order for the distance information to be of any use, the receiver also has to know
where the satellites actually are. This isn't particularly difficult because the satellites
travel in very high and predictable orbits. The GPS receiver simply stores an almanac
that tells it where every satellite should be at any given time. Things like the pull of
the moon and the sun do change the satellites' orbits very slightly, but the Department
of Defense constantly monitors their exact positions and transmits any adjustments to
all GPS receivers as part of the satellites' signals.

(1.9)GPS ACCURACY:

– The accuracy of a position determined with GPS depends on the type of


receiver. Most hand-held GPS units have about 10-20 meter accuracy.
– Other types of receivers use a method called Differential GPS (DGPS) to
obtain much higher accuracy.

– DGPS requires an additional receiver fixed at a known location nearby.

– Observations made by the stationary receiver are used to correct positions


recorded by the roving units, producing an accuracy greater than 1 meter.

– When the system was created, timing errors were inserted into GPS
transmissions to limit the accuracy of non-military GPS receivers to about 100
meters.

– This part of GPS operations, called Selective Availability, was eliminated in


May 2000.
(2.1) THEORY:

The GPS system belongs to the Department of Defense (DOD) and is officially
known as the NAVSTAR System (Navigation Satellite Timing and Ranging). Its
primary mission is to provide the U.S. Government and the Department of Defense
the ability to accurately determine one’s position at any point on the earth’s surface, at
any time of the day or night, and in any weather condition. Sounds simple, but it took
a number of years and a commitment of over 12 billion dollars before the first GPS
satellite was deployed.

As originally envisioned, a minimum constellation of 24 satellites would be required


to meet the objectives of the GPS program. More than 24 would provide redundancy
and additional accuracy. Satellites would have a design life of 10 to 13 years, and
would be replaced as needed. The full complement of 24 operational satellites was

finally realized in 1994, more than 20 years after the system was originally proposed.

(Constellation of 24 GPS satellites)

Figure 2.1.1

Although GPS was originally envisioned for military use, it soon became obvious that there
would be numerous civilian applications as well. The first two major civilian applications
were marine navigation and surveying. Since then, a myriad of applications have emerged,
from personal positioning for scientific, commercial, and recreational uses, to truck fleet
management, map-based navigation aids for automobiles and hand held computers, landing
aids for aircraft, control of construction and agricultural machinery and, in the near future,
reporting of exact cell-phone locations for emergency response purposes. As with many
technologies, the uses of GPS extend far beyond what the original designers envisioned. As
receivers have shrunk in size and weight and costs continue to drop, the number of users and
applications has grown rapidly.

(2.2) Components of the GPS System:

There are 3 main components to the GPS system. These components are known as Segments,
as follows:

 Space Segment - the satellites, also known as space vehicles or SVs


 Control Segment - ground stations run by the DOD
 User Segment - all users and their GPS receivers
These three segments are illustrated schematically below.

Figure 2.2.1

Space Segment: Twenty four separate individual satellites situated in their own orbit
above 11,000 nautical miles from the earth consists space segment.
Control Segment: Control segment component is the control station which works to
check out the functions of satellite, whether these are properly working or not. There are
only five control stations situated in the entire world.
User Segment: This component is made for the user. User can hold it in its hand or it
can be mounted in the car. It works as a receiver.
Figure 2.2.2

(3) PROPOSED METHODOLOGY

(3.1) COMPLETE BLOCK DIAGRAM:

ON BOARD BLOCK DIAGRAM:

GPS ATMEGA 8 POWER


Tx
MICROCONTROLLER
SUPPLY

GPS MODULE
LCD

Figure 3.1.1

OFF BOARD BLOCK DIAGRAM:

ATMEGA 8 POWER
GPS MICROCONTROLLER
Rx
SUPPLY

LCD

Figure 3.1.2

(3.2) DESCRIPTION:

GPS Tracking System works on the principle of satellite communication. In On board


block diagram, there is GPS module. Intially, it takes the signal from the satellite then it
sends the command to ATMEGA 8 microcontroller. Then this microcontroller, sends a signal
to GPS transmitter that signal will also be displayed on LCD screen, connected in on board
diagram.
Transmitted signal by GPS transmitter will be received by GPS receiver connected in Off
board block diagram. Then ATMEGA 8 microcontroller, sends the signal to LCD, which
will display the position of the receiver.

Two LCD’s are used in our project for matching purpose, accuracy if the position of receiver
is changed, then the new position can also be find.

(4) SOFTWARE/HARDWARE
REQUIREMENTS AND SPECIFICATIONS
Table 4.1: Components Used

S.NO SPECIFICATIONS RATINGS QUANTITY

(1) GPS MODULE 5V 1

(2) AT MEGA 8 5V 2

MICROCONTROLLER

(3) CAPACITORS 10 µF 6

(4) RESISTANCES 4.7 KΩ 18

(4.1) DESCRIPTIONS OF EACH COMPONENT:

I. ATMEGA 8 MICROCONTROLLER :
a) FEATURES:
 High-performance, Low-power Atmel®AVR® 8-bit Microcontroller
 Advanced RISC Architecture
 130 Powerful Instructions – Most Single-clock Cycle Execution
 32 × 8 General Purpose Working Fully Static Operation
 Up to 16 MIPS Throughput at 16MHz
 On-chip 2-cycle Multiplier

 High Endurance Non-volatile Memory segments


 8Kbytes of In-System Self-programmable Flash program memory
 512Bytes EEPROM
 1Kbyte Internal SRAM
 Write/Erase Cycles: 10,000 Flash/100,000 EEPROM
 Data retention: 20 years at 85°C/100 years at 25°C
 Optional Boot Code Section with Independent Lock Bits
In-System Programming by On-chip Boot Program

True Read-While-Write Operation

 Programming Lock for Software Security


 Peripheral Features
 Two 8-bit Timer/Counters with Separate Prescaler, one Compare Mode
 One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture
mode
 Real Time Counter with Separate Oscillator
 Three PWM Channels
 8-channel ADC in TQFP and QFN/MLF package
Eight Channels 10-bit Accuracy

 6-channel ADC in PDIP package


Six Channels 10-bit Accuracy
 Byte-oriented Two-wire Serial Interface
 Programmable Serial USART
 Master/Slave SPI Serial Interface
 Programmable Watchdog Timer with Separate On-chip Oscillator
 On-chip Analog Comparator
 Special Microcontroller Features
 Power-on Reset and Programmable Brown-out Detection
 Internal Calibrated RC Oscillator
 External and Internal Interrupt Sources
 Five Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, and
 Standby
 I/O and Packages
 23 Programmable I/O Lines
 28-lead PDIP, 32-lead TQFP, and 32-pad QFN/MLF
 Operating Voltages
 4.5V - 5.5V (ATmega8)
 Speed Grades
 0 - 16MHz (ATmega8)
 Power Consumption at 4Mhz, 3V, 25°C
 Active: 3.6mA
 Idle Mode: 1.0mA
 Power-down Mode: 0.5Μa

b)PIN DESCRIPTIONS:
 VCC: Digital supply voltage.
 GND: Ground.
 Port B (PB7-PB0) XTAL1/XTAL2/TOSC1/TOSC2:
– Port B is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for
each bit). The Port B output buffers have symmetrical drive characteristics with both
high sink and source capability. As inputs, Port B pins that are externally pulled low
will source current if the pull-up resistors are activated. The Port B pins are tri-stated
when a reset condition becomes active, even if the clock is not running.
– Depending on the clock selection fuse settings, PB6 can be used as input to the
inverting Oscillator amplifier and input to the internal clock operating circuit.
– Depending on the clock selection fuse settings, PB7 can be used as output from the
inverting Oscillator amplifier.
– If the Internal Calibrated RC Oscillator is used as chip clock source, PB7..6 is used as
TOSC2.1 input for the Asynchronous Timer/Counter2 if the AS2 bit in ASSR is set.
 Port C (PC5-PC0):
– Port C is a 7-bit bi-directional I/O port with internal pull-up resistors (selected for
each bit). The Port C output buffers have symmetrical drive characteristics with both
high sink and source capability.
– As inputs, Port C pins that are externally pulled low will source current if the pull-up
resistors are activated. The Port C pins are tri-stated when a reset condition becomes
active, even if the clock is not running.
 PC6/RESET:
– If the RSTDISBL Fuse is programmed, PC6 is used as an I/O pin. Note that the
electrical characteristics of PC6 differ from those of the other pins of Port C.
– If the RSTDISBL Fuse is unprogrammed, PC6 is used as a Reset input. A low level
on this pin for longer than the minimum pulse length will generate a Reset, even if the
clock is not running.
 Port D (PD7-PD0):
– Port D is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for
each bit). The Port D output buffers have symmetrical drive characteristics with both
high sink and source capability.
– As inputs, Port D pins that are externally pulled low will source current if the pull-up
resistors are activated. The Port D pins are tri-stated when a reset condition becomes
active, even if the clock is not running.

 RESET:
– Reset input. A low level on this pin for longer than the minimum pulse length will
generate a reset, even if the clock is not running.

II. CAPACITOR:
– A capacitor (originally known as condenser) is a passive two-terminal electrical
component used to store energy in an electric field. The forms of practical capacitors
vary widely, but all contain at least two electrical conductors separated by a dielectric
(insulator)

– For example, one common construction consists of metal foils separated by a thin
layer of insulating film. Capacitors are widely used as parts of electrical circuits in
many common electrical devices.

III. RESISTANCE:
– The electrical resistance of an electrical element is the opposition to the passage of
an electric current through that element; the inverse quantity is electrical
conductance, the ease at which an electric current passes.
– Electrical resistance shares some conceptual parallels with the mechanical notion of
friction.
– The SI unit of electrical resistance is the ohm (Ω), while electrical conductance is
measured in siemens (S).

– An object of uniform cross section has a resistance proportional to its


resistivity and length and inversely proportional to its cross-sectional area. All
materials show some resistance, except for superconductors, which have a
resistance of zero.

IV. LCD (LIQUID CRYSTAL DISPLAY):

– LCD (Liquid Crystal Display) screen is an electronic display module and find
a wide range of applications. A 16x2 LCD display is very basic module and is
very commonly used in various devices and circuits. These modules are
preferred over seven segments and other multi segment LEDs.
– A 16x2 LCD means it can display 16 characters per line and there are 2 such
lines. In this LCD each character is displayed in 5x7 pixel matrix. This LCD
has two registers, namely, Command and Data.

– The command register stores the command instructions given to the LCD. A
command is an instruction given to LCD to do a predefined task like
initializing it, clearing its screen, setting the cursor position, controlling
display etc. The data register stores the data to be displayed on the LCD. The
data is the ASCII value of the character to be displayed on the LCD.

a) PIN DESCRIPTION:

Pin
Function Name
No
1 Ground (0V) Ground

2 Supply voltage; 5V (4.7V – 5.3V) Vcc

3 Contrast adjustment; through a variable resistor VEE

4 Selects command register when low; and data register when Register Select
high

5 Low to write to the register; High to read from the register Read/write

6 Sends data to data pins when a high to low pulse is given Enable

7 DB0

8 DB1

9 DB2

10 DB3
8-bit data pins
11 DB4

12 DB5

13 DB6

14 DB7

15 Backlight VCC (5V) Led+

16 Backlight Ground (0V) Led-

 
3.2 Object Relational Models

Introduction:

After developing the object relational models, CRC cards, and use case
narratives, the next step is to plan out the relation of objects. To accomplish this, we
have created communication, activity, and analysis diagrams to go with our
previously created object relational models. Using these developmental tools, we can
further understand how the objects in our system interact with each other and the
outside world. Our final goal remains to create a Global Positioning Tracking System
that includes two way communication and remote vehicle operation.

GPS Tracking and Location:

The user is able to access the system through the system interface. From
within the system interface within the vehicle that is linked together to the GPS
tracking unit, and through the GPS 2-way communication is provided to the Base
station. At the base station is where the database is located and through that relation
info is saved in which the user through all its relations can generate reports back to the
user.

Figure -3

[Type text]
Location Table (Table-1)
ID Latitude
Longitude Date Altitude Course Speed Created
Time at
Two Way Communication

The user interacts with the system interface which through its relations with
the communicator, it can send it into the communicator from there it is able to send it
to another system interface that is within a vehicle.

Figure -4

Locking and Unlocking of object:

The USER is able to login to the system interface, the driver through the
system interface in the vehicle request an unlock command. The system interface
within the vehicle is able to receive commands, and unlock the vehicle.

The dispatchers are also able to login to the system interface to set Standard
Auto lock times and standard vehicle disable times. The lock unlock log is
interconnected to the system and is able to connect to the report system in order to
generate reports to the USER either the system interface or into system interface at a
pcomputer.
3.3 Sequence Diagrams

GPS Tracking and Location

[Type text]
Figure -5
Two way communication

Figure -6
Locking and Unlocking of Object:

Figure -7

Communication Diagram

GPS Tracking and Location:

Figure -8
[Type text]
Two Way Communication :

Figure -9

Locking and Unlocking of Object:

Figure -10

[Type text]
3.4. Analysis Class Diagrams

GPS Tracking and Location

When tracking the vehicle, the user can view a location log and file reports;
these reports are viewable by a third party, such as the dispatcher’s manager.

Privileges Users

+Id has +UserId


Manager
+isDispatcher +first_name
+isManager +last_name
1..* * is a
+isSystemController +email
+password
1..*

System Controller is a Views


is a
0..* ReportForm
+SetPrivileges() is a
Driver Dispatcher generates +ReportID
+VehicleName
+TurnsOnVehicle() +PrintReportForm() 1..* 0..* +Date
+TurnsOffVehicle() +MapLocations

1..*
0..1

operates obtains information from

1 1
GPS Tracking Unit

Vehicle +SerialNumber GPS Base Station


is equiped with +Lattitude Transfers Data
+VinNumber +Longitude +BaseStationID
+VehicleName 1 1 1..* 1
+UpdateUnitLocations()

Figure -11

[Type text]
Two Way Communication

The communication process begins with the user sending commands to the GPS
tracking unit attached to the object. Once the unit receives this data, it relays it to the
necessary components for either communication with the driver or remote object
manipulation.

Dispatcher
Set Priviledges Unlock/Lock Log
1
+View Unlock/Lock Log() Interacts with 1..* +vehiclename
1 +Update Unlock/Lock Log() +vehiclelocation
+Request Unlock Command() +vehiclelockstatus
+vehicledriver

is a
Users

+first_name
+last_name is a
+email
+password
Request Unlock Command
+Privledges
Interacts with +VehicleID
+ManagerID

0..* +Unlock Vehicle()

is a is a
0..*

is a controls Requests Generate Report


Driver
+Startdate
Sends
+Unlock/Lock Manually() +enddate
+VehicleID
+Lattitude
1
+Longitude

1
Set Standard Vehicle Disable Times Reports
Can perform 0..*
+disablestarttime
System Controller 0..*
+disableendtime 1..*
0..* 0..* +enablestarttime
1 +Set User Priviledges() +enablesendtime 0..* Manager
+Set vehicle Disable Times() +vehicleID
Unlocks/Lock Manually +ManagerID 1 +Bypass Standard Times()
0..* +Unlock Vehicle()
+DisableVehicle() 1
+EnableVehicle() +Set Standard AutoLock times()
+Set Standard Disable times()
1 +REquest Unlock command()
+Generate Reports()
0..*

Set Standard Auto Lock Times can perform


0..*
+autolocktimes
+vehicleID Bypass Standard Times Unlock Vehicle
+ManagerID
+bybasstime +vehicleID
+managerID +managerID
+bypassreason +Reason

+Unlock Vehicle()

Figure -12

[Type text]
Locking and Unlocking of Object:

The three final goals of our system is to allow the dispatcher to track the
movements of trucks through a GPS satellite system, communicate with the driver
sand allow them to respond, and enable remote vehicle unlocking and locking. Each
step begins with the operator successfully entering their verification information and
logging into the system.

Privileges Users

+id has +id


+isDispatcher +first_name
+isManager +last_name
1..* *
+isSystemController +email
+password

is a
is a
is a is a

System Controller Driver Manager Dispatcher

+setPrivileges() +receiveMessage() +sendMessage() +enterMessage()


1 1 1

Recieves Sends
Enters
* * *
Message Log Message

+id has +id


+message_id +title
1 1..* +body
+updateLog() +timestamp
+viewLog()

Figure -13

[Type text]
3.5. Activity Diagrams

GPS Tracking and Location :

Figure -14

[Type text]
Two Way Communication :

User

Request Login Request Login Login Control No

Account Exists

Set Privledges Account Manager Yes No

Enter Message

Receive Send
Message Message

Update Log

View Log

Figure -15

4. SYSTEM TESTING :
System testing of software or hardware is testing conducted on a complete,
integrated system to evaluate the system's compliance with its specified requirements.
System testing falls within the scope of black box testing, and as such, should require
no knowledge of the inner design of the code or logic.

As a rule, system testing takes, as its input, all of the "integrated" software
components that have successfully passed integration testing and also the software
system itself integrated with any applicable hardware system(s). The purpose of
integration testing is to detect any inconsistencies between the software units that are
integrated together (called assemblages) or between any of the assemblages and the
hardware. System testing is a more limited type of testing; it seeks to detect defects
both within the "inter-assemblages" and also within the system as a whole.

4.1. Screenshot 1:

This is a screenshot of Serial Monitor tool of Arduino environment. It's


baudrate is set to 4800. It shows that the GPS Module is working as expected and the
Arduino is sending the data to the serial port. One set of data is received every 20
seconds. The position data is accurate. Date and time are not correct at first, but then
after a few minutes it starts sending correct date-time.

4.2. Screenshot 2
This picture shows the output of the python program that reads the serial data,
parses it, and stores the data into a dictionary data structure. The program also
converts the position values to float type. The date-time value is stored in string. This
dictionary data is then sent to the server which stores it in the database.
4.3. Screenshot 3:

This is the screenshot of the server showing the last updated position of the
gps module. The position is very accurate. We tested it in our hostel, and the position
marked in the map is the exact position we were at.
5. OUTPUT:
Global Positioning System to determine the precise location (Longitude &
Latitude) of a vehicle, person, or other asset to which it is attached and to record the
position of the asset at regular intervals. The recorded location data can be stored
within the tracking unit, or it may be transmitted to a central location data base, or
internet-connected computer, using a cellular (GPRS or SMS), radio, or satellite
modem embedded in the unit. This allows the asset's location to be displayed against a
map backdrop either in real time or when analyzing the track later.

6. CONCLUSION & FUTURE ENHANCEMENT

A GPS also known as a Global Positioning System is a great technology that is


used to track objects around the world. The technology was developed by the US
military in an attempt to make success more seamless for the military – this
technology is now being used all over the world and it is highly reliable that it is very
clear that this technology will be of more importance in the near future. You might
hear about the latest GPS tracking system making the buzz or who made or is using
the technology most but the fact is, what matters most isn’t the origin of the
technology or who uses it but what is in it for you. There is no point in using
something if you won’t be gaining anything from it. Many companies use GPS fleet
tracking software with their service employees and this has helped them reduce fuel
costs and increase work productivity. Below are some major advantages of using
a GPS tracking system.

Advantage:

GPS Tracking System Can be Used to Locate Lost Items:

The crime rate keeps on increasing in every part of the world and a lot of
highly valuable objects have been, and will, be stolen. It doesn’t matter how irrelevant
you think an object or equipment is to others if it is something that is very expensive
you should make sure you install a GPS tracking system on it; for example, a $2
million violin was once stolen from a café in London and the owner had a hard time
finding it, if the owner of this highly expensive violin had installed a GPS tracking
system in her violin it will be very easy for her to locate it.

It is almost impossible to reduce the crime rate in the world because new
technologies are emerging and it is new technologies that encourage crime and
stealing; however, you can make it easier for you to track any valuable object you
own by installing a GPStrackerinit.

GPS Tracking System Can be Used to Track Things and People:

One great function of a GPS tracking system is that it can be used to track anything
irrespective of it being static or flexible, it can also be used to track people and
animals depending on what you need it for. Another great feature of a GPS tracking
system that makes it better is the alarm system it has; for example, you can easily
install a GPS tracking system in a vault where valuable goods are so that you can be
alarmed anytime someone is trying to steal them. You can also use the
GPS technology to ensure things are going fine with people working for you
especially if they’re doing a job that requires a high level of security and
confidentiality; this will be able to track them anywhere they go and when they go
there.

GPS Tracking System Can be Used Anywhere in the World:

An added advantage of the GPS tracking system is that it can be used


anywhere in the world; it doesn’t matter whether you’re in Africa or Asia the GPS
technology is powered by the world satellites and this means it can be accessible
anywhere; all you need is a solid tracking system and a GPS receiver.

Disadvantages:

 Sometimes the GPS may fail due to certain reasons and in that case you need
to carry a backup map and directions.
 If you are using GPS on a battery operated device, there may be a battery
failure and you may need a external power supply which is not always
possible.
 Sometimes the GPS signals are not accurate due to some obstacles to the
signals such as buildings, trees and sometimes by extreme atmospheric
conditions such as geomagnetic storms.

Benefits:

 Benefits include the prevention of labor fraud, speeding, idling, unauthorized


vehicle usage, and more. Here are a few of the most common benefits
immediately experienced by GPS Insight clients.
 For parents, it takes some of the worry out of your kids driving long distances
home from college. You know where they are and when to expect them home.

 For baby-boomers, the shoe is on the other foot - it helps to take some of the
worry out of your elderly parents driving home from vacation or just driving
around town. You know where they are and this allows them to be more
independent.
 GPS tracking is customer service at its finest. You know instantly which of
your drivers is closest to the customer needing help.
 Imagine how thrilled your customers will be when you can tell them exactly
when to expect their delivery!
 For employers, using GPS tracking allows you to know how fast your
employees are driving, how long a break they are taking (vehicle hasn’t
moved), and if they are where they say they are!
 GPS tracking also allows you to monitor fuel usage based on how fast your
employee is driving and the automatic mileage feature reminds you to
schedule, regular preventative maintenance.
 GPS tracking is customer service at its finest! You know instantly which of
your drivers is closest to the customer needing help. And Imagine how thrilled
your customers will be when you can tell them exactly when to expect their
delivery!
 GPS Tracking can eliminate the need for having your truckers fill out driving
logs.
 Many insurance companies now offer discounts for vehicles protected with
tracking systems.

Advancement in GPS tracking system:

As global positioning technology continues to evolve, so too is the GPS


tracking software often used with many GPS tracking devices.  With the combined
power of the Internet, and computer and satellite technology, GPS tracking software
for use with any GPS tracking device has grown to include more options than ever
before.  Below you will find highlights of the latest features and advancements in the
industry of GPS tracking software.

Real-Time Updates: 

Depending on the GPS tracking device used, GPS tracking software can
provide real-time, on screen reporting on the specific location of a person, parcel or
vehicle from any location in the world.  This particular feature of GPS tracking
software has provided a cost-effective GPS tracking solution for several industries
including aviation, shipping and commercial fishing, where a GPS tracking device
can likely be found attached to every company asset.

Mapping: 

Once considered to provide only crude renditions of the actual terrain, the
mapping capabilities of GPS tracking software have improved greatly over the last
few years.  With many types of GPS tracking software fully integrating with readily
available resources such as Google Earth and Microsoft Virtual Earth, GPS tracking
software can now provide detailed real photo maps of the location of any GPS
tracking device.In addition, some GPS tracking software applications will now
accommodate the use of customized digital, paper or marine maps in the event that
standard mapping options do not provide the needed details.

Simultaneous Tracking: 

GPS tracking software can now be used to track and map the location of more
than one GPS tracking device at a time.  Using highly- sophisticated technology, GPS
tracking software now offers the ability to see an entire fleet of vehicles, given that
each one is fitted with a GPS tracking device, on one screen.

Web Applications: 

As the speed of Internet connections continues to increase, the ease of offering


online-based GPS tracking software does as well.  Some providers of GPS tracking
software are now offering web-based access to GPS tracking software for a monthly
subscription or yearly licensing fee.  One major advantage of web-based GPS tracking
software is that the software is constantly updated by the provider, leaving little or no
maintenance for the subscriber to be concerned with.

In addition, some providers of web-based GPS tracking software will allow


private-branding of their applications so that licensees can sell subscriptions to their
own customers.  This presents a unique opportunity for any GPS tracking device
dealer or entrepreneur who wants to create residual monthly income based on selling
GPS tracking software subscriptions to the customer who purchases a GPS tracking
device.

GPS tracking software and GPS tracking devices, like most other forms of
technology including computers and cell phones, have experienced great
advancements in the last decade. As the cost of the average GPS tracking device
continues to decline, GPS tracking is becoming more affordable and in demand for
individuals and small businesses than ever before, making GPS tracking and GPS
tracking software one of the smartest business choices of the 21st Century.

7. BIBLIOGRAPHY

https://www.sparkfun.com/tutorials/173
http://arduino.cc/en/Guide/HomePage

http://www.seeedstudio.com/wiki/GPRS_Shield_V2.0

(5.5) Program to get latitude and longitude value from GPS


modem and display it on LCD:

/*

LCD DATA port----PORT A

signal port------PORT B

rs-------PB0

rw-------PB1

en-------PB2

*/

#define F_CPU 12000000UL

#include<avr/io.h>

#include<util/delay.h>

#define USART_BAUDRATE 4800

#define BAUD_PRESCALE (((F_CPU / (USART_BAUDRATE * 16UL))) - 1)

#define LCD_DATA PORTA

#define ctrl PORTB

#define en PB2

#define rw PB1

#define rs PB0

void LCD_cmd(unsigned char cmd);

void init_LCD(void);
void LCD_write(unsigned char data);

void LCD_write_string(unsigned char *str);

void usart_init();

unsigned int usart_getch();

unsigned char value,i,lati_value[15],lati_dir, longi_value[15], longi_dir, alti[5] ;

int main(void)

DDRA=0xff;

DDRB=0x07;

init_LCD()

_delay_ms(50);

LCD_write_string("we at");

LCD_cmd(0xC0);

usart_init();

while(1)

value=usart_getch();

if(value=='$')

value=usart_getch();

if(value=='G')

value=usart_getch();
if(value=='P')

value=usart_getch();

if(value=='G')

value=usart_getch();

if(value=='G')

value=usart_getch();

if(value=='A')

value=usart_getch();

if(value==',')

value=usart_getch();

while(value!=',')

value=usart_getch();

lati_value[0]=usart_getch();

value=lati_value[0];

for(i=1;value!=',';i++)

{
lati_value[i]=usart_getch();

value=lati_value[i];

lati_dir=usart_getch();

value=usart_getch();

while(value!=',')

value=usart_getch();

longi_value[0]=usart_getch();

value=longi_value[0];

for(i=1;value!=',';i++)

longi_value[i]=usart_getch();

value=longi_value[i];

longi_dir=usart_getch();

LCD_cmd(0x01);

_delay_ms(1);

LCD_cmd(0x80);

_delay_ms(1000);

i=0;

while(lati_value[i]!='\0')
{

LCD_write(lati_value[j]);

j++;

LCD_write(lati_dir);

LCD_cmd(0xC0);

_delay_ms(1000);

i=0;

while(longi_value[i]!='\0')

LCD_write(longi_value[i]);

i++;

LCD_write(longi_dir);

_delay_ms(1000)

}
}

void init_LCD(void)

LCD_cmd(0x38);

_delay_ms(1);

LCD_cmd(0x01)

_delay_ms(1);

LCD_cmd(0x0E);

_delay_ms(1)

LCD_cmd(0x80);

_delay_ms(1);

return;

void LCD_cmd(unsigned char cmd)

LCD_DATA=cmd;

ctrl =(0<<rs)|(0<<rw)|(1<<en);

_delay_us(40);

ctrl =(0<<rs)|(0<<rw)|(0<<en);

//_delay_ms(50);

return;
}

void LCD_write(unsigned char data)

LCD_DATA= data;

ctrl = (1<<rs)|(0<<rw)|(1<<en);

_delay_us(40);

ctrl = (1<<rs)|(0<<rw)|(0<<en);

//_delay_ms(50);

return ;

void usart_init()

UCSRB |= (1<<RXCIE) | (1 << RXEN) | (1 << TXEN);

UCSRC |= (1 << URSEL) | (1 << UCSZ0) | (1 << UCSZ1);

UBRRL = BAUD_PRESCALE;

UBRRH = (BAUD_PRESCALE >> 8);

unsigned int usart_getch()

while ((UCSRA & (1 << RXC)) == 0);

return(UDR);

void LCD_write_string(unsigned char *str)

{
int i=0;

while(str[i]!='\0')

LCD_write(str[i]);

i++;

return;

ConFigure Lcd = 16 * 2

ConFigure Lcdpin = Pin , Rs = Portb.7 , E = Portb.6 , Db4 = Portb.5 , Db5 = Portb.4 , Db6 =
Portb.3 , Db7 = Portb.2

ConFigure Portb = Output

ConFigure Keyboard = Pind.6 , Data = Pinb.0 , Keydata = Keydata

'$GPGGA,012211.83,4119.6171,N,07730.0636,W,1,03,3.6,00522,M,,,,*36

Dim Gps As Byte , X As Byte , Lont(12) As Byte

Dim Flag As Bit

Dim Place(16) As Byte

Dim Temp As Byte

Dim Mydata(12) As Byte

Dim Myplace(16) As Byte

Dim Eepromdata(12) As Eram Byte At &H01

Dim Eepromplace(16) As Eram Byte At &H10

'Buzzer Alias Pinb.1

Mark Alias Pind.2


ConFigure Mark = Input

'Set Pinb.1

Portb = &B0000000

For X = 1 To 12

Mydata(x) = Eepromdata(x)

Next

For X = 1 To 16

Myplace(x) = Eepromplace(x)

Next

Flag = 0

Looploops:

Cls

Cursor Off

Looploop:

Home

Upperline

Startloop:

If Mark = 0 Then Goto Mark_place

Gps = Waitkey()

If Gps <> "$" Then Goto Startloop

Gps = Waitkey()

If Gps <> "G" Then Goto Startloop

Gps = Waitkey()
If Gps <> "P" Then Goto Startloop

Gps = Waitkey()

If Gps <> "G" Then Goto Startloop

Gps = Waitkey()

If Gps <> "G" Then Goto Startloop

Gps = Waitkey()

If Gps <> "A" Then Goto Startloop

Gps = Waitkey()

If Gps <> "," Then Goto Startloop

For X = 1 To 6

Gps = Waitkey()

Next X

Timlop:

Gps = Waitkey()

If Gps = "," Then Goto Getlat

Goto Timlop

Getlat:

For X = 1 To 6

Getlat1:

Gps = Waitkey()

If Gps = "." Then Goto Getlat1

Lont(x) = Gps

Lcd Chr(gps);
If X = 2 Then Lcd ".";

If X = 4 Then Lcd ".";

Next X

Getlat2:

Gps = Waitkey()

If Gps <> "," Then Goto Getlat2

Gps = Waitkey()

Lcd Chr(gps) ; " ";

Gps = Waitkey()

Gps = Waitkey()

Lowerline

For X = 7 To 12

Getlon:

Gps = Waitkey()

If Gps = "." Then Goto Getlon

Lont(x) = Gps

Lcd Chr(gps);

If X = 8 Then Lcd ".";

If X = 10 Then Lcd ".";

Next X

Getlon1:

Gps = Waitkey()

If Gps <> "," Then Goto Getlon1


Gps = Waitkey()

Lcd Chr(gps);

If Mydata(3) = Lont(3) Then

If Mydata(4) = Lont(4) Then

If Mydata(5) = Lont(5) Then

If Mydata(6) = Lont(6) Then

If Flag = 0 Then

Cls

Portb = &B0000010

For X = 1 To 16

Lcd Chr(myplace(x))

Next

Wait 10

Cls

Flag = 1

Portb = &B0000000

End If

Else

Flag = 0

End If

End If

End If

End If
Goto Looploop

End

Mark_place:

Cls

Lcd " Enter the Name"

Lowerline

Cursor On Blink

For X = 1 To 16

Place(x) = &H20

Next

X=1

Mark_places:

Gps = Getatkbd()

If Gps = 125 Then Goto Looploops

If Gps = 13 Then

If X = 0 Then

Goto Mark_place

Else

For X = 1 To 12

Eepromdata(x) = Lont(x)

Mydata(x) = Lont(x)

Next

For X = 1 To 16
Eepromplace(x) = Place(x)

Myplace(x) = Place(x)

Next

Cls

Lcd "Place Marked"

Flag = 1

Wait 2

Goto Looploops

End If

Elseif Gps > 0 Then

If X <> 17 Then

Lcd Chr(gps)

Place(x) = Gps

X=X+1

End If

End If

Goto Mark_places

Keydata:

'normal keys lower case

Data 0 , 0 , 0 , 0 , 0 , 200 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0

Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0

Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0

Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0


Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0

Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0

Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0

Data 48 , 44 , 50 , 53 , 54 , 56 , 125 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0

'shifted keys UPPER case

Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0

Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0

Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0

Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0

Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0

Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0

Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0

Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0

HEX CODE GENERATED

:100000000AC018951895189518951895189518956B

:100010001895189518958FED8DBFC0ECE8EB4E2E16

:10002000DD275D2EEEE7F0E0A0E6B0E088278D93B7

:100030003197E9F78FE289B988E18AB9EAD2662473

:100040008FEF87BBB8988E988A9880E088BB81E054

:1000500080936100009161000C3010F009F011C034

:10006000E1E6F0E0A190E0E0F0E0EA0DA1E6AD907D

:10007000AFE7AA0DA9D3A1E68C918F5F8C9308F40A
:10008000E9CF81E08093610000916100003110F0C0

:1000900009F011C0E1E6F0E0A190EFE0F0E0EA0D38

:1000A000A1E6AD90ABE8AA0D8FD3A1E68C918F5F4E

:1000B0008C9308F4E9CF80916E008F7780936E0067

:1000C00097D28CE0EED28ED298D20027A0E38C910A

:1000D00082FB0EF401E040E0041709F001C051C1B9

:1000E00077D2A0E68C9384E2482F00916000041739

:1000F00009F401C0EACF6CD2A0E68C9387E4482FC4

:1001000000916000041709F401C0DFCF61D2A0E6BE

:100110008C9380E5482F00916000041709F401C01A

:10012000D4CF56D2A0E68C9387E4482F009160008C

:10013000041709F401C0C9CF4BD2A0E68C9387E421

:10014000482F00916000041709F401C0BECF40D2CF

:10015000A0E68C9381E4482F00916000041709F415

:1001600001C0B3CF35D2A0E68C938CE2482F00912A

:100170006000041709F401C0A8CF81E080936100FA

:1001800000916100063010F009F009C021D2A0E60C

:100190008C93A1E68C918F5F8C9308F4F1CF18D2E9

:1001A000A0E68C938CE2482F00916000041709F0C0

:1001B00001C001C0F4CF81E0809361000091610033

:1001C000063010F009F02BC003D2A0E68C938EE22B

:1001D000482F00916000041709F001C0F5CF80910D

:1001E0006000A1E6AD90A1E6AA0D8C93A0E68C91EB
:1001F00052D200916100023009F003C0ECEDF7E04B

:10020000EBD100916100043009F003C0ECEDF7E0A0

:10021000E3D1A1E68C918F5F8C9308F4CFCFD8D136

:10022000A0E68C938CE2482F00916000041709F43B

:1002300001C0F5CFCDD1A0E68C93A0E68C912BD256

:10024000EEEDF7E0C9D1C4D1A0E68C93C1D1A0E610

:100250008C93CCD187E080936100009161000C30D9

:1002600010F009F02BC0B4D1A0E68C938EE2482F99

:1002700000916000041709F001C0F5CF8091600083

:10028000A1E6AD90A1E6AA0D8C93A0E68C9103D2D5

:1002900000916100083009F003C0ECEDF7E09CD15B

:1002A000009161000A3009F003C0ECEDF7E094D151

:1002B000A1E68C918F5F8C9308F4CFCF89D1A0E613

:1002C0008C938CE2482F00916000041709F401C060

:1002D000F5CF7ED1A0E68C93A0E68C91DCD1409145

:1002E000640000918200041709F048C04091650045

:1002F00000918300041709F041C04091660000910D

:100300008400041709F03AC040916700009185000D

:10031000041709F02EC00027AEE68C9187FB0EF47F

:1003200001E040E0041709F023C062D182E088BBFD

:1003300081E08093610000916100003110F009F0CC

:100340000CC0A1E6AD90ABE8AA0D8C91A4D1A1E6BA

:100350008C918F5F8C9308F4EECFEAE0F0E050D1FF
:1003600047D180916E00806880936E0080E088BBEA

:1003700005C080916E008F7780936E00A4CEF894B4

:10038000FFCF36D1E0EEF7E027D130D18FE089D131

:1003900081E08093610000916100003110F009F06C

:1003A0000CC080E2A1E6AD90AEE6AA0D8C93A1E66A

:1003B0008C918F5F8C9308F4EECF81E08093610085

:1003C000AED1A0E68C93009160000D3709F001C01A

:1003D00077CE009160000D3009F05FC000916100A0

:1003E000003009F002C0CDCF57C081E0809361009A

:1003F000009161000C3010F009F01CC0E1E6F0E063

:10040000A190E0E0F0E0EA0DA1E6AD90A1E6AA0D32

:100410007BE7C9D1A1E6AD90A1E6AA0D8C91A1E63A

:10042000AD90AFE7AA0D8C93A1E68C918F5F8C9372

:1004300008F4DECF81E0809361000091610000311B

:1004400010F009F01CC0E1E6F0E0A190EFE0F0E070

:10045000EA0DA1E6AD90AEE6AA0D7BE7A4D1A1E638

:10046000AD90AEE6AA0D8C91A1E6AD90ABE8AA0DD9

:100470008C93A1E68C918F5F8C9308F4DECFB8D07B

:10048000E0EFF7E0A9D080916E00806880936E0065

:10049000E2E0F0E0B5D014CE1AC000916000003068

:1004A00010F009F001C013C000916100013109F49E

:1004B0000EC0A0E68C91EFD080916000A1E6AD90D7

:1004C000AEE6AA0D8C93A1E68C918F5F8C9378CFCA
:1004D0000000000000C800000000000000005E00F6

:1004E000000000000071310000007A736177320073

:1004F00000637864653433000020766674723500DA

:10050000006E626867793607082C6D6A75373800A7

:10051000002C6B696F303900002E2D6C30702B0071

:1005200000000000005C000000000D00005C000006

:10053000003C0000000008000031003437000000DB

:10054000302C323536387D00002B332D2A3900000F

:10055000000000000000000000000000000000009B

:10056000000000000051210000005A5341572200B2

:1005700000435844450023000020564654522500AD

:10058000004E424847592600004C4D4A552F28003E

:10059000003B4B494F3D2900003A5F4C30503F0033

:1005A000000000000060000000000D5E002A000056

:1005B000003E000000080000310034370000000059

:1005C000302C323536380000002B332D2A3900000C

:1005D0005F9BFECF8CB10895DDD0802D11F05BD0F4

:1005E000FBCF089582E05DD011D007C080EC59C0E8

:1005F00081E057D00BD080E854C080E852D00895F5

:1006000088EE93E07AD03197D9F7089583E099275F

:1006100074C08AEF90E071D0BA9ABB9ABC9ABD9A26

:10062000BE9ABF9AC79885E090E067D0C698C298F6

:10063000C398C49AC59AC69AEF93FF93E8E5F0E091
:1006400050D0FF91EF91C69855D0C69AEF93FF9383

:10065000E8E5F0E046D0FF91EF91C6984BD0C69AFE

:10066000EF93FF93E8E5F0E03CD0FF91EF91C6985F

:1006700041D0C598C69AEF93FF93E8E5F0E031D0FA

:10068000FF91EF91C69836D088E20BD08EE009D06A

:1006900086E007D00895C79A829505D004D02AD065

:1006A0000895C798F9CF859510F4C59A01C0C598EB

:1006B000859510F4C49A01C0C498859510F4C39A26

:1006C00001C0C398859510F4C29A01C0C298C69A19

:1006D000EF93FF93E8E5F0E004D0FF91EF91C69827

:1006E00008953197F1F70895689462F80895E894B1

:1006F00062F8089581E090E000C0EF93FF93EE2749

:10070000E82BE92B31F0EAE9F3E03197F1F70197B3

:10071000D1F7FF91EF91089562FA26F432C0E89480

:1007200062F80BE08699F8CF023038F031F00B30E8

:1007300008F003C09695B0999068869BFECF0A9505

:1007400089F7153619F4892F11270895903F19F468

:10075000689465F816C0923111F0993529F465FA5C

:10076000AEF0689464F80DC065FA6EF064FA0EF4A9

:100770009058E0EDF4E08827E90FF81FC895802D28

:10078000089588270895E89465F8FBCFE89464F805

:1007900065F8F7CFC895319600200895E199FECF0E

:1007A000EEBB3196089591E001C092E07B3751F4A1
:1007B0007FB7F894F3DF8D918DBBE29AE19A9A9519

:1007C000C9F77FBF7727089591E001C092E0E6DF87

:1007D000E09A8DB38D939A95D1F708952E0020005D

:1007E00020456E74657220746865204E616D6500E9

:0E07F000506C616365204D61726B65640000A2

:00000001FF
(9) CONCLUSIONS

The technology of the Global Positioning System is allowing for huge changes in
society. The applications using GPS are constantly growing. The cost of the receivers
is dropping while at the same time the accuracy of the system is improving. This
affects everyone with things such as faster Internet speed and safer plane landings.

Even though the system was originally developed for military purposes, civil
sales now exceed military sales (See Figure 8.1 below).

Figure 8.1

You might also like