Full text


[Type text]

GPS Tracking System


Submitted by




Under the guidance of

Prof. Muktikanta Sahu

in partial fulfillment for the award of the degree


Bachelor of Technology


Computer Science Engineering



Bhubaneswar (Odisha)

[June 2013]







This is to certify that the dissertation entitled “

GPS Tracking System

submitted by

Angsuman Patra,Kailash Chandra Hansdah & Shashank Shekhar


approved for the award of Degree of Bachelor of Technology in

Computer Science & Engineering.







We would like to express our special thanks of gratitude to our Guide –

Prof. Muktikanta Sahu who gave us the golden opportunity to do this

wonderful project on the topic “GPS Tracking System” , which also

helped us in doing a lot of Research and we came to know about many

things We are really thankful to them. Secondly we would like to thank

our parents and friends who helped us a lot in finishing this project

within the limited time.

Signature of the student

Name of the Student:

Kailash Ch. Hansdah(B109007)

Shashank Shekhar (B109047) Angsuman Patra (B109007)



Serial No Title Page no


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 Parse Location Send Location Update Log View Log Delete Log Entry Show Location 3.1.5. Non-Functional Requirement 3.2. OBJECT RELATIONAL MODEL 3.3. SEQUENCE DIAGRAM




4.1. Screenshot 1 4.2. Screenshot 2 4.3. Screenshot 3






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 Literature Survey: 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.




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


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.


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.


Microcontroller ATmega328

Operating Voltage 5V

Input Voltage

(recommended) 7-12V

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

Flash Memory 32 KB (ATmega328) of which 0.5 KB used by



EEPROM 1 KB (ATmega328)

Clock Speed 16 MHz


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.


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.


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.

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.


 GPS Shield

 EM-406 GPS Module

 EM-406 Interface Cable

 Set of Stackable Headers


 EM-406 connector populated

 EM-408 and EB-85A connector footprints provided and connected for optional


 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


 Arduino reset button

 DLINE/UART switch controls serial communications

 ON/OFF switch controls power to GPS module

2.2.3. GPRS Module: ( SM5100B )


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


 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


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


 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


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.


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.


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.



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:

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


3.1.3. System features The system should provide current location of the object being

tracked at request. The system should log position of the object being tracked at a fixed

interval of time. The system should let admin to delete or edit location log .

3.1.4. Functional Requirement 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. 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.


Description : Stores the location data received to the table. Input : Location data and timestamp

Output : Time stamp of the updated entry . View Log

Description : Function to view the log. Input : Request to view the log . Output : Logged location data. Delete Log Entry

Description : Allows admins to delete logged entry Input : Time stamp of the entry.

Output : Entry deleted acknowledgement . 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


[Type text]

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.

Location Table (Table-1)

ID Latitude Longitude Date


Altitude Course Speed Created



[Type text]

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.

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.


[Type text]

3.3 Sequence Diagrams GPS Tracking and Location

Two way communication

Figure -5


[Type text]

Locking and Unlocking of Object:

Communication Diagram GPS Tracking and Location:

Figure -7


[Type text]

Two Way Communication :

Locking and Unlocking of Object:

Figure -9


[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.

Manager Driver +TurnsOnVehicle() +TurnsOffVehicle() Users +UserId +first_name +last_name +email +password Privileges +Id +isDispatcher +isManager +isSystemController Dispatcher +PrintReportForm() System Controller +SetPrivileges() has * 1..* is a is a is a is a Vehicle +VinNumber +VehicleName GPS Tracking Unit +SerialNumber +Lattitude +Longitude GPS Base Station +BaseStationID +UpdateUnitLocations() ReportForm +ReportID +VehicleName +Date +MapLocations Views 0..* 1..* generates 0..* 1..* operates 1 1..* is equiped with 1 1 Transfers Data 1 1..*

obtains information from

1 0..1


[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. Unlock Vehicle +vehicleID +managerID +Reason +Unlock Vehicle() Bypass Standard Times

+bybasstime +managerID +bypassreason Set Standard Vehicle Disable Times +disablestarttime +disableendtime +enablestarttime +enablesendtime +vehicleID +ManagerID +DisableVehicle() +EnableVehicle()

Set Standard Auto Lock Times +autolocktimes +vehicleID +ManagerID Generate Report +Startdate +enddate +VehicleID +Lattitude +Longitude

Request Unlock Command +VehicleID +ManagerID +Unlock Vehicle() Driver +Unlock/Lock Manually() Users +first_name +last_name +email +password +Privledges Unlock/Lock Log +vehiclename +vehiclelocation +vehiclelockstatus +vehicledriver Unlocks/Lock Manually Set Priviledges Manager +Bypass Standard Times() +Unlock Vehicle() +Set Standard AutoLock times() +Set Standard Disable times() +REquest Unlock command() +Generate Reports() System Controller

+Set User Priviledges() +Set vehicle Disable Times()

Dispatcher +View Unlock/Lock Log() +Update Unlock/Lock Log() +Request Unlock Command()

0..* 0..* 1 1 is a is a is a is a is a 0..* 0..* 1 0..* 1 0..* 1 0..* 0..* 0..* 1 0..* Can perform controls can perform Sends Interacts with 1..* 1 1 1..* Reports Requests Interacts with 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.

Users +id +first_name +last_name +email +password Dispatcher +enterMessage() Driver +receiveMessage() Manager +sendMessage() System Controller +setPrivileges() Message +id +title +body +timestamp Message Log +id +message_id +updateLog() +viewLog() is a is a is a is a Sends * 1 Recieves * 1 has 1..* 1 Privileges +id +isDispatcher +isManager +isSystemController has * 1..* Enters 1 * Figure -13


[Type text]

3.5. Activity Diagrams

GPS Tracking and Location :



Two Way Communication : User

Request Login Request Login No

Account Exists No Account Manager Login Control Yes Set Privledges Enter Message Receive Message Send Message Update Log View Log Figure -15




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.



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.




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.




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.


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.



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.


 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 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



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


 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.


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.