Top Banner
SIM UNIVERSITY SCHOOL OF SCIENCE AND TECHNOLOGY APPLICATIONS OF GPS IN LOW COST OBJECT TRACKING SYSTEM STUDENT : TAN YONG PENG, CHARLES (J0704259) SUPERVISOR : DR. TAN BEE KOON PROJECT CODE : JAN2010/ENG/0047 A project report submitted to SIM University
145
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TanYongPengCharles FYP

SIM UNIVERSITYSCHOOL OF SCIENCE AND TECHNOLOGY

APPLICATIONS OF GPS IN LOW COST OBJECT TRACKING SYSTEM

STUDENT : TAN YONG PENG, CHARLES (J0704259)

SUPERVISOR : DR. TAN BEE KOON PROJECT CODE : JAN2010/ENG/0047

A project report submitted to SIM Universityin partial fulfilment of the requirements for the degree of

Bachelor of Engineering (or Bachelor of Electronics)

January 2010

Page 2: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

ABSTRACT

The Global Positioning System (GPS) is a location system based on a constellation of 24 to

32 satellites, orbiting round the earth at altitudes of 11,000 miles. In its earlier years, GPS

was developed in the US, for the military Department of Defense (DOD). Through the years

of development and improvement, we have advanced to being able to use GPS for the

purpose of tracking our precise location worldwide, and as an aiding tool for non-military

usage. Currently, GPS device is used as a navigation tool that assists the user on finding

directions and navigating to the destination. GPS can be used either in the forest for

assistance on finding the way out or in a vehicle to travel to the desired location. As such, it

saves our time, energy and petrol. Eventually, overall GPS improves efficiency in our life.

The main objective in this project is to develop a low cost object tracking system using

limited resources, with the possibility of an added security feature. The low cost GPS object

tracking systems would track the movement and determine the exact location of objectives.

This allows the owner/company to track the delivery objects like goods, cargo, vehicles, etc.

Thus, drivers would not be able to use the vehicle for personal usage, which in return

increases the efficiency. This helps the company save money spent on fuel/petrol and

increases its profit. The GPS can be used as an added security to deter vehicle theft and in

notifying the vehicle owner once the vehicle is being stolen.

In this project, a GPS-enabled tracker, a mobile phone, mobile broadband adaptor,

laptop and application using C# programming language will be used for integration to fulfil

the project objectives. Several functions like retrieving the position, sending SMS, calculation

of coordination will be implemented on the GPS tracker and customized application. In

addition, an application on the laptop or computer will plot the map of the log file of the

coordination (Longitude & Latitude) which the vehicle has travelled.

This report will include topics like objectives, literature review on GPS, SMS technology and

project and time management. More importantly, it will also cover tasks like development

and implementation of conceptualised idea, testing, evaluation and

troubleshooting/debugging of the programmes and systems. These will be covered in greater

detail in later chapters.

iBME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 3: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

ACKNOWLEGDEMENTS

I would like to take this opportunity to thanks my project supervisor, Dr. Tan Bee Kun for his

patience, guidance, motivation, and utmost support towards completion of the FYP project.

Dr. Tan has guided me towards obtaining the solution consistently so that I am able to

complete my project on time with the tight schedule. He is a tremendously good supervisor

who exhibits his extensive cares, experiences, disciplines and guidance towards his project

students. Additionally, I would like to thanks him with appreciation for his extensive help to

drive me around Singapore landmarks to test the functionally of the applications.

Similarly, I would like to thanks my school mates in Unisim for their morale support and

encouragement. I have grown my learning experiences with them during the schooling time.

And they had made my stay in school a pleasant and meaningful one.

Special thanks to Mr. Matthew Chua from East Gear Pte. Ltd. for loaning GPS tracker for the

project. And thanks to my friend, Chew Yi Xiang for borrowing his mobile adaptor device.

Last but not least, I would like to show my deepest thankfulness to my family and loved ones,

who have shown me their concern and full support.

iiBME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 4: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

TABLE OF CONTENTS Page

ABSTRACT..............................................................................................................................................................iACKNOWLEGDEMENTS.....................................................................................................................................iiTABLE OF CONTENTS........................................................................................................................................iiiLIST OF FIGURES..................................................................................................................................................vLIST OF TABLES..................................................................................................................................................viLIST OF APPENDICES.........................................................................................................................................vi1 INTRODUCTION............................................................................................................................................1

1.1 Overview of Background.........................................................................................................................11.2 Project Objectives....................................................................................................................................11.3 Scope of the Project..................................................................................................................................2

1.3.1 GPS Technology................................................................................................................................21.3.2 Selection of Hardware Devices..........................................................................................................21.3.3 Selection of Programming Language.................................................................................................31.3.4 Concept of SMS Technology.............................................................................................................4

1.4 Project Application...................................................................................................................................41.5 Terms of Reference.................................................................................................................................5

1.5.1 Project Design and Development.......................................................................................................51.5.2 Project Testing and Evaluation..........................................................................................................51.5.3 Results and Enhancement...................................................................................................................61.5.4 Troubleshooting and Evaluation........................................................................................................6

1.6 Layout of Project Report..........................................................................................................................62 Project Management.........................................................................................................................................8

2.1 Project Planning.......................................................................................................................................82.2 Project Monitoring...................................................................................................................................82.3 Project Risk Management........................................................................................................................9

2.3.1 Compatibility Issue............................................................................................................................92.4 Cost Management...................................................................................................................................10

3 Literature Review...........................................................................................................................................113.1 Global Positioning System (GPS) Introduction.....................................................................................113.2 Overview of GPS...................................................................................................................................113.3 GPS Segments........................................................................................................................................123.4 Operation of GPS...................................................................................................................................13

3.4.1 Triangulation....................................................................................................................................153.4.2 Doppler Measurement......................................................................................................................16

3.5 GPS Applications...................................................................................................................................173.6 Short Message Service (SMS) Technology...........................................................................................17

4 System Integration..........................................................................................................................................204.1 System Overview...................................................................................................................................204.2 System Architecture...............................................................................................................................22

5 System Design Considerations.......................................................................................................................255.1 GPS tracker SMS format........................................................................................................................255.2 GPS Data source....................................................................................................................................265.3 Export SMS data....................................................................................................................................265.4 GPS Errors.............................................................................................................................................26

5.4.1 GPS Ephemeris Errors.....................................................................................................................275.4.2 Multipath Error.................................................................................................................................275.4.3 Satellite and Receiver Clock Errors.................................................................................................28

6 Software Developments.................................................................................................................................296.1 GPS Tracking Software Flowchart..............................................................................................................296.2 Graphical User Interface (GUI)..............................................................................................................316.3 Software Implementation.......................................................................................................................32

6.3.1 Main GPSTrackingSystem Class.....................................................................................................326.3.2 rdGPSLive_CheckedChanged() Function........................................................................................326.3.3 rdGPSHis_CheckedChanged () Function........................................................................................336.3.4 btnBrowse_Click () Function...........................................................................................................346.3.5 btnRead_Click() Function................................................................................................................356.3.6 btnView_Click () Function...............................................................................................................36

iiiBME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 5: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

6.3.7 btnClear_Click () Function...............................................................................................................376.3.8 btnReset_Click () Function..............................................................................................................376.3.9 btnExit_Click Function....................................................................................................................386.3.10 ReadLiveGPSData(string strpath) Function...............................................................................396.3.11 ReadHistoryData() Function.......................................................................................................426.3.12 ConvertFromDMS2DD(string strData) Function.......................................................................456.3.13 Mid(string strData, int iPos1, int iPos2) Function......................................................................476.3.14 KillProcess() Function................................................................................................................48

6.4 Mapping Module....................................................................................................................................497 TESTING AND EVALUATION..................................................................................................................52

7.1 Troubleshooting and Debugging..................................................................................................................537.1.1 Test Condition 1: GPS Tracking System.........................................................................................547.1.2 Test Condition 2: Security Features.................................................................................................567.1.3 Test Condition 3: Track Vehicle position using SMS......................................................................587.1.4 Test Condition 4: Mapping Feature.................................................................................................60

7.2 Functional Test – GPS Tracking System...............................................................................................628 PROBLEMS AND DISCUSSION................................................................................................................63

8.1 GPS Tracker Connection Issue..............................................................................................................638.2 GPS Tracker SMS Interval Issue...........................................................................................................648.3 GPS Tracker Timing Issue.....................................................................................................................658.4 Computer Administrator Access Right Issue...............................................................................................668.5 Google Map Display Issue.....................................................................................................................67

9 CONCLUSIONS AND RECOMMENDATIONS........................................................................................689.1 CONCLUSIONS....................................................................................................................................689.2 RECOMMENDATION...............................................................................................................................68

10 CRITICAL REVIEWS AND REFLECTIONS.........................................................................................69References [Books]................................................................................................................................................70References [Websites]............................................................................................................................................71Appendix A............................................................................................................................................................74

Specification of GPS Tracker Device, MT80....................................................................................................74Specification of Huawei E1550 Mobile Adaptor...............................................................................................75Appendix B-1: Gantt chart................................................................................................................................76Appendix B-2: Activities Breakdown Chart......................................................................................................77Appendix B-3: Bill of Material (BOM).............................................................................................................78

APPENDIX C........................................................................................................................................................79GPS Tracker Software Source Code..................................................................................................................79Appendix C-1 Main GPSTrackingSystem Class........................................................................................79Appendix C-2 rdGPSLive_CheckedChanged() Function...........................................................................79Appendix C-3 rdGPSHis_CheckedChanged() Function............................................................................79Appendix C-4 btnBrowse_Click () Function..............................................................................................80Appendix C-5 btnRead_Click () Function..................................................................................................80Appendix C-6 btnView_Click () Function.................................................................................................80Appendix C-7 btnClear_Click () Function.................................................................................................81Appendix C-8 btnReset_Click () Function.................................................................................................81Appendix C-9 btnExit_Click () Function...................................................................................................82Appendix C-10 ReadLiveGPSData(string strPath) Function.......................................................................82Appendix C-11 ReadHistoryData() Function...............................................................................................84Appendix C-12 ConvertFromDMS2DD(string strData) Function...............................................................86Appendix C-12 Mid(string strData, int iPos1, int iPos2) Function..............................................................86Appendix C-12 KillProcess() Function........................................................................................................87

Appendix D............................................................................................................................................................88Mapping Source Code........................................................................................................................................88

Appendix E.............................................................................................................................................................90Field Testing Results..........................................................................................................................................91Appendix E-1: Journey from Alexandra to Ang Mo Kio...................................................................................91Appendix E-2: Journey from SIM University to Singapore Polytechnic and back to SIM University.............93

Glossary..................................................................................................................................................................98

ivBME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 6: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

LIST OF FIGURES

Figure 1.1: Different Views of MT80 GPS Tracker................................................................................................3Figure 1.2: Mobile Adapter......................................................................................................................................3Figure 2.1: Work Breakdown Structure (WBS).......................................................................................................8Figure 3.1: The Three Components of the elements of GPS.................................................................................13Figure 3.2: GPS – The Error Budget.....................................................................................................................15Figure 3.3: Principle of Doppler Shift....................................................................................................................16Figure 4.1: System Process Flow...........................................................................................................................20Figure 4.2: Security setting of GPS tracker using Movement Alarm....................................................................21Figure 4.3: Security setting of GPS tracker using Geo-Fence...............................................................................22Figure 4.4: System Architecture of GPS tracking..................................................................................................22Figure 4.5: MT80 GPS tracker Parameter Editor...................................................................................................23Figure 4.6: Illustration of SMS interval setting to 60 minutes interval..................................................................23Figure 4.7: Illustration of Security setting to 60 minutes interval.........................................................................24Figure 6.1: Flowchart of GPS Tracker with Mobile Adaptor................................................................................29Figure 6.2: Flowchart of GPS Tracking Application.............................................................................................30Figure 6.3: GPS Tracking System - Graphical User Interface (GUI)....................................................................31Figure 6.4: Flowchart of rdGPSLive_CheckedChanged() function.......................................................................32Figure 6.5: Flowchart of rdGPSHis_CheckedChanged() function........................................................................33Figure 6.6: Flowchart of btnBrowse_Click () function..........................................................................................34Figure 6.7: Flowchart of btnRead_Click() function...............................................................................................35Figure 6.8: Flowchart of btnView_Click () function.............................................................................................36Figure 6.9: Flowchart of btnClear_Click () function.............................................................................................37Figure 6.10: Flowchart of btnReset_Click () function...........................................................................................38Figure 6.11: Flowchart of btnExit_Click () function.............................................................................................38Figure 6.3.12: Flowchart of ReadLiveGPSData(string strpath) function..............................................................41Figure 6.13: Flowchart of ReadHistoryData() function.........................................................................................44Figure 6.14: Flowchart of ConvertFromDMS2DD(string strData) function........................................................46Figure 6.15: Flowchart of Mid(string strData, int iPos1, int iPos2) Function.......................................................47Figure 6.16: Flowchart of KillProcess() function..................................................................................................48Figure 6.17: Flowchart of Mapping Module..........................................................................................................50Figure 6.18: Google Map with Location Markers..................................................................................................51Figure 7.1: Actual Field Testing Equipments........................................................................................................52Figure 7.2: Process Flow Chart of Troubleshooting..............................................................................................53Figure 7.3: Process Flow chart of GPS Tracking System Debugging...................................................................54Figure 7.4: Screenshot of GPS Tracking System GUI with data from SMS.DTC................................................55Figure 7.5: Movement Alarm setting and Alert.....................................................................................................56Figure 7.6: Illustration of Geo-Fence setting and Alert.........................................................................................57Figure 7.7: Track by SMS......................................................................................................................................58Figure 7.8: Track on Demand................................................................................................................................59Figure 7.9: Process Flow Chart of Google Map Debugging..................................................................................60Figure 7.10: Confirmation of markers information with log file...........................................................................61Figure 7.11: Functional Testing of the GPS Tracking System..............................................................................62Figure 8.1: USB-to-Serial Adaptor........................................................................................................................63Figure 8.2: Illustration of Sending SMS to GPS Tracker to set 1 minute..............................................................64Figure 8.3: Illustration of GPS Tracker Time Zone Set.........................................................................................65Figure 8.4: Properties setting of GPS tracking software on Compatibility tab......................................................66Figure 8.5: Google Map API loaded on Mozilla Firefox Browser........................................................................67Figure 8.6: Google Map API loaded on Microsoft Internet Explorer....................................................................67

vBME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 7: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

LIST OF TABLES

Table 3.1: Concept development and standardisation of SMS.............................................................................19Table 3.2: Development of SMS in the market.....................................................................................................19Table 5.1: GPS data information............................................................................................................................25Table 6.1: Format of Latitude and Longitude in Degrees Minutes Seconds..........................................................45

LIST OF APPENDICES

Figure E-1: Journey of field testing from Alexandra Road to Ang Mo Kio..........................................................92Figure E-2: Journey of field testing from SIM University to Singapore Polytechnic and back to SIM University................................................................................................................................................................................94Figure E-3: SIM University...................................................................................................................................94Figure E-4: Ngee Ann Polytechnic........................................................................................................................95Figure E-5: Sunset Way.........................................................................................................................................95Figure E-6: Singapore Polytechnic........................................................................................................................96Figure E-7: SingTel Tower at Dover......................................................................................................................96Figure E-8: National University of Singapore (NUS)............................................................................................97Figure E-9: Ministry of Education (MOE) at Buona Vista....................................................................................97

viBME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 8: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

1 INTRODUCTION

1.1 Overview of Background

The Global Positioning System (GPS) is a location system based on a constellation of 24 to

32 satellites orbiting round the earth at altitudes of 11,000 miles. (Robert 2003). Each satellite

is powered by the Sun via its solar panel. (Jeanne Strum 2009). In its earlier years, GPS was

developed in the US for military use, for the Department of Defense (DOD). Through the

years of development and improvement, we have advanced the use of GPS to tracking our

precise location worldwide and as a navigation aiding tool for civilian usage. Currently, it is

used as navigation tool device to assist us in finding the shortest route to our destination. We

can use it either in the forest to help in navigation task or in a vehicle to guide us to our

destination. Runner uses GPS watches worn on wrist to track the distance and route they have

travelled. As such, with the advancement of GPS into our life, we will never lose our way

again which saves us time, energy and petrol. In conclusion, overall GPS improves our

efficiency in our daily life (Jeanne Strum 2009).

1.2 Project Objectives

The main objective in this project is to develop a low cost object tracking system using

limited resources, with the possibility of an added security feature. The low cost GPS object

tracking systems can track the movement and determine the exact location of the object. This

allows the owner/company to track the delivery objects like goods, cargo, vehicles, etc. Thus,

the drivers would be unable to use the vehicle for personal objectives. This helps the

company to save in expenses spent on fuel/petrol and increases their profit margin.

The GPS tracking system can be used as an added security to deter vehicle theft and in

notifying the car owner once the vehicle has being stolen. For instance, the GPS tracker has a

security feature which aid in tracking a stationed vehicle if it moves 50 meters out of the

predefined radius. A SMS will be sent to notify the user that the vehicle is being stolen.

Eventually, the satellite data which is received by the GPS tracker device will be transmitted

to a computer, so as to plot out the travelled route of vehicle on a map. This allows the

tracking of a moving vehicle.

1BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 9: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

1.3 Scope of the Project

This project requires basic understanding of GPS technology and C# programming in order to

implement the tracking system and complete it on schedule for submission.

1.3.1 GPS Technology

The most important factor in GPS tracking, accuracy is essential to precisely track the exact

location in real-time. There is a need to know the GPS infrastructure layouts, limitations, and

communication protocol. Research will need to be conduct in order to fully understand each

individual component. We need to understand the type of methods used for the GPS

technology and the problem which would affect the performance of the GPS tracker receiving

of satellite signal. More detailed information will be covered in Chapter 2.

1.3.2 Selection of Hardware Devices

With the advancement of technology, we can easily use a GPS tracker to locate our current

position anywhere on the earth. The main advantage of the GPS tracker is that it can track the

location accurately. Nevertheless, it needs to be operated in an open area without any shelter

blocking the satellites signal. Once the GPS tracker detected 4 or more satellites, it will be

engaged. The longitude and latitude can be retrieved from the satellite signal and it defines

the current position (Robert I. Egbert & Joseph E. King 2003).

After a comprehensive search for suitable GPS Tracker, MT80 GPS Tracker is chosen for

this project. MT80 is compact and light weight with dimensions of 15mm thick, height and

width at 61 x 42 mm. The volume is set at 89 cc. The weight, inclusive of battery is a mere 50

grams. It has a relative long battery life of 10 hours and low power consumption with standby

period of up to 4 days (96 hours). It has 2 colours LED which indicates the connectivity with

the satellites and GSM networks. It provides raw satellite data like coordinates, time, latitude,

longitude, etc) with SMS data once it is connected with 4 satellites. For detailed specification

of the tracker, refer to Appendix A.

2BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 10: TanYongPengCharles FYP

Figure 1.1: Different Views of MT80 GPS Tracker

Figure 1.2: Mobile Adapter

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

For receiving of GPS data, we require a SMS receiver that interface with the computer in

order to capture all GPS information via SMS. Once that information is captured on the

computer, plotting of map is allowed on the waypoints travelled by the GPS tracker by the

vehicle. For SMS receiver, mobile broadband adaptor, Model: E1550 from HUAWEI is

being selected. It is compact with size of 11.5mm (H) x 87.5mm (L) x 26.0mm (W) and

easily installed with USB plug and play interface. Moreover, it supports 3.5G network using

mobile SIM card for ease of fast transmitting rate for SMS. For more detailed specification of

the tracker, refer to Appendix A.

1.3.3 Selection of Programming Language

Although there are various choices of programming language such as C#, C++, Java, Open

GL and Google Map API, C# (C Sharp) is chosen for the project. The reason being, all

programming languages which was implemented from the previous students was C#. This

will shorten the time needed to meet the tight schedule for the implementation, as we can

study and learn from the previous students’ programming codes in order to improve on the

functionality. Moreover, C# programming software is free after an online registration with

Microsoft. C# programming codes will be implemented and compiled on the latest Microsoft

Visual C# 2010 Express Edition, running on Window Vista Home Premium operating

system.

3BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 11: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

1.3.4 Concept of SMS Technology

SMS stands for Short Message System. It allows text messages to be sent and received to and

from mobile telephones using the SIM card in the mobile device. Each SMS can hold up to

160 characters based on Latin alphabet. Most importantly, SMS will be used to send to the

recipient as assigned by each mobile number. Therefore, we must ensure both parties’

devices are in online mode and connected to the network. If the device is offline, the SMS

will be stored temporarily in the SMS center until the validity of the device is connected to

the network again. This will determine the accuracy of the data in real time situation when

using SMS as a platform to transmit the data (Gwenael Le Bodic 2003).

1.4 Project Application

Basically, most GPS device found in the market are used for vehicles tracking as they

includes a monitor display to navigate to their destination (Jeanne Strum 2009). In this

project, we are using the GPS tracker mainly for tracking vehicle’s location. Ultimately, GPS

tracking system will be implemented to accurately track the current location of the vehicles

and the route travelled in order to ensure the vehicle is being used for work rather than for

personal objective.

The GPS Tracking system can be used for companies like logistics and dispatch services for

real time status of the post or good delivery. This will ensure that the delivery is on schedule

and accountable to the customer on the current status of the delivery. In addition, it can be

used for improved customer service. For instance, the customer service officer can locate and

plan the service repairman near the customer’s area for any urgent case of repair request

accordingly. This will speed up the response time to customer and eventually improve the

efficiency.

Movement Alarm will act as a security feature to ensure that the vehicle is not moved out of a

predefined area where it is parked. Once the vehicle moves out of the predefined area, a SMS

will be send to the user to notify that their vehicle is being stolen. The users can than use the

GPS tracking system to efficiency track down and recover their vehicle. This will prevent

vehicle theft from occurring.

4BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 12: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

In order to fully utilise the GPS tracking system, it can also be used for application such as

small children, pets, high cost equipments, sports. It will ensure the safety and prevent them

from being kidnapped. For instance, as long as the child moves out of the predefined

boundary where he travels from school and home, a SMS will be send to notify the parent.

They can than turn on the tracker system to determine the child current location. This

similarly applies for pets like dog and cat, and high cost equipments. For sports like running,

runner can track the distance they have travelled (Jeanne Strum 2009).

1.5 Terms of Reference

1.5.1 Project Design and Development

The most essential part of the project is the software implementation and correct hardware

chosen to meet the requirements of the project. C# programming language is used to develop

the tracking system. From conception, this project requires a significant amount of planning

and coordination so as to meet the planned schedule of submitting the final report on time.

The main focus will be on the retrieval of SMS data with longitude and latitude, for the

purpose of plotting the map of the vehicle on the computer accurately. Security like

movement alarm will be included in the feature of the tracker to meet the objective. Part of

the time will be spending on researching and understanding of SMS and GPS technology.

Other than that, most of the time will be spent on designing, developing and troubleshooting

on the software.

1.5.2 Project Testing and Evaluation

Debugging will be done at any point of time when each component of the software is ready,

so that problems can be rectified instantly. Therefore testing for each of the components

works before proceeding to next component is important. Once the software is completed,

testing and evaluation will be conducted. Testing would be done from the end users

viewpoint so as to gain a better understanding of what problem they will be facing and what

kind of improvements can be made.

5BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 13: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

1.5.3 Results and Enhancement

Most importantly, delivery of the results to meet the project’s objectives is needed. This

depends on the testing results and review if there is any enhancement needed in order to fulfil

the project objectives.

1.5.4 Troubleshooting and Evaluation

Troubleshooting and Evaluation will be conducted to ensure that there is no error and all the

objectives are delivered correctly.

1.6 Layout of Project Report

Chapter 1: - Introduction which gives a summary of the project objectives, hardware and

software, application and project scope. Further detail on individual component will be

explained in the later chapters.

Chapter 2: - Project management gives information on problem which would be faced

during the project development stage. Therefore, earlier prevention plan plays an important

part of the project.

Chapter 3: - Literature review on researches of background on GPS and SMS technology.

Concepts, principles and application used for GPS are being covered in this chapter.

Chapter 4: - System Integration of GPS Tracking System which plans the project process

flow towards meeting the requirements of the project.

Chapter 5: - Highlight of the problems faced for System Design which aided in the

prevention of the software implementation.

Chapter 6: - Software developments with explanation of each of the functions and flowchart

for further illustration for GPS tracking system.

Chapter 7: - Testing and evaluation methods which show the results of the functionality of

GPS tracking system.

6BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 14: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Chapter 8: - Problems which encountered during the process of development for GPS

tracking system and solutions used to fix the issues.

Chapter 9: - It gives the conclusion on what is done and achievement. Recommendations are

included which provides some suggestions to improve and enhance on the project.

Chapter 10: - Reflections on the development of the project. Essentially, the experience and

knowledge learnt from the process of project development.

7BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 15: TanYongPengCharles FYP

Figure 2.1: Work Breakdown Structure (WBS)

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

2 Project Management

2.1 Project Planning

Planning is the most crucial part in the project. Therefore appropriate planning is needed in

the initial stage of the project. Without proper planning, it will cause time delay or even

failure to deliver the project. The following work breakdown structure in Figure 2.1

illustrates the overall scope skeleton of the project organization.

2.2 Project Monitoring

A Gantt chart marks the starting and finishing dates of the project. It summarizes all the

events which will take place in bar chart format. The work breakdown structure is clearly

illustrated in the grant chart. Thus, it serves as a good guide for us to be keep in pace with the

schedule to complete the project. However, due to certain deadline for the project completion,

extra effort is needed in the event of unforeseen circumstance such as extra time spends on

troubleshooting of programming codes.

Gantt chart serves as an overview guideline. Please refer to the Appendix A for the Gantt

chart on the project. Majority of the time would be allocated towards troubleshooting on the

software. In regards to project monitoring, the estimated number of days allocated for

completing each of the tasks of the project, is shown in Appendix B.

8BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 16: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

2.3 Project Risk Management

There are four stages to risk management planning. They are as follows:

Risk Identification – Identifying what is the cause and impact.

Risks Quantification – Marking out what is the probability that the risk will happen

and what is the impact to it.

Risk Response – Finding ways to avoid, reducing the impact and accepting the risk.

There is no point to ponder over it.

Risk Monitoring and Control – Regularly checking status on the outstanding action to

the risk and identifying new risk which might occur.

2.3.1 Compatibility Issue

There are mainly 2 compatibility issues: Software and hardware compatibility.

For software compatibility, the problem which is being faced was that the compiled program

is unable to access the data stored in the computer folder on Window Vista. This prevents the

accessing of the SMS data received. In order to resolve this issue, during each execution of

the program, right click and select “Run as administrator” is required. Another software issue

is the setting of the MT80 tracker using Parameter Editor Software, in order to send SMS

data set at interval of 1 minute. The current parameter editor only allows set up of 10 minutes

interval. In order to set the interval at 1 minute, the message “0000A1” needs to be send to

the tracker via SMS.

For hardware compatibility, the MT80 tracker needs a special USB-to-Serial Adaptor in order

to interface with the computer to use the Parameter Editor software to configure the setting.

Initially the MT80 tracker came without the USB-to-Serial Adaptor as it is a loan unit. After

checking with the vendor, it is found that the USB-to-Serial Adaptor is required for

communication.

9BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 17: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

2.4 Cost Management

In order to keep the cost of the project as low as possible, careful tracking of expenditure is

required for the whole project. This is because implementing a low cost GPS vehicle tracking

system is needed. In addition, the claim for the project is kept at S$100. Further information

of the bill of material is summarized in Appendix B.

10BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 18: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

3 Literature Review

3.1 Global Positioning System (GPS) Introduction

In 1957, the very first satellite which was sent to space was the Russian Sputnik 1. The

purpose of this mock satellite was to test on its functionality. Sputnik 1would be transmitting

radio signal (Doppler or frequency) which was monitored by researchers from Applied

Physics Laboratory (APL) of the John Hopkins University. Based on the Doppler shifted of

satellite motion, Dr. Frank T. McClure (of APL) discovered that the user’s location can be

defined from the Doppler Shift measurement (Bowditch, N. 2002; Parkinson, B.W. 1995). In

April 1960, trial satellite (known as Transit) built based on the Doppler Shift measurement

was launched via rockets into space. Similarly, another satellite known as Cicada, was built

based on the same Doppler system by the Union of Soviet Socialist Republics (USSR) after a

short period of time (Parkinson, B.W., 1995). In 1988, the Transit launch program ended.

Eventually, the Transit system was inactive in 1996 (Bowditch, N. 2002).

In the early 1970s, the Transit system was being replaced by Global Positioning System

(GPS) which was conceived by the U.S. Department of Defense (DoD). Global Positioning

System (GPS) was originally designated for military use. The original purpose for

development of the system is the need for Submarines to accurately locate their position

before launching missiles (Robert I. Egbert & Joseph E. King 2003). In 1973, the Air Force

took all the information and put it together into a single program called the NAVSTAR

(Navigation Signal Timing and Ranging) GPS (Jeanne Strum 2009). In the 1980, GPS was

made available to civilians. Until today, GPS can be accessed by both military and civilian

users (FRP 2001). GPS provides continuous positioning, timing and speed information

anywhere in the world regardless of any weather condition. GPS is a one-way ranging

(passive) system which provides usage by many users and can act as security features to track

the users or objects (Langley, R.B 1990).

3.2 Overview of GPS

Global Positioning System (GPS) is a U.S. space-based global navigation satellite system

made of a network of 24 NAVSTAR satellites orbiting around the globe which offers real-

time positioning, navigation, velocity and timing services regardless of weather, day and

night, anywhere on the Earth with open space. Each satellite orbits approximately 10,900

miles above the earth. Each satellite weights as much as 4,000 pounds with 17 feet long solar

11BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 19: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

panel extended to collect power from the sun. This allows GPS to operate 24 hours a day.

The life span of each satellite is approximately 7.5 years. New satellites are planned and the

system will be maintained.There will be 5 ground stations to ensure that each satellite

functions correctly and maintain its exact position in space (Robert I. Egbert & Joseph E.

King 2003).

3.3 GPS Segments

There are mainly 3 segments in GPS. They are: Space, Control and User (Wells, D.E., et al.,

1987).

1) Space Segment: There are 24 GPS satellites which orbits around the globe. Nominal

orbit height is about 20,200 Kilometres which operates with full 24 hours operation.

Each GPS satellite will transmit a signal to the ground GPS receiver. The GPS receiver

calculates the distance to the satellites. Eventually information like coordination of

current location, time and speed is being retrieved from the receiver (Ahmed El-

Rabbany 2006).

2) Control Segment: It comprised of a Master Control Station which has 5 ground

stations located around the world to ensure that the satellites are functioning properly.

The main control station (MCS) is located in the U.S. GPS satellites use the ground

stations to determine the satellites location, atomic clocks status and other

considerations (Langley, R. B 1991).

3) User Segment: It comprised GPS receivers that are designed to decode the Signals

from the Satellites to determine the position, velocity and time. There are 2 types of

service available to GPS users: -SPS (Civilian) and the PPS (Military). GPS is free to

all users all over the world (Ahmed El-Rabbany 2006).

12BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 20: TanYongPengCharles FYP

Figure 3.1: The Three Components of the elements of GPS (Illustration from "The Aerospace Corporation")[ ]

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

3.4 Operation of GPS

At any point of times, there are about 24 operational GPS satellites orbiting around our globe,

which takes a period of 12 hours to orbit complete one full round. At any one point of time,

only 12 satellites can be detected as another 12 is at another side of the earth. Thus, the

satellite orbits the earth twice in a day. The satellites is operated and belonged to the U.S. Air

Force. Ground stations are used to precisely track each and every satellite's status and health.

Theoretically, the satellites broadcast microwave radio signal to earth to determine

positioning in the Ultra High Frequency band. The GPS receiver will pick up the GPS signal.

The GPS signal is made up of 3 different bits of data which are known as pseudo random

code, almanac data and ephemeris data as follows:

1) Pseudorandom code: ID code that detect which satellites are broadcasting

information. The ID code can be view from the GPS’s unit satellite information

screen. We used a string of binary numbers to differentiate which satellite the signal is

from. It also tells the time difference between the transmitter and receiver. GPS

satellites are around 20,000,000 meters above the Earth. The shift, which due to

propagation delay is the so-called “Time difference”. Time difference can be

computed using the formula as shown below:

Time Difference (in seconds) * 2.99792458 108 meters/second = Distance (in meters)

13BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 21: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

2) Almanac data: Data which has orbital parameters to differentiate between which

satellite is to be seen on the GPS receiver in the unobstructed sky. As such, the

receiver will know which satellite to follow. However, this Almanac data is not

accurate as it can be valid for several months.

3) An Ephemeris data: It allows the receiver to know where the GPS satellite is at any

point of time in the day. Conversely, this Ephemeris data can be only valid for 2 to 4

hours. Essentially, it is quite accurate as the GPS receiver receives the signal to

provide the orbital information that interprets the path which the satellite is following

as its orbits around.

With the aid of pseudorandom code, almanac data and ephemeris data, the GPS receiver can

easily determine the time, date, distance from satellite, velocity and satellite status and

coordination. For the GPS receiver’s location, a process called triangulation is used. And

there will a shift in frequency called Doppler Effect.

14BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 22: TanYongPengCharles FYP

Figure 3.2: GPS – The Error Budget(Illustration from "Geneq inc.")

[]

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

3.4.1 Triangulation

GPS receiver can use triangulation process to determine the exact position by calculating 3 or

more distance of satellites. For instance, the 1st satellite is 11,000 miles to a point in space.

The 1st satellite is centered in a sphere which has a radius of 11, 000 miles to the surface.

There is a 2nd satellite which has a radius of 12,000 miles to the surface of the sphere. The

point where 2 spheres intersect can define some location points. However, the true location

still cannot be defined as the area coverage is too large. By using the same logic, there is 3rd

satellite which has about 13,000 miles radius to the surface of the sphere. 2 points can be

determined where the 3 satellites spheres intersect. Theses 2 points are far apart which is not

accurate. In order to find the true location, we need a 4th satellite. The in-built clock in the

GPS receiver will need to synchronise with the satellites atomic clocks to accurately calculate

the distance of the satellites to the GPS receiver. This is important as a small difference in the

time for these 2 clocks can cause hundred miles of error. By having 4th satellite predicted

point, we can determine the clock discrepancy between the locations predicted by initial 3

satellites since the GPS receiver clock is imperfect. The 4th satellite can also determine the

elevation (Robert I. Egbert & Joseph E. King 2003).

15BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 23: TanYongPengCharles FYP

Figure 3.3: Principle of Doppler Shift (Illustration from “Windows Team (2000)”) []

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

3.4.2 Doppler Measurement

When a train is approaching, an increase in pitch of the train whistle is noticed. A decrease in

pitch of train whistle as the train is moving away. Such change in pitch due to physical

phenomenon is known as the Doppler Effect or frequency shift. This effect was name after

the Austrian physicist Christian Doppler (1803-1853) (Seeber, G. 2003). In this example, the

Doppler Effect is the difference in frequency of the acoustic signal received at the observer

and the frequency at the source from the train. Doppler Effect (or frequency shift) occurs

when there is a relative motion (or velocity) between a sound of source (or radiation) and an

observer (or receiver).

The relative motion (or velocity) between the GPS satellites and a GPS receiver (stationary or

in moving motion), the received GPS signal will be Doppler (or frequency) shifted. As such,

parameters like amount of Doppler shift, the satellite velocity, and the receiver’s velocity can

established a relationship that relates to the relative motion (Kaplan, E. 1996). From the

ephemeris information of the received GPS signal, some GPS receiver can provide Doppler

measurement and use the estimated satellite velocity to determine the receiver velocity.

However, the Doppler (or frequency) shift will not be significant due to the high altitude of

GPS satellites. The Doppler-based receiver’s may not be accurate enough for some

application (Ahmed EL-Rabany 2006).

16BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 24: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

3.5 GPS Applications

Global Positioning System (GPS) was originally designated for military use. The original

purpose for development of the system is the need for Submarines to accurately locate their

position before launching missiles (Robert I. Egbert & Joseph E. King 2003).

All GPS receivers make use of orbiting satellites to determine their location. As the

technology advances, there is an increase of usage of GPS. Handheld GPS units can be used

for outdoor sports like hiking, boating, fishing, navigating at Sea, etc. For instance, GPS

receiver can be used to guide the user on the current position when they are lost and navigate

the way out from the woods or sea. GPS receiver can also be used to measure the distance of

ball from the hole for golfers and keeping on the right path for bicyclists.

GPS can be used at work for delivery and courier services, construction, aviation, etc. As

such, the delivery truck and courier services can determine the safest and shortest route to

save time and petrol. Construction companies can accurately mark the point where the

building or underground tunnel is located. Aviator uses GPS receiver to navigate in bad

weather (Jeanne Strum 2009).

There are too many applications for usage of GPS. Most common GPS application is vehicle

navigation. Nowadays, most vehicles install GPS receiver with a monitor to show the user the

shortest route to the destination on the road. Currently cell phones come with integrated GPS

receiver too. In addition, GPS can be used as an emergency locator and security feature to

track vehicles location. The GPS is one way that satellites have becomes part of everyday

lives (Robert I. Egbert & Joseph E. King 2003).

3.6 Short Message Service (SMS) Technology

The origins of SMS messaging remain unknown, as there is no one person that can take credit

for development of the idea. In addition, those involved with the development of SMS

messaging mostly thought it would be a convenient method for sending text message to their

customers carrying mobile devices. No one expected it to be as highly successful in the way

that it is today.

17BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 25: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Although no one knows who to give “credit” to for the development of SMS messaging, there

was a discussion within the former leadership of the Technical Committee GSM took place to

straighten out the record. Based on the study and their discussion, they had come out with the

conclusion.

Years before the development of GSM, text messaging was already a known

telecommunication service. The Global System for Mobile communications (GSM) started in

1982 as a pan-European cooperation.

Nordic, German and French operators cooperated together and came out with a Proposal for

text messaging as a service in GSM. The Nordic operators used an access to a message

handling system, which is an identical service to email. Eventually the GSM committee

standardized this service which leads to a technical report on the technical realisation of

access to message handling systems.

The German and French operators mainly concentrated on ‘Short Message Transmission’.

Several services centre was assigned to use this service to transmit text messaging over the

current signalling paths which was used by the GSM telephony system with lower-priority

basis. Initially the message was designed to be short which were estimated 128 Octets or

characters. Eventually, it was maximised to 160 characters. In the 1983/4 timeframe, the

concept was developed in the Franco-German cooperation programme.

At the initial stage from February 1985 to the end of 1986, the GSM committee specified the

service features of the Short Message Service (SMS). Most of the works came from Germany

and France.

From 1987 onwards, the technical understanding of SMS was standardised in a small group

known as Drafting Group on Message Handling. The first chairman of drafting group and the

editor of the key technical specification were from Norway (later replaced by the UK). All

technical work was mostly from Finland, France, Norway and the UK. The initial phase of

SMS specifications included items such as service definition, network architecture, topology

and protocols, acknowledgement capabilities, functionality for alerting on messages waiting,

time stamping and capabilities of identifying application protocols.

18BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 26: TanYongPengCharles FYP

Table 3.1: Concept development and standardisation of SMS(Friedhelm Hillebrand 2010, p.20)

Table 3.2: Development of SMS in the market(Friedhelm Hillebrand 2010, p.21)

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

In the later stage, all SMS standardization in the drafting group was headed by UK. Most of

the technical work was also by UK. Examples of enhancements from this period are

automatic replacement of messages, so-called ‘flash SMS’ and voicemail icons, followed by

colour and picture capabilities and long SMS.

In conclusion, the origin of the text messaging services in GSM can be found in the historical

development of telecommunication services. SMS was produced by a small group of people.

Work on the standardisation of services and technical realisation was approved by the GSM

committee dealing with the standardisation of the new Pan-European Mobile Communication

Service and System (Friedhelm Hillebrand, et al. 2010).

19BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 27: TanYongPengCharles FYP

GPS Signal

SMS Data

Satellites

MT80 GPS TrackerGSM Network

SMS Data

SMS Data

Mobile Phone

LaptopBoard Band Dongle Key

Figure 4.1: System Process Flow

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

4 System Integration

4.1 System Overview

The system process flow illustrated in figure 4.1 gives an overview of the system. The system

devices consist of a MT80 GPS tracker, Mobile Broadband dongle key, mobile phone and

laptop which link up via Global System for Mobile Communication (GSM) network in

wireless connectivity. All devices in this project involved have standalone capability. GSM

network is chosen as it has almost full coverage everywhere in Singapore.

GPS tracker will be placed at the dashboard of the vehicle to get satellites connection. GPS

tracker is configured to send short service message (SMS) in every 1 minute interval. 1

minute interval is chosen because it is the shortest time possible to send out SMS. Moreover

high accuracy can be attained as a vehicle travels more than 100 meters in 1 minute without

any traffic congestion. Once the GPS tracker received 3 to 4 satellite signals, it will send the

current location (longitude and latitude), time, date and speed via SMS data. If the GPS

tracker is still searching for satellite signal, previous location information captured by the

20BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 28: TanYongPengCharles FYP

Figure 4.2: Security setting of GPS tracker using Movement Alarm

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

GPS tracker is being sent. Mobile Broadband adaptor is to receive the SMS data on laptop

and plot out the multi-points location on the Google map in real time. There are 2 types of

security features in the GPS tracker: movement alarm and Geo-fence. Although both security

features are called geo-fencing, there are different in their functionality. Only one alarm can

be set in either Movement Alarm or Geo-fence Alarm.

Security feature like Movement Alarm will be set on the GPS tracker using SMS from a

mobile phone. Once the GPS tracker in the vehicle exits the preset square scope, it will send

out SMS alarm to the authorized preset phone number to alert the user. The minimum and

maximum distance covered is 30 meters and 2000 meters respectively.

Another security feature is called Geo-fence. User can define the preset square scope. Once

the vehicle moves in/out of the preset square scope, GPS tracker will send out SMS to warn

the user.

XY coordinates for the preset square include Lower-left X, Lower Left Y, Upper-right X,

Upper-right Y. For example: “1140.0000,E,2232.0010,N,11505.1234,E,2333.5678,N”. All

Longitudes and Latitudes should be in ASCII format as follows:

1) Longitude: DDDMM.MMMMM,E/W. 4 places of decimal. ‘0’ is needed to be stuffed if

no value available.

2) Latitude: DDMM.MMMM,N/S. 4 places of decimal. ‘0’ is needed to be stuffed if no

value available.

21BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 29: TanYongPengCharles FYP

Figure 4.3: Security setting of GPS tracker using Geo-Fence

Figure 4.4: System Architecture of GPS tracking

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

“****EX” is to set alarm when the tracker enters the preset square scope. And “****LX” is

to set alarm when the tracker exits the preset square scope. “****” is the passwords for GPS

tracker. Default password is “0000”. In order to turn off Movement Alarm or Geo-fence

function, send “****M0” to the GPS tracker. Both Movement Alarm and Geo-fence security

features will send SMS alarm to the authorized phone number for SOS set by the user.

4.2 System Architecture

As illustrated in figure 4.3, there are 8 modules in the system architecture layout. SMS and

USB interface module are used to configure the GPS tracker. SMS interface module is a

more direct way to configure the GPS tracker. USB interface module requires USB cable and

22BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 30: TanYongPengCharles FYP

Figure 4.5: MT80 GPS tracker Parameter Editor

Write all setting to the GPS tracker

Set all setting in GPS tracker to factory default

Interval for each SMS with GPS data to send out

USB-COM port number which the GPS tracker is connected

Mobile numbers which the SMS with GPS data will be sent.

Mobile numbers which the SMS will be sent when the SOS button is pressed on GPS tracker.

Read current setting from the GPS tracker

Connect to the GPS tracker

Figure 4.6: Illustration of SMS interval setting to 60 minutes interval

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Parameter editor software to configure. For setting of SMS tracking, it is a one-time

configuration if there are no changes in phone numbers. In addition, installation of hardware

driver is required for communicate with the tracker when connected.

Location module consists of activation of GPS tracker to return its location information

continuously by SMS. The preset interval tracking command is “****AX”. The first 4 digits

“****” is the tracker password which is preset previously. X is the interval in minute with

range [0, 999]. If X is 0, it will stop tracking by interval. 1 minute interval tracking is chosen

for this project and the GPS tracker password is “0000”. In order to set the tracker to 1

minute interval, sending “0000A01” message via SMS is required. This is because parameter

editor software can only set the GPS tracker interval to 10 minutes. Once the interval is set

correctly, the GPS tracker will return “Interval Set” message via SMS to the mobile phone.

23BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 31: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Security module

Security module is used to track if the vehicle moves out of predefined area. Once the vehicle

move out of predefined area, SMS will be sent to notify the user. In order to activate the

security module on the GPS tracker, “****MX” command is sent via SMS on a mobile

phone. “****” is the password and X is the preset distance to original place. X value is from

0 to 8 with the distance coverage from 30 meters to 2000 meters. If X value is 0, it will turn

off security function. For this project, 50 meters is needed. Therefore, command “0000M2” is

sent to tracker via SMS. Figure 4.7 illustrates the X values with distance coverage and

security setting with SMS.

Graphical User interface

Graphical User Interface (GUI) allows the user to easily visualize and control the GPS

tracking system software with a few buttons assigned to perform different tasks.

Mapping module

Mapping module will plot and display the waypoints/route travelled by the vehicles on

Google map. On top of that, the latitude, longitude, date, time and speed information will be

prompted when the point on the Google map is selected.

History log module

History log module allows the user to keep a history record of the path that the vehicle has

travelled previously. As such the locations travelled in a week or a month can be easily

retrieved by the user. Eventually, this history file can be plotted and view on Google map.

24BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Figure 4.7: Illustration of Security setting to 60 minutes interval

Page 32: TanYongPengCharles FYP

A B C D E

Table 5.1: GPS data information

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

5 System Design Considerations

For development of the GPS tracking system, further understanding of the data information

received and errors affecting the GPS tracker performance are the most important factors to

consider for system design. This will be discussed in greater detail in this chapter.

5.1 GPS tracker SMS format

The SMS format sent out by the GPS tracker is latitude and longitude reading follows by

speed in kilometre per hour, and follow by date and time. Other than the latitude and

longitude, the rest of the data are separated by a comma. The data can be separated by the

comma to retrieve each of the information in the software implementation. The SMS format

is shown as follow:

While the GPS tracker is still searching for the satellites signals, the “Last:” text will be

prefixed in front of the SMS format. From this, it can be ascertained if the GPS tracker is

being engaged with the satellites. Once the GPS tracker engaged with 3 or more satellite, the

“Last:” text will be removed.

5.2 GPS Data source

25BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Position Data Fields Description

A Latitude = 01 17 09.36N Latitude (Degrees Minutes Seconds)

B Longitude = 103 48 37.60E Longitude (Degrees Minutes Seconds)

C Speed = 17.0Km/h Speed in Kilometre per hour

D 2009-09-21 Date [Year-Month-Day]

E 16:26 Time in 24 hours format

Page 33: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

The mobile broadband adaptor is using Mobile Partner software to interface with the

computer to receive the SMS data. Eventually, the SMS will be stored in the C: drive folder.

Therefore the location of the data which it is stored is needed in order to retrieve the live GPS

information. After a search through the computer’s folder, the SMS data is stored in “C:\

Program Files\Mobile Partner\userdata” as SMS.DTC. In the event that the SMS.DTC file is

deleted, the SMS data is still intact. This is due to the same SMS data being saved separately

in “C:\Program Files\Mobile Partner\userdata\SMS” as SMS.BA1, SMS.BA2 and SMS.BA3.

All SMS data will be gone once SMS.DTC, SMS.BA1, SMS.BA2 and SMS.BA3 are deleted.

After all SMS data are deleted, the Mobile Partner needs to reboot in order to avoid any error.

The error is caused by SMS data received not being save in the default folders. Eventually all

SMS data will be gone after the mobile partner software is closed. This issue will be taken

into consideration when designing the system software.

5.3 Export SMS data

In order to export all the SMS with location information for future reference, there is an

option in the mobile partner software to do so. The SMS data will be exported as Microsoft

Excel CSV format. As such, the SMS data can be saved as history log file accordingly for

reference. By this function, it can be used to plot and viewed on a map for easy reference.

5.4 GPS Errors

GPS errors might be coming from either the satellites or GPS receivers. Some error is caused

by atmosphere conditions such as signal propagation errors due to the GPS signal passes

through the atmospheric layers. The atmospheric layers which consist of the ionosphere and

troposphere will cause delays to the GPS signal as it passes thorough. The geometric

locations of the satellites will also cause inaccuracy to the GPS signal received by the GPS

receiver. If the satellites are spread out over a greater distance, the GPS signal received by the

receiver will be more accurate (Ahmed El-Rabbany 2006).

5.4.1 GPS Ephemeris Errors

26BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 34: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

As the satellite orbits in space, it will send out information to the monitoring stations.

However, the operational control system takes 1 hour in order to predict fresh satellite orbital

element, with overlapping of every 4 hours. This will cause errors in the estimated satellite

positions which are known as ephemeris errors. With an additional 6 monitoring stations as

control segment, the ephemeris errors dropped from order of about 2 meters to 1.6 meters. As

a result, there is an improvement of 20% accuracy. (IGS 2009)

Different users or receivers face the satellite in different view angles. Therefore there are

different range measurements of position in ephemeris errors. The combination measurement

of 2 receivers to track position of a satellite cannot fully eliminate the ephemeris errors.

However if 2 users or receivers are of a closer distance, they will receive the same range error

caused by ephemeris error, which can be removed through differencing the observations. The

separation of the 2 users is also known as baselines. There is a general rule given to give an

estimation of the effect of the ephemeris error on the baseline: baseline error/baseline

length=satellite position error/the range satellite (Wells, D.E., et al. 1987). For instance,

satellite position of 1 meter with baseline length of 100 kilometres gives the expected

baseline error due to ephemeris error is about 5 kilometres (Ahmed El-Rabbany 2006).

5.4.2 Multipath Error

Multipath Error occurs when the GPS signal reaches the GPS receiver through more than one

path. The GPS signal will either bounce off from big object such as buildings before reaching

the GPS antenna or directly travel towards the GPS receiver (Wells, D.E., et al. 1987)

The GPS original signal will be distorted when the reflected signals arrive at the GPS antenna

together. This will cause interference to both carrier-phase and pseudorange measurements.

With further improvements to signal processing, technologies like narrow correlator,

multipath estimating delay lock loop, and strode techniques can reduce a lot on the actual

pseudorange multipath (Linyuan X. 2004). There are several ways to reduce the effect of the

multipath error. One way is to choose a site with no obstruction to the GPS receiver antenna.

Another way is to use a GPS receiver which has the multipath mitigation techniques. Using a

chock-ring antenna (a device in ground level which has several concentric metal hoops to

attenuate the reflected GPS signals) will also reduce the multipath effect (Weill, L. R. 1997).

5.4.3 Satellite and Receiver Clock Errors

27BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 35: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Each older generation GPS Block II and Block IIA satellite has 4 atomic clocks: 2 cesium

and 2 rubidium (Langley, R. B. 1991). Newer Block IIR satellites only have 3 rubidium

clocks (U.S Naval Observatory). Even though GPS atomic clocks are highly accurate, they

are not perfect. There exists a satellite clock error of about 8.64 to 17.28 ns per day which

contributes to a range error of 2.59 meters to 5.18 meters. Cesium clocks have better stability

over long period of time for 10 or more days as compared to rubidium clocks (Langley, R. B.

1991).

Satellite clocks cause more errors to the GPS measurements. However the errors can be

corrected by differencing between GPS receivers connecting to the same satellite. The

satellite clock errors can also be solved by applying the satellite clock correction in the

navigation message. However there is still 7ns of error which results a range error of 2

meters. 1 ns is equivalent to a range error of 30 cm (El-Rabbany 1994).

6 Software Developments

28BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 36: TanYongPengCharles FYP

Yes

Start

GPS Tracker engaged with satellites

GPS Tracker searches for satellites signal

GPS Tracker starts to send SMS with current location at every 1 min interval

No

GPS Tracker starts to send SMS based on previous location at every 1 min interval

Mobile Adaptor receives SMS and store in local C: drive

Monitor User click selection button in GUI

End

Figure 6.1: Flowchart of GPS Tracker with Mobile Adaptor

GPS Live Data GPS History Data

Monitor User click selection button

in GUI

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

6.1 GPS Tracking Software Flowchart

The following flowcharts illustrate the overview of the GPS tracker with Mobile adaptor and

GPS Tracking application in Figure 6.1 and 6.2.

29BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 37: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

6.2 Graphical User Interface (GUI)

30BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

No

Page 38: TanYongPengCharles FYP

Figure 6.3: GPS Tracking System - Graphical User Interface (GUI)

Read and display GPS data of latitude, longitude, speed, date and time on table, and total GPS records

View map plotting of travelled route on Google map

Select GPS Live data Select GPS History data

Browse to select GPS history log file in CSV format

Exit Program

Clear GPS data in the table

Reset to delete all live GPS data and restart Mobile Partner program

Total GPS records

GPS data of travelled route in latitude, longitude, speed, date and time

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

The Graphical User Interface (GUI) for the GPS tracking system which is illustrated in

Figure 6.3 allows the user to operate the system easily with selection of GPS data and control

buttons.

There is a selection of GPS live data and GPS history data to toggle between which GPS data

is required. Once the GPS tracker is power on, it will send SMS data of current location of

vehicle in 1 minute interval. When GPS live data is chosen, click on “Read Data” button will

read and display latest GPS live data of travelled route of the vehicle in the grid table below.

“View on Map” button will plot the travelled route on the Google map. “Clear Data” button

will clear the display on grid table. “Reset” button will delete all GPS Live data in the C:

drive and restart the Mobile Partner software. “Exit” button will close the GPS tracking

program. The same applies for the GPS History data. A difference being the user is required

to click the “Browse” button and select the history log file.

6.3 Software Implementation

31BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 39: TanYongPengCharles FYP

Figure 6.4: Flowchart of rdGPSLive_CheckedChanged() function

Start

Clear file name text column

Clear Grid table with GPS data

Clear Total GPS Records

End

Turn GPS History Data radio button to off

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

The program source codes can be retrieved in Appendix C. The following sections will

explained the implementation of each function in more detail.

6.3.1 Main GPSTrackingSystem Class

The main GPSTrackingSystem class is used to initialize declaration of the global variables

and Graphical User Interface (GUI) form of the GPS tracking System program. All the

functions are declared in the class too. The variable and directories for each of the functions

is declared in the function itself for easy reference. Functions are classified as #region follow

by the main function name for easy reference of each module. There are total of 5 different

modules which includes Variables, Form method, Radio Option Control, Control Button and

User Defined Functions. Inside each of the module, it includes different functions which will

be further elaborate in the following sections.

6.3.2 rdGPSLive_CheckedChanged() Function

This function will perform a clearing of File name text column, grid view table, Total GPS

Records and turn off GPS History Data radio button when the GPS Live data radio button is

selected.

6.3.3 rdGPSHis_CheckedChanged () Function

32BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 40: TanYongPengCharles FYP

Figure 6.5: Flowchart of rdGPSHis_CheckedChanged() function

Turn GPS Live Data radio button to off

Start

Clear file name text column

Clear Grid table with GPS data

Clear Total GPS Records

End

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

This function is a radio button which will perform certain commands when it is being

selected. When it is selected, it will turn on GPS History Data radio button, clear the file

name text column, total GPS records and grid view table which contains the GPS data.

Eventually, GPS Live data radio button will be turn off.

6.3.4 btnBrowse_Click () Function

33BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 41: TanYongPengCharles FYP

Figure 6.6: Flowchart of btnBrowse_Click () function

Start

Is the open dialog file name is empty?

Clear open dialog text

Clear file name column

Set filter to CSV format

Exit this function

Trim location name to display at file name column

Point to selected file location for the reading of GPS data

End

Yes

No

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

btnBrowse_Click () is activated when it is clicked by the user. It will clear the file name

column, open a browse file dialog which enabled the user to browse to the GPS History Data

location, which was exported from Mobile Partner software. There is a filter to select

only .CSV format file for the History GPS data. When the file is chosen, it will trim the file

name of the history GPS data location and display on the file name column. If there is no file

selected, it will exit the function and do nothing.

34BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 42: TanYongPengCharles FYP

Figure 6.7: Flowchart of btnRead_Click() function

Start

Is the GPS Live Data radio button checked?

Read GPS History Data

Clear grid view table

Clear total GPS records

Read GPS Live data from “C:\Program Files\Mobile Partner\userdata\SMS.DTC”

Yes

No

End

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

6.3.5 btnRead_Click() Function

This function clears the grid view table and total GPS records. If the GPS Live Data radio

button is selected, it will fix the file name to “C:\Program Files\Mobile Partner\userdata\

SMS.DTC” and read the data displayed at the grid view table. Otherwise it will read the GPS

history data.

35BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 43: TanYongPengCharles FYP

Figure 6.8: Flowchart of btnView_Click () function

Start

Does the grid view table contain any data?

No

Yes

Load the history data in web for Google Map API from file location “C:\\GPSTrackerHis.html”

Is the GPS Live Data radio button is checked?

No

Load the live data in web for Google Map API from file location “C:\\GPSTrackerLive.html”

End

Yes

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

6.3.6 btnView_Click () Function

Basically, this function allows the user to view the travelled route of the vehicle plotted on

Google map. If the grid view table has no data, it will do nothing. If the GPS Live Data radio

button is selected, it will load the live data in web for Google Map API from file location

“C:\\GPSTrackerLive.html”. Otherwise it will load the data web for Google Map API from

file location “C:\\GPSTrackerHis.html”.

36BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Exit this function

Page 44: TanYongPengCharles FYP

Start

Clear grid view table

Clear file name column

Clear file location name

Clear Total GPS Records

End

Figure 6.9: Flowchart of btnClear_Click () function

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

6.3.7 btnClear_Click () Function

This function clears all texts or data in grid view table, file name column, total GPS records,

file location name and set to check GPS Live data radio button.

6.3.8 btnReset_Click () Function

There are many tasks performed in this function. First of all, this function will perform a

“kill” process to Mobile Partner software. If the “kill” process of Mobile Partner is

successful, it will delete the master file in the following locations:

1) “C:\Program Files\Mobile Partner\userdata\SMS.DTC”

2) “C:\Program Files\Mobile Partner\userdata\SMS”

For files in “C:\Program Files\Mobile Partner\userdata\SMS”, there are 3 files. Loops are

used to delete the 3 files: SMS.BA1, SMS.BA2 and SMS.BA3. All the data in the master file

will contain the SMS information received. Therefore, deleting these files will reset the

system to default. If any of these files is not deleted, the Mobile Partner software will retain

all the previous SMS received. Once all these files are deleted successfully, the Mobile

Partner software will reboot. The reason being if the Mobile Partner software is not rebooted,

it will face issue of SMS data not being stored in the C: drive. Essentially, error messages are

being catered for when there is any error occurred during the process of files deletion.

37BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 45: TanYongPengCharles FYP

Figure 6.10: Flowchart of btnReset_Click () function

Start

YesYes

Kill process of Mobile Partner.exe

Delete SMS.DTC file in “C:\Program Files\Mobile Partner\Userdata”

No

Prompt “System failed to process SMS Master file”

Delete SMS.BA1, SMS.BA2 and SMS.BA3 file in “C:\Program Files\Mobile Partner\Userdata\SMS”

No

Prompt “System failed to process SMS details file”

Start Mobile Partner.exe in “C:\Program Files\BroadBand on Mobile\BroadBand”

No

Prompt “System failed to start Mobile Partner”

End

Start

End

Exit and close the program

Figure 6.11: Flowchart of btnExit_Click () function

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

6.3.9 btnExit_Click Function

This is the simplest function of all as compared to all other functions. It simply exits and

closes the program.

38BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 46: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

6.3.10 ReadLiveGPSData(string strpath) Function

In this function, strPath is declared as a variable. First of all, this function will check for and

delete GPS_Livelog.txt in C: drive if there is any. If there is no data or file existing in the

“C:\Program Files\Mobile Partner\userdata\SMS.DTC”, the program will exit from this

function. If the SMS.DTC file exist, the program will read all the data from SMS.DTC using

stream reader (.Net object to read data from file).After reading successfully, it will than close

the stream reader object. Setting the retrieved data to nothing (NULL) is in order to prevent

unnecessary error message such as “File is in use”). If there is no content in the SMS.DTC,

exit the method and do nothing.

Clear the NUL information in the file for ease of extracting of important data later.

Declaration of string array which contains the delimiters “jL” and “L+” which is prefixed at

the front of every new SMS data received. Based on the delimiter, splitting of the data into

line by line for each SMS data in array row as all SMS data received are bundled together.

Exit splitting method when all the data are being split in array index.

It will force all the characters got from SMS.DTC to uppercase for “LATITUDE”,

“LONGITUDE” and “SPEED”. If all 3 uppercase texts are missing, it will continue to check

on the next line. When it has all 3 texts in uppercase, it will split this line. It will follow

another splitting will by commas as the 4 data: altitude & longitude, speed, date and time are

separated by commas. If there are no 4 data for the splitting, it will continue to go to the next

line and check. Remove the “Last:” text which will be appearing at the prefix of the data

when the GPS tracker is still not detected 3 and above GPS satellites signals. Remove all the

data wordings like “Latitude=”, “Longitude=” and “Speed” from the data. Extraction of data

and time data without removing any words as both data and time does not come with any

prefix characters. Eventually, add all the data to the grid view table in rows of Date/Time,

Latitude, Longitude and speed formatEssentially, the Latitude and Longitude data are

converted from Degrees Minutes Seconds format to Decimal Degrees format using

ConvertFromDMS2DD(string strData function which will be explained in Section 6.3.12.

The total GPS records display field are updated with number of rows of GPS data in grid

view table. Creating and writing the data information to “C:\GPS_Livelog.txt” is done. If

there is any error in executing any of the methods, there will be “*Exception error*” message

prompted.

39BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 47: TanYongPengCharles FYP

Yes

No

No

End

No

Is the SMS.DTC exists in C:\Program Files\Mobile Partner\userdata

No

Yes

Start

Yes Delete GPS_Livelog.txt

Exit from the method

Read all data in SMS.DTC and close the file

Is SMS.DTC content empty?

Exit from the function

Yes

Yes

Prompt “*Exception Error*” error message

No

Is GPS_Livelog.txt exists in C: drive?

Clear all NUL data in SMS.DTC

Split data into rows in SMS.DTC starting with delimiters “jL” or “L+” into rows of array

A

No

No

Yes

Yes

A

No

Yes

Yes

Is the length of each SMS data contains 4 data field?

Continue next loop if any

No

Force the data get from SMS.DTC to Uppercase and

do checking

Split Latitude & longitude, Speed, Date and Time into 4 columns by ‘,’

Clear the data with a prefix “LAST:” if any

Delete the wordings contains “Latitude”, “Longitude”, “Speed”

B

Prompt “*Exception Error*” error message

End

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

40BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 48: TanYongPengCharles FYP

No

Figure 6.3.12: Flowchart of ReadLiveGPSData(string strpath) function

End

Yes

Yes

Prompt “*Exception Error*” error message

No

B

Add all data to grid view table in order of Date Time, Latitude, Longitude and Speed respectively

Count and display row numbers of record at Total GPS Records field

Create and write data to “C:\GPS_Livelog.txt” in order of Date Time, Latitude, Longitude, Speed respectively.Latitude and Longitude are converted from Degrees Minutes Seconds format to Decimal Degrees format using ConvertFromDMS2DD(string strData function

No

End

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

41BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 49: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

6.3.11 ReadHistoryData() Function

Both ReadLiveGPSData(string strpath) Function and ReadHistoryData() Function are quite

similar. The main difference is the data is read from different folder location (need browsing)

and different format (SMS.DTC and filename.CSV respectively). First of all, the function

will check for GPS_HisLog.txt in C: drive. If GPS_HisLog.txt is existed, delete the file.

Based on the file location selected from the browse button, it will check for the existent of the

file. If there is no file selected or no existing file, exit ReadHistoryData() function. Read all

contents from the selected file and close it. Set the retrieved data to nothing (NULL) in order

to prevent unnecessary error message like “File is in use”). If there is no content in the

selected file, exit the function. Clear all unnecessary data from the read data. Clear the text

containing Name/Number, Content and Time which is the title of the column when the data is

exported from Mobile Partner software. Split the read data line by line in rows. If there is any

empty line, it will go to next line. Removal of white space and “LAST:” character if there is

any. Counting is performed for the data with commas as a reference point. If the data is not

having any of 6 field lengths of data, it will exit the function. The 6 field length of data

consists of phone number, Latitude and Longitude, Speed, GPS Time, Data and time when

the SMS is received. Removal of the text information like “Latitude=”, “Longitude=” and

“Speed=” which is prefix in each of the GPS data. Add the field data into order to Date,

Time, Latitude, Longitude and Speed respectively to the grid view table. Essentially, the

Latitude and Longitude data are converted from Degrees Minutes Seconds format to Decimal

Degrees format using ConvertFromDMS2DD(string strData function which will be explained

in Section 6.3.12 . The total GPS records display field are updated with number of rows of

GPS data in grid view table. If there is any error in executing any of the methods, there will

be “*Exception error*” message prompted.

42BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 50: TanYongPengCharles FYP

Yes

Start

No

Delete GPS_Livelog.txt

Is the selected .CSV file exists in the browse location

Yes

No Exit from the method

Read all data in select and close the file

Is .CSV file content empty?

No

Yes Exit from the function

Yes

Prompt “*Exception Error*” error message

No

Is GPS_Hislog.txt exists in C: drive?

End

Clear all unnecessary data from the read content

A

No

Yes

Clear the text “Name/Number”, “Content”, Time”

A

Split the data into line by line format

Remove spacing and “LAST:” text from the data

Split the data based on commas as reference point

Yes

Yes

Yes

B

Prompt “*Exception Error*” error message

End

No

No

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

43BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 51: TanYongPengCharles FYP

Figure 6.13: Flowchart of ReadHistoryData() function

No

No

Yes

Yes

No

Prompt “*Exception Error*” error message

Is the length of each SMS data contains 6 data field which are phone name, Latitude and Longitude, Speed, Date, time and extra information?

Yes

B

Clear all the prefix text: “Latitude=”, “Longitude=”and “Speed=”

Add all data to grid view table in order of Date Time, Latitude, Longitude, Speed respectively

C

End

No

No

C

Count and display row numbers of record at Total GPS Records field

Create and write data to “C:\GPS_Hislog.txt” in order of Date Time, Latitude, Longitude, Speed respectively.Latitude and Longitude are converted from Degrees Minutes Seconds format to Decimal Degrees format using ConvertFromDMS2DD(string strData function

Yes

End

Prompt “*Exception Error*” error message

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

44BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 52: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

6.3.12 ConvertFromDMS2DD(string strData) Function

All the conversion for the latitude and longitude from Degrees Minutes Seconds format to

Decimal Degrees format will be done in this function. The conversion purpose is for use in

Google map to display the route travelled by the vehicle. First of all, it will split the latitude

or longitude data based on the spacing in-between passed from ReadLiveGPSData(string

strpath) and ReadHistoryData() functions. It will check if the split data is in length of 3. For

instance, “01 19 46.92N” or “103 46 05.10E” will have 3 data after splitting. After splitting

of data, we will have 10, 19 and 46.93N for latitude or 103, 46 and 05.10E for the longitude.

If it is not with the 3 data length, the function will exit. This is the direction facing on the map

coordination. Format of the latitude and longitude is shown in Table 6.1.

Latitude format 01 19 47.71N  Degrees: 01

Minutes: 19Seconds: 47.71

Longitude format 103 46 33.31E  Degrees: 103

Minutes: 46Seconds: 33.31

The following formula is needed for the conversion from Degrees Minutes Seconds format to

Decimal Degrees format for Latitude and Longitude:

Degree+( Minute60 )+( Second

3600 )If there is West or South, we need to multiply the answer by -1.

Example:

If we got 103 46 33.31E for the Longitude, we will deduce the equation as follow:

103+(4660 )+(33 . 31

3600 )=103. 77591945

Since it is East at the back of the second, we get position value without multiplying by -1.

Eventually, the converted data in Decimal Degrees format will return as string data.

45BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Table 6.1: Format of Latitude and Longitude in Degrees Minutes Seconds

Page 53: TanYongPengCharles FYP

Figure 6.14: Flowchart of ConvertFromDMS2DD(string strData) function

Start

Is the data length = 3?

Split the latitude or longitude data based on space in -between

Yes

No Exit the function

Convert the latitude or longitude value from Degrees Minutes Seconds format to Decimal Degrees format

End

Return the converted data in Decimal Degrees format as string

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

46BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 54: TanYongPengCharles FYP

No

Start

Is strData passed in blank?

Trim the total length of the data

End

Return the trimmed data to other functions containing strTmp variable

Yes Exit the function

Figure 6.15: Flowchart of Mid(string strData, int iPos1, int iPos2) Function

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

6.3.13 Mid(string strData, int iPos1, int iPos2) Function

First, the function will check if the strData passed in is blank. If it is blank, it will exit the

function. Else it will trim the total length of the string of data passed in. Eventually, the

trimmed data will be return to other functions which contains the variable.

47BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 55: TanYongPengCharles FYP

Figure 6.16: Flowchart of KillProcess() function

Start

Get process list running in the Task Manager

Find Mobile Partner.exe and kill the process

End

Yes

NoPrompt “*Exception Error*” error message

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

6.3.14 KillProcess() Function

This function is simply used to close the process in the task manager and reopen the Mobile

Partner software. The purpose of this function is to restart Mobile Partner software after reset

button is being selected. If not, there will be error in Mobile Partner like the SMS is not

stored in the folder.

48BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 56: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

6.4 Mapping Module

Last but not least, the mapping module which is used to plot and display the route travelled

by the vehicle uses Google Maps API. It can be easily retrieved by registration on the

website: http://code.google.com/apis/maps/signup.html to get an API key. The Google Maps

API allows us to embed the Google Maps in own webpage. Essentially, Google Maps API

runs on JavaScript. Therefore, JavaScript needs to be installed and enabled in the browser.

Once the Internet Explorer browser is launched with the Google Maps API, it will check the

compatibility of the browser and availability of JavaScript. If the browser is not compatible

such as Mozilla Firefox, it will show the browser as a blank screen. Therefore Internet

Explorer is a must for the Google Maps API. Internet connection is essential for the html file

to retrieve the map images from the internet. If protected mode is enabled, allowed block

content is needed to show the Google map. After being successfully launched, it will show

Google map with zooming and panning control at the top left and 3 map viewing mode of

Map, Satellite and Terrain.

The Google map will be plotted with the information from GPS_LiveLog.txt or

GPS_HisLog.txt. In addition, information like time stamp, Latitude, Longitude, Speed and

Address will be retrieved. Data in the log file is split up by commas to string of array using

“parts = lines[i].split(",")” command. “var marker = createMarker(point,time,lat,lng,speed)”

Command is used to create the marker on the Google map. “geocoder.getLocations(point,

function(response)” Command helps to get the actual address based on the decimal degrees

format of Latitude and Longitude. “realaddress = place.address” command will show only the

address name. By clicking on the marker plotted on the map, it will reveal the time stamp,

Latitude, Longitude, Speed and Address.

49BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 57: TanYongPengCharles FYP

End

Is the internet browser compatible?

No

Is the Protected Mode enabled?

Prompt warning message

Yes

Yes

No

Allow Blocked Content…

Load Google Map with control

Retrieve data from GPS_LiveLog.txt and GPS_LiveLog.txt

Create markers on the map based on the coordination information

Is the maker clicked by the user?

Yes

Display time stamp, Latitude, Longitude, Speed and get actual address

Start

Figure 6.17: Flowchart of Mapping Module

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

50BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 58: TanYongPengCharles FYP

Figure 6.18: Google Map with Location Markers

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

The source code for the mapping module can be found from Appendix D. As mentioned

earlier, there are 3 different modes: Map, Satellite and Terrain. Figure 6.4.1 shows the

markers plotted on Google map with Time Stamp, Latitude, Longitude, Speed and Address

when clicked in Satellite mode.

51BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Actual address with information like Time Stamp, Latitude, Longitude and Speed when the user clicks on the marker

Markers

Page 59: TanYongPengCharles FYP

Laptop with Mobile Adaptor

GPS Tracker

Figure 7.1: Actual Field Testing Equipments

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

7 TESTING AND EVALUATION

This chapter mainly will touch on the actual implementation and field testing results on the

functionality of the GPS Tracking System in a vehicle. The equipments which will be used

for the field testing is shown in Figure 7.1. The GPS tracker will be placed on the car’s

dashboard and Mobile Adaptor will be attached to the laptop for receiving SMS.

52BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 60: TanYongPengCharles FYP

Start

Evaluate from the results if it meet the requirements

Conduct Testing

Results and outcome

Any error occurred on the software?

Improvement and enhancement of software

End

Yes

No

Debug on the errors

Figure 7.2: Process Flow Chart of Troubleshooting

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

7.1 Troubleshooting and Debugging

A common issue which the software faces is the software bugs which cause errors. Therefore

a functional testing and troubleshooting of the program needs to be performed. In order to be

more efficiency in the testing, a methodology is required. The methodology conducted is

further elaborated in process flow as shown in Figure 7.2.

53BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 61: TanYongPengCharles FYP

No

No

End

Start the vehicle

Is the log file created in C: drive for the history log?

Is the SMS received read and trim correctly from the SMS.DTC file?

Is the latitude and longitude value converted correctly?

Start

Comparison of the actual coordination with the dataDebugging of errors

Yes

Yes

No

No

Figure 7.3: Process Flow chart of GPS Tracking System Debugging

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

7.1.1 Test Condition 1: GPS Tracking System

This test condition is conducted to ensure the accuracy of the GPS tracking in line with the

positioning plotted on the Google map. The process flow of the testing is illustrated in Figure

7.3.

54BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Yes

Page 62: TanYongPengCharles FYP

Figure 7.4: Screenshot of GPS Tracking System GUI with data from SMS.DTC

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

The GPS tracking system testing will start once the user turns on the GPS tracker and plug

the mobile adaptor to a powered on laptop with Mobile Partner opened. As long as there is

SMS coming in to the computer, the SMS data will be saved as SMS.DTC file in the C:

drive. As there is too much other information in the SMS.DTC file. Trimming the string of

data from the file is performed. After trimming, comparison to ensure the coordination and

the conversion of format was done successfully.

55BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 63: TanYongPengCharles FYP

Vehicle moved out of 30 meters

Verification from GPS Tracker

SMS sent to GPS Tracker with 30 meter preset square scope

Figure 7.5: Movement Alarm setting and Alert

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

7.1.2 Test Condition 2: Security FeaturesFor security testing, this is to test the validation of security feature which is required for the

project. There are 2 types of security features: Movement alarm and Geo-fence. As

mentioned in Chapter 4.1, Movement alarm is used for alert to send out to user if the vehicle

moved out of predefined range from 30 meters to 2000 meters square scope. Geo-fence is

used for vehicle moving in/out of the predefined latitudes and longitudes in square scope set

by the user.

Type 1: Movement alarm testing

56BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 64: TanYongPengCharles FYP

Sent SMS to GPS Tracker

Verification from GPS Tracker

GPS Tracker will send the current location of tracker in every 1 minute interval when tracker move out of preset square scope

Figure 7.6: Illustration of Geo-Fence setting and Alert

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Type 2: Geo-Fence

57BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 65: TanYongPengCharles FYP

Figure 7.7: Track by SMS

Sent SMS to GPS Tracker

Received SMS from GPS Tracker

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

7.1.3 Test Condition 3: Track Vehicle position using SMS

For the locate vehicle position using SMS, there are 2 ways: track by SMS and track on

demand.

Track by SMS will get the current location of the GPS tracker and report its longitude and

latitude by SMS. By sending the message “0000T” to the GPS tracker, it returned the

Latitude and Longitude with additional information of Speed, Date and time as shown in

Figure 7.7.

Track on Demand will received an SMS with http link. When click on the link, the location

can be shown directly on the Google Map. This is provided that it is a Smartphone which is

loaded with Google Map application. Figure 7.8 illustrates that sending “0000H” will receive

a link to Google Map. The location will be plotted on the Google Map via clicking on the

link.

58BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 66: TanYongPengCharles FYP

Figure 7.8: Track on Demand

Received SMS from GPS Tracker

Sent SMS from GPS Tracker

Location plotted on Google Map on IPhone

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

59BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 67: TanYongPengCharles FYP

Yes

Yes

Start

User click on the “Read data” to get the coordination and click on “View on Map” to display travelled route

Click on each of the markers to check the information display on the map

Does the Google Map displays correctly with all markers?

Is all the information displays correctly and accurately?

End

Debugging of errors

No

No

Figure 7.9: Process Flow Chart of Google Map Debugging

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

7.1.4 Test Condition 4: Mapping FeatureMapping feature is one of the most essential parts of the project as it assists the user to

visualize the map on the exact location or travelled route by the vehicle. The process flow of

testing is illustrated in Figure 7.10.

On the GPS Tracking GUI, user will click on the “Read Data” button to compute the SMS

data and “Show on Map” button to display the travelled route markers on the Google Map.

Each of the markers is clicked to display the information like Time Stamp, Latitude,

Longitude and Speed. And each of the markers is examined to ensure that all information is

correct and accurate. Verification of the information will be referring to the log file which is

created in C: drive. Conversion of the Degrees Minutes Seconds Format to Decimal Degrees

60BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 68: TanYongPengCharles FYP

Information from Log file: 2010-10-24 13:03,1.33015,103.776366666667,13.0KM/H

Figure 7.10: Confirmation of markers information with log file

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

format is checked to ensure the value is correct. Figure 7.11 shows that markers information

on Google Map is tallied with the log file information.

61BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 69: TanYongPengCharles FYP

Figure 7.11: Functional Testing of the GPS Tracking System

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

7.2 Functional Test – GPS Tracking System

Functional testing is needed to confirm that the GPS Tracking System is functioning well

after a few rounds of field testing. This will ensure that the user will not have any issue after

using the GPS Tracking System after some time. Figure 7.12 illustrated that the GPS

Tracking System passed the functional testing with markers plotted on the Google Map with

all the information. GPS log files for a few rounds of functional testing can be found in

Appendix E.

62BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 70: TanYongPengCharles FYP

Figure 8.1: USB-to-Serial Adaptor

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

8 PROBLEMS AND DISCUSSION

There are certain issues which needs to be resolve in order to meet the project due date.

Therefore it is crucial to ensure that the problem is solved as soon as possible as this might

hold back the project development time.

8.1 GPS Tracker Connection Issue

The first issue identified was an error regarding the connection between the USB with the

GPS tracker. After consultation with the GPS tracker’s supplier, it found that the problem

occurred due to the USB-to-Serial adaptor not being included in the package. After obtaining

the missing adaptor from the supplier, the GPS tracker was able to function as planned.

63BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 71: TanYongPengCharles FYP

Sent SMS to GPS TrackerReceived SMS from GPS Tracker

Figure 8.2: Illustration of Sending SMS to GPS Tracker to set 1 minute interval

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

8.2 GPS Tracker SMS Interval Issue

There was an issue with setting the GPS Tracker to return SMS with GPS data in 1 minute

interval, using MT80 Parameter Editor Software. MT80 Parameter Editor Software only

allows the GPS tracker to be set at a minimum of 10 minutes interval. After a thorough

research of the user manual, it was found that “SMS method” can be used to set the interval

timing. By sending a “0000A1” message to the GPS tracker, the tracker is set to 1 minute

interval and the system responds by a reply of “Interval Set” to the mobile phone. After

setting the configuration, the GPS tracker is able to send out location information in 1 minute

interval.

64BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 72: TanYongPengCharles FYP

Figure 8.3: Illustration of GPS Tracker Time Zone Set

Received SMS from GPS Tracker with Time Zone Set

Sent SMS to set GPS tracker with 480 minutes

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

8.3 GPS Tracker Timing Issue

Timing send by the GPS tracker is incorrect. This issue was due to Singapore being in

GMT+08:00 time zone. Therefore configuration of the GPS tracker is necessary in order to

receive the correct timing. The GPS tracker was set with +8 hours, with minute conversion

of 480 minutes by sending the message “0000Z480”. The GPS tracker will reply with the

message “TimeZone Set” to show that the new setting is in effect. Figure 8.3 illustrated the

SMS send to the GPS tracker and the systems reply to the new command.

65BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 73: TanYongPengCharles FYP

Figure 8.4: Properties setting of GPS tracking software on Compatibility tab

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

8.4 Computer Administrator Access Right Issue

GPS Tracking software is denied access to C: drive when attempting to run the application.

This is a known problem faced by Microsoft Vista and later operating system. The cause of

this problem was due to the software being required to run as an administrator. For easy

usage by the user, the program was set to “Run this program as an administrator” in

properties as show in Figure 8.4. Every time the program is loaded, it will prompt the user to

allow the program to run as an administrator.

Another issue faced by the program being unable to delete the file. Administrator access right

is required to delete the file from “"C:\Program Files\Mobile Partner\userdata\SMS.DTC".

After online research, it was discovered that the problem was caused by Mobile Partner

application using this attribute to update the SMS data. In order to access and delete the file,

administrator accesses to the file was required in order to set the file attributes to allow for

deletion. After setting the file to the following example, the GPS Tracking System works as

planned with the deletion of file functioning via the Reset Button function.

Example:

string strDTSFile = @"C:\Program Files\Mobile Partner\userdata\SMS.DTC";

try { File.SetAttributes(strDTSFile, System.IO.FileAttributes.Normal); File.Delete(strDTSFile);}

66BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 74: TanYongPengCharles FYP

Figure 8.5: Google Map API loaded on Mozilla Firefox Browser

Figure 8.6: Google Map API loaded on Microsoft Internet Explorer

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

8.5 Google Map Display Issue

Google Maps API is unable to function on Mozilla Firefox browser when the browser is in its

default setting. It appeared as a blank page when Google Map API is loaded as shown below

in Figure 8.5. Testing conducted on different browsers resulted in the discovery that Google

Maps API only functions properly with Microsoft Internet Explorer. After changing to

Microsoft Internet Explorer, the browser is able to load Google Map API without any

problems as shown in Figure 8.6.

67BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 75: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

9 CONCLUSIONS AND RECOMMENDATIONS

9.1 CONCLUSIONS

There are many costly GPS tracking systems available in the market. However, this project

has proved that low cost GPS tracking system can be as effective. Total cost for the GPS

tracking system is S$141.37. The GPS tracking system is able to track the vehicle location

and plot the travelled route on a map which fulfils all objectives of this project.

Remote monitoring of the GPS tracking system is also functional so that the vehicle can be

monitored from the office. Security feature like Geo-fencing can be activated via SMS send

from the mobile phone. It should however be noted that the public only has limited access to

the security feature of the software as the development kit for the mobile adaptor is not

released to the public. This results in the user being unable to active the security feature via

the computer. However, this should not be an issue to the user as GPS tracker security can be

done remotely with their mobile phone when needed.

With extensively field testing after debugging and evaluation, the GPS tracking system has

fulfil all accuracy requirements of the location being plotted on Google map. However, there

exists room for improvements on the project, which could be further enhance by the next

student taking over the project.

9.2 RECOMMENDATION

Currently, all SMS data send by the GPS is limits to only one user. The GPS tracker is able to

connect to the 3G network which transmits GPS data at high speed for storage in the server.

As such, additional expense can be saved by using this network over the above mentioned

method of “SMSing” as the conduct for information. At the same time, a greater number of

users are able to access the GPS information using mobile broadband or mobile

communication device.

In this project, it is limited to one GPS tracker sending GPS information to one laptop.

Multiple GPS trackers can be used to concurrently send GPS information to the same laptop.

This would allow a single user to see different vehicles on the road by filtering the phone

68BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 76: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

numbers used for different GPS trackers. The Google map location markers can be plotted

with different colours to differentiate between different vehicles.

Further improvements can be done for the enhancement of auto updating location markers on

Google map. Currently the user is required to click on the “Read” button to retrieve

information such as Latitudes, Longitude, Time, Date and Speed. This is followed by clicking

on “View on Map” button in order to plot the location onto the map.

10 CRITICAL REVIEWS AND REFLECTIONS

At the beginning of the project implementation, there were a lot of failures. The initial plan

was to use the mobile smart phone as a GPS tracker. Due to the complication of the Symbian

C++ programming for smart phone, there were continuous struggles and frustration as the

deadline drew near. A swift decision was made to change the project plan, in order to meet

the schedule. This has taught me to be more flexible and decisive even when the plan does

not progress as expected. Eventually, all objectives set out at the start are met within the time

frame. Encouragement and guidance from project supervisor, Dr. Tan Bee Koon was greatly

appreciated.

C# is chosen for the project as this was the programming language that the student is most

competent in. Having a basic understanding of C++ programming logic has aided the student

using C# such as for the declaring of variables and the defining functions. The internet has

proven to be a good source of research by providing multiple examples which helped provide

a better understanding in C#. This similarly applies to Google Maps API which uses

programming language like Java, where examples and tutorial can be found online. In

addition, there were numerous programming books which can be found in the

neighbourhood’s library that can be loaned without any additional costs.

The completion of this project, after months of hard works has provided me with valuable

knowledge on C# and Google Maps API. Due to the student having to juggle between work

and studies, time management was one of the factors which contribute to the success of the

project. The multiple obstacles faced along the way have contributed to the strengthening of

the student time management skills, which as explained above has proven to be the crucial

factor in the success of this project.

69BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 77: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

References [Books]

[1] Robert I. Egbert and Joseph E. King, The GPS handbook: an outdoorsman’s guide. Canada: Burford Books Inc, 2003.

[2] Natalie M. Rosinsky, Satellites and the GPS. United States of America: Compass Point Books, 2004.

[3] Jeanne Sturm, GPS: Global Positioning System. United States of America: Rourke Publishing , 2009.

[4] Ahmed El-Rabbany, Introduction to GPS: The Global Positioning System, Second Edition. United States of America: Artech House, Inc, 2006.

[5] Gwenael Le Bodic, Mobile Messaging Technologies and Services: SMS, EMS and MMS. England: John Wiley & Sons Ltd, 2003.

[6] Bowditch, N., “The America Practical Navigator”, Bicentennial Edition, NIMA, Pub. No. 9, 2002. CD-ROM

[7] Parkinson, B. W., “A History of Satellite Navigation,” Navigation: Journal of The Institute of Navigation, Vol. 42, No. 1, Special Issue, 1995, pp.109-164

[8] Wright, Peter 2006, 'Beginning Visual C# 2005 Express Edition From Novice to Professional', Apress, United States of America.

[9] Foxall, James, 'Teach Yourself C# in 24 Hours', Sams Publishing, United States of America, 2002

[10] Nash, Trey, 'Accelerated C# 2008', Apress, United States of America, 2007

[11] Drayton Peter, Albahari Ben, Neward Ted, 'C# In A Nutshell', O’ Reilly & Associates Inc., United States of America, 2002

[12] FRP, U.S. Federal Radionavigation Plan, 2001

[13] Langley, R. B., “Why is the GPS Signal so Complex?” GPS World, Vol. 1 No. 3, May/June 1990, pp. 56-59.

[14] Wells, D. E., et al., Guide to GPS Positioning, Fredericton, New Brunswick: Canadian GPS Associates, 1987

[15] Seeber, G., Satellite Geodesy, 2nd revision edition, Berlin, Germany: Walter de Gruyter, 2003

[16] Friedhelm Hillebrand (editor); Finn Trosby, Kevin Holley, Ian Harris, ‘Short message service (SMS): the creation of personal global text messaging’, Wiley & Sons, New Jersey, 2010

[17] Wells D.E., et al., Guide to GPS Positioning, Fredericton, New Brunwick: Canadian GPS Associates 1987

70BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 78: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

[18] Linyuan X., Multipath in GPS Navigation and Positioning, GPS solutions, Vol. 8, 2004, pp.49-50

[19] Weill, L. R., Conquering Multipath: The GPS Accuracy Battle, GPS world, Vol. 8, No. 4, April 1997, pp. 59-66

[20] Langley, R. B., Time, Clocks and GPS, GPS World, Vol. 2, No. 10, November/December 1991, pp.38-42

[21] El-Rabbany, A., The Effect of Physical Correlations on the Ambiguity Resolution and Accuracy Estimation in GPS Different Positioning, Technical Report No. 170, Department of Geodesy and Geomatics Engineering, University of New Brunswick: Canadian GPS Associates, 1987

References [Websites]

[1] Aerospace Corporation (2007) GPS Primer, Elements of GPShttp://www.aero.org/education/primers/gps/elements.html

[2] Appleseed, Johnny (1999-2009) The Theory and Practice of GPShttp://www.ja-gps.com.au/whatisgps.html#anchor5186443

[3] Article by Darren Griffin, How does the Global Positioning System works?http://www.pocketgpsworld.com/howgpsworks.php

[4] Garmin, What is GPS?http://www8.garmin.com/aboutGPS/

[5] First U.S. Publication in June, 1996 by: Corvallis Microtechnology, Inc, Introduction to the Global Positioning System for GIS and TRAVERSEhttp://www.cmtinc.com/gpsbook/

[6] LiveViewGPS (2009) GPS Asset Trackerhttp://www.liveviewgps.com/gps+asset+tracker.html

[7] Maps-GPS-Info.com, GPS History, How it all startedhttp://www.maps-gps-info.com/gps-history.html

[8] Maps-gps-info.com, GPS Cell Phone Tracking - I Know Where You Arehttp://www.maps-gps-info.com/gps-cell-phone-tracking.html

[9] National Space-Based Positioning, Navigation, and Timing Coordination Office, The Global Positioning Systemhttp://www.gps.gov/systems/gps/index.html

[10] Nelson, Robert A. (1999), The Global Positioning Systemhttp://www.aticourses.com/global_positioning_system.htm

71BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 79: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

[11] Rey, Jorge R. (2006), An introduction to GPShttp://edis.ifas.ufl.edu/IN653

[12] Rocky Mountain Tracking (2001-2007), Smart Track GPS Tracking Systemhttp://www.rmtracking.com/gpsproducts/smarttrack.html

[13] Smithsonian Institution, How Does GPS Workshttp://www.nasm.si.edu/gps/work.html

[14] Starcom Systems (2004-2009) Fleet Managementhttp://www.starcomsystems.com/services_fleeta.asp

[15] SunSat Statellite Solution Co., GSM mobile phone tracking system via the GPS-TRACK satellite networkhttp://www.themobiletracker.com/english/index.html

[16] The Aerospace Corporation, How GPS Workshttp://www.aero.org/education/primers/gps/howgpsworks.html

[17] Topbits, How GPS Tracking Workshttp://www.topbits.com/how-gps-tracking-works.html

[18] Wikipedia, the free encyclopedia, Global Positioning Systemshttp://en.wikipedia.org/wiki/Global_Positioning_System

[19] Wikipedia, the free encyclopedia, GPS Satellite http://en.wikipedia.org/wiki/GPS_satellite

[20] Wikipedia, the free encyclopedia, Compasshttp://en.wikipedia.org/wiki/Compass

[21] Wikipedia, the free encyclopedia, Sextanthttp://en.wikipedia.org/wiki/Sextant

[22] Wikipedia, the free encyclopedia, GPS Tracking Devicehttp://en.wikipedia.org/wiki/GPS_tracking_unit

[23] Wikipedia, the free encyclopedia, Trilaterationhttp://en.wikipedia.org/wiki/Trilateration

[24] Wikipedia, the free encyclopedia, GPS tracking unithttp://en.wikipedia.org/wiki/GPS_tracking_unit

[25] Wikipedia, the free encyclopedia, Trilaterationhttp://en.wikipedia.org/wiki/Trilateration

[26] Wikipedia, the free encyclopedia, Doppler Effecthttp://en.wikipedia.org/wiki/Doppler_effect

72BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 80: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

[27] Wikipedia, the free encyclopedia, Beidou Navigation Systemhttp://zh.wikipedia.org/wiki/%E5%8C%97%E6%96%97%E5%AF%BC%E8%88%AA%E7%B3%BB%E7%BB%9F

[28] Wikipedia, the free encyclopedia, Galileo Positioning Systemhttp://zh.wikipedia.org/w/index.php?title=%E4%BC%BD%E5%88%A9%E7%95%A5%E5%8D%AB%E6%98%9F%E5%AE%9A%E4%BD%8D%E7%B3%BB%E7%BB%9F&variant=zh-cn

[29] Wikipedia, the free encyclopedia, SMShttp://en.wikipedia.org/wiki/SMS

[30] Developer’s home, Basic Concepts of SMS Technologyhttp://www.developershome.com/sms/sms_tutorial.asp?page=basicConcepts

[31] Geneq inc., GPS – The Error Budgethttp://www.sxbluegps.com/gps-error-Budget.html#gpsworks

[32] IGS (International GNSS Service, IGS Product Tablehttp://igscb.jpl.nasa.gov/components/prods.html

[33] U.S Observatory, USNO GPS Time Transferhttp://tycho.usno.navy.mil/gpstt.html

[32] George Birbilis @zoomicon, Start/kill process with VB.nethttp://zoomicon.wordpress.com/2007/04/15/startkill-processes-with-vb-net

[33] ASCII Control Characters Definitionhttp://www.lammertbies.nl/comm/info/ascii-characters.html#endt

[34] ASCII Tablehttp://www.asciitable.com/

[35] Koobmeei blogspot, Convert Degrees, Minutes, and Second to Decimal Degreeshttp://koobmeej.blogspot.com/2008/08/convert-degrees-minutes-and-seconds-to.html

[36] Sparky Spider's Discoveries blogspot, Javascript: Convert DMS to DDhttp://sparkyspider.blogspot.com/2006/12/javascript-object-convert-from-dms-to.html

[37] Delphi Programming © Neil Moffatt 2002, Setting and Getting File Attributeshttp://www.delphibasics.co.uk/Method.asp?NameSpace=System.IO&Class=File&Type=Class&Method=SetAttributes

[38] Mike Williams (2006 – 2010), Google Maps API Tutorialhttp://econym.org.uk/gmap/

73BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 81: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Appendix A

Specification of GPS Tracker Device, MT80

Items SpecificationDeviceCharging Voltage DC 4.2-5.5V/400mA (Mini USB port)Battery Rechargeable and removable 700 mAh battery (3.7V)Dimension 61x42x15mmWeight 50g (with battery)Operating temperature

-20° to 55° C

Humidity 5% to 95% Non-condensingWork time 96 hours in standby mode and 10 hours in continuous working mode

LED 2 LEDs showing GPS, GSM statusButton One SOS panic button and one power On/Off buttonMicrophone Built-in microphone for wiretappingMemory 4MBGSMGSM module Quad-band GSM 850/900/1800/1900MHzSIM Card Interface Support SIM card: 1.8V, 3VGPSGPS Chipset Latest SiRF Star III high sensitivity single-chip GPS receiverGPS Sensitivity -159dBGPS Frequency L1, 1575.42 MHzC/A Code 1.023 MHz chip rateChannels 20 channel all-in-view trackingPosition Accuracy 10 meters, 2D RMSVelocity Accuracy 0.1 m/sTime Accuracy 1 us synchronized to GPS timeDefault datum WGS-84Reacquisition 0.1 sec., averageHot start <2 sec., averageWarm start 38 sec., averageCold start 42 sec., averageAltitude Limit 18,000 meters (60,000 feet) max.Velocity Limit 515 meters/second (1000 knots) max.Acceleration Limit Less than 4gJerk Limit 20 m/secCertificationModule Approvals CE, GCF, FCC, RoHS, PTCRB, IC

Specification of Huawei E1550 Mobile Adaptor

Specifications

74BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 82: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Weight 30g

Size11.5mm x 87.5mm x 26.0mm(H x L x W)

Colours WhiteAdvance Features3.5G Yes

75BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 83: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Appendix B-1: Gantt chart

76BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 84: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Appendix B-2: Activities Breakdown Chart

S/N Tasks for Capstone Project

Duration Start End

  Project Initial Phase      

1Initial meeting up with Tutor for discussion on objective of the project. 1 Day 30-Jan-09 30-Jan-09

2 Meeting up with Tutor on discussion of TMA 01 1 Day 6-Mar-09 6-Mar-09

3 Literature research on GPS and SMS technology 20 Days 5-Feb-09 24-Feb-09

4 Preparation of Initial Proposal Report (TMA 01) 15 Days 16-Feb-09 2-Mar-09

5 Review and submit TMA 01 4 Days 8-Mar-09 8-Mar-09

  Project 2 nd Phase      

6 Research and learning of C# programming language 20 Days 15-Mar-09 3-Apr-09

7 Perform market survey on commercial GPS tracking system 3 Days 15-Mar-09 17-Mar-09

8 Source for GPS Tracker to use for the project 4 Days 18-Mar-09 21-Mar-09

9 Source for mobile adaptor to receive SMS 4 Days 21-Mar-09 24-Mar-09

  Project 3 rd Phase      

10 Design the system architecture framework 5 days 3-Apr-09 7-Apr-09

11 Research on the areas of considerations for system design 20 Days 8-Apr-09 27-Apr-09

12 Research on sending and receiving of SMS using computer 10 Days 27-Apr-09 6-May-09

  Project 4 th Phase      

13 Design and implement the application GUI 10 Days 7-May-09 16-May-09

14 Design and implement the tracking feature 10 Days18-May-

09 27-May-09

15Design and implement the coordinates conversion and data logger modules 7 Days

28-May-09 3-Jun-09

16 Demonstration of basic tracking function to Tutor 1 Day 6-Jun-09 6-Jun-09

17 Design and implement the security features 30 Days 7-Jun-09 6-Jul-09

18 Perform field trial on basic tracking function 1 Day 4-Jul-09 4-Jul-09

19 Design and implement the mapping feature 30 Days 6-Jul-09 4-Aug-09

20Design and implement the SMS functions for remote access and location query 40 Days 5-Aug-09 13-Sep-09

21 Perform testing on security and mapping features 1 Day 22-Aug-09 22-Aug-09

22 Perform testing on all SMS functions 1 Day 14-Sep-09 14-Sep-09

  Project 5 th Phase      

23 Design of use case functional test plans 5 Days 15-Sep-09 19-Sep-09

24 Perform all functional tests 8 Days 20-Sep-09 27-Sep-09

 25 Perform full scale field trial with all features 1 Day 18-Oct-09 18-Oct-09

  Project Final Phase      

26 Preparation of Final Report 30 Days 30-Sep-09 29-Oct-09

27 Discuss with Tutor on Final Report 5 Days 25-Oct-09 29-Oct-09

28 Review and Submit Final Report 12 Days 29-Oct-09 9-Nov-09

29 Prepare poster for presentation 17 Days 12-Nov-09 27-Nov-09

77BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 85: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Appendix B-3: Bill of Material (BOM)

Component Description Quantity Cost Per UnitGPS Tracker, MT80 1 S$100

SIM Card (Mobile Line) 1 S$25.68 (Monthly Fee)Mobile Adaptor (1Mbps) 1 S$15.69 (Monthly Fee)

Total S$141.37

78BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 86: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

APPENDIX C

GPS Tracker Software Source Code

Appendix C-1 Main GPSTrackingSystem Class

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;using System.Diagnostics;

namespace GPSTrackingSystem{ public partial class frmGPSTrackingSystem : Form { #region [variable] string strFN=""; //Store file name as string

#endregion;

#region [form method]

public frmGPSTrackingSystem() //Use form method { InitializeComponent(); }

#endregion

Appendix C-2 rdGPSLive_CheckedChanged() Function

#region [Radio Button Control] private void rdGPSLive_CheckedChanged(object sender, EventArgs e) { txtFileName.Text = ""; gv.Rows.Clear(); lblTotalRec.Text = ""; panDis.Enabled = false;

}

Appendix C-3 rdGPSHis_CheckedChanged() Function

private void rdGPSHis_CheckedChanged(object sender, EventArgs e) { panDis.Enabled = true; txtFileName.Text = ""; gv.Rows.Clear(); lblTotalRec.Text = "";

}

#endregion

79BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 87: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Appendix C-4 btnBrowse_Click () Function

#region [Control Button] private void btnBrowse_Click(object sender, EventArgs e) { OFD.FileName = ""; txtFileName.Text = "";

OFD.Filter = "Comma Separated File (*.csv)|*.csv"; // Set filter for History Data. OFD.ShowDialog(); if (OFD.FileName.ToString().Trim() != "") // If file name is not empty. { txtFileName.Text = OFD.FileName.ToString().Trim(); strFN = txtFileName.Text.Trim(); // Get the file name. } else return; // IF empty, exit the function and do nothing.

}

Appendix C-5 btnRead_Click () Function

private void btnRead_Click(object sender, EventArgs e) { gv.Rows.Clear(); lblTotalRec.Text = "";

if (rdGPSLive.Checked) { // Fix File name. string strPath = @"C:\Program Files\Mobile Partner\userdata\SMS.DTC";

ReadLiveGPSData(strPath); } else { ReadHistoryData(); }

}

Appendix C-6 btnView_Click () Function

private void btnView_Click(object sender, EventArgs e) { if (gv.Rows.Count <= 0) return;

if (rdGPSLive.Checked) { // If Live Data is checked, Load the Live data Web for Google Map API. Process.Start("C:\\GPSTrackerLive.html"); } else

80BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 88: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

{ // If History Data is checked, Load the History data Web for Google Map API. Process.Start("C:\\GPSTrackerHis.html"); }

}

Appendix C-7 btnClear_Click () Function

private void btnClear_Click(object sender, EventArgs e) { gv.Rows.Clear(); txtFileName.Text = ""; rdGPSLive.Checked = true; strFN = ""; lblTotalRec.Text = "";

}

Appendix C-8 btnReset_Click () Function

private void btnReset_Click(object sender, EventArgs e) { // Kill Process and Restart Process Idea got from this link. // http://zoomicon.wordpress.com/2007/04/15/startkill-processes-with-vb-net

// First Kill the process. if (KillProcess()) { // If Successfully kill the Mobile Partner.exe, delete master and data file. // Now start deleting the file. string strDTSFile = @"C:\Program Files\Mobile Partner\userdata\SMS.DTC"; string strBAFile = @"C:\Program Files\Mobile Partner\userdata\SMS";

// First, delete DTC master file. if (File.Exists(strDTSFile) == true) { try { File.SetAttributes(strDTSFile, System.IO.FileAttributes.Normal); File.Delete(strDTSFile); } catch (Exception ex) { MessageBox.Show("System failed to process SMS Master file.\n\r" + "Error Detail: " + ex.Message, "GPS Tracker", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); return; }

81BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 89: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

// If master file process finished, go to each individual BA* file. for (int i = 1; i < 4; i++) { try { string strFile = Path.Combine(strBAFile, "SMS.BA" + i); if (File.Exists(strFile) == true) { File.Delete(strFile); } } catch (Exception ex) { MessageBox.Show("System failed to process SMS details file.\n\r" + "Error Detail: " + ex.Message, "GPS Tracker", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); return; } // End of Try Catch for Data file. } // End of For Loop for Data File.

try { // After all finish, restart Mobile Partner.exe process. ProcessStartInfo proc = new ProcessStartInfo(); proc.FileName = @"C:\Program files\Mobile Partner\Mobile Partner.exe "; Process.Start(proc); } catch (Exception ex) { MessageBox.Show("System failed to start Mobile Partner Process.\n\r" + "Error Detail: " + ex.Message, "GPS Tracker", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); return; } } // End of DTC file exist If else. } // End of KillProcess Success If else.

}

Appendix C-9 btnExit_Click () Function

private void btnExit_Click(object sender, EventArgs e) { Application.Exit(); } #endregion

Appendix C-10 ReadLiveGPSData(string strPath) Function

82BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 90: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

#region [User Defined Functions]

private void ReadLiveGPSData(string strPath) { try { // First check whether the output log file is exist or not. if (File.Exists(@"C:\GPS_LiveLog.txt")) File.Delete(@"C:\GPS_LiveLog.txt"); // If exist, delete it.

strFN = strPath;

// File browser must pass a file name to carry on. If empty or file not exist, exit this method. if (strFN == "") return;

string str = "";

if (File.Exists(strFN) == false) return;

// Read the file contents. StreamReader sr = new StreamReader(strFN); str = sr.ReadToEnd(); // Read all data from Master file. sr.Close(); // After successfully read, must close StreamReader object. sr = null; // Set to nothing(Null) in order to avoid unnecessary error like 'file is in use'.

// If content is empty, exit the method. if (str.Trim() == "") return;

// ********************************************************************************* // 1. ASCII Control Characters Definition. // http://www.lammertbies.nl/comm/info/ascii-characters.html#endt // 2. ASCII Table. // http://www.asciitable.com/ // *********************************************************************************

// \0 means NUL in ASCII. str = str.Replace("\0", ""); // Clear unnecessary data.

string[] stringSeparators = new string[] { "jL", "L+" }; // Declare a string array which contains Delimeters.

// Split master data with delimeters.// After splitting with the delimeters, strC will contains data in line by line format.// In Array, line by line means each record/line will be 1 row in array.// Array row are in position of 0,1,2,3,4,5, etc. We call it 'Index' (array index). string[] strC = str.Split(stringSeparators, StringSplitOptions.None); // Split master data with delimeters.

if (strC.Length <= 0) // If empty,

83BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 91: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

return; // Exit function.

string strTmp = "";

// For loop. Loop through each line in strC array string object until strC.Length.// strC.Length is the array size (records/line number we got from above after trimming in master data file).

for (int i = 0; i < strC.Length; i++) { if (strC[i].ToUpper().Contains("LATITUDE") == false && strC[i].ToUpper().Contains("LONGITUDE") == false && strC[i].ToUpper().Contains("SPEED") == false) continue;

string[] strB = strC[i].Split((char)1); if (strB.Length > 0) strTmp = strB[0]; else strTmp = strC[i]; string[] strD = strTmp.Split(','); if (strD.Length != 4) // If length is not 4. continue; // Continue for next loop.

// 1. Latitude, Longitude. // 2. Speed. // 3. Date. // 4. Time. int iStart = strD[0].IndexOf("Lati"); int iStop = strD[0].IndexOf("Longi"); string strMobile = Mid(strD[0], 0, iStart).ToUpper().Replace("LAST:", ""); string strLati = Mid(strD[0], iStart, iStop).Replace("Latitude =", "").Trim(); string strLongi = Mid(strD[0], iStop, strD[0].Length).Replace("Longitude =", "").Trim(); string strSpeed = strD[1].Replace(" ", "").Replace("=", "").ToUpper().Replace("SPEED", "").Trim(); string strDate = strD[2].Trim(); string strTime = strD[3].Substring(0, 5).Trim();

// Add to DataGridView. gv.Rows.Add(strDate + " " + strTime, strLati, strLongi, strSpeed);

lblTotalRec.Text = gv.RowCount.ToString();

// Write current line to Text file. StreamWriter sw = new StreamWriter(@"C:\GPS_LiveLog.txt", true); string strValue = strDate + " " + strTime + "," + ConvertFromDMS2DD(strLati) + "," + ConvertFromDMS2DD(strLongi) + "," + strSpeed; sw.WriteLine(strValue); sw.Close(); } // End of For Loop. } // End of Try. catch (Exception e) { MessageBox.Show("*Exception Error*\n\r" + e.Message, "GPS Tracker",

84BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 92: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } }

Appendix C-11 ReadHistoryData() Function

private void ReadHistoryData() { try { // First check whether the output log file is exist or not. if (File.Exists(@"C:\GPS_HisLog.txt")) File.Delete(@"C:\GPS_HisLog.txt"); // If exist, delete it.

strFN = txtFileName.Text.Trim();

// File browser must pass a file name to carry on. If empty or file not exist, exit this method. if (strFN == "") return;

string str = "";

if (File.Exists(strFN) == false) return;

// Read the file contents. StreamReader sr = new StreamReader(strFN); str = sr.ReadToEnd(); // Read all the contents from the file. sr.Close(); // Clos ethe StreamReader object. sr = null;

// If file is empty. if (str.Trim() == "") return; // Exit.

string[] strSeparator = new string[] { "," }; // Delimeter.

str = str.Replace("\"", ""); // Clear unnecessary data from Read Data. str = str.Replace("Name/Number,Content,Time,", ""); // Replace or clear Title. string[] strData = str.Split('\n'); // Split the Read Data line by line. for (int i = 0; i < strData.Length; i++) { if (strData[i].Trim() == "") // If this is an empty line. continue; // Continue or Go to Next 'i' number.

// Trim out white space, remove \r at line end if has any. // Replace 'Last' data with empty. string strTmp = strData[i].Trim().Replace("\r", "").Replace("Last:", "").Replace("LAST:", "");

85BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 93: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

string[] strD = strTmp.Split(','); // Split again with ',' (Comma). if (strD.Length != 6) // If Count is not 6, return; // Exit function (Somewhere wrong in Read Data).

// 0. GPS Ph number. // 1. Latitude, Longitude. // 2. Speed. // 3. Date. // 4. Time. // 5. Extra data. int iStart = strD[1].IndexOf("Lati"); int iStop = strD[1].IndexOf("Longi"); string strMobile = strD[0].Trim(); string strLati = Mid(strD[1], iStart, iStop).Replace("Latitude =", "").Trim(); string strLongi = Mid(strD[1], iStop, strD[1].Length).Replace("Longitude =", "").Trim(); string strSpeed = strD[2].Replace(" ", "").Replace("=", "").ToUpper().Replace("SPEED", "").Trim(); string strDate = strD[3].Trim(); string strTime = strD[4].Trim();

gv.Rows.Add(strDate + " " + strTime, strLati, strLongi, strSpeed); lblTotalRec.Text = gv.RowCount.ToString();

// After processing finish for current line, Write the data to file. StreamWriter sw = new StreamWriter(@"C:\GPS_HisLog.txt", true); string strValue = strDate + " " + strTime + "," + ConvertFromDMS2DD(strLati) + "," + ConvertFromDMS2DD(strLongi) + "," + strSpeed; sw.WriteLine(strValue); sw.Close(); } // For Loop. } catch (Exception e) { MessageBox.Show("*Exception Error*\n\r" + e.Message, "GPS Tracker", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } }

Appendix C-12 ConvertFromDMS2DD(string strData) Function

// Convert from DMS to DD value. private string ConvertFromDMS2DD(string strData) { string[] strD = strData.Split(' '); if (strD.Length != 3) return ""; string str3 = strD[2]; strD[2] = strD[2].ToUpper().Replace("N", "").Replace("E", "").Replace("S", "").Replace("W", "");

86BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 94: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

// Formula to convert DMS to DD. // Degree + (Minute / 60 ) + (Seconds / 3600) // If West or South, multiply by -1 double dD = Convert.ToDouble(strD[0]) + (Convert.ToDouble(strD[1]) / 60) + (Convert.ToDouble(strD[2]) / 3600); if (str3.ToUpper() == "S" || str3.ToUpper() == "W") dD *= -1;

//dD = Math.Round(dD, 3, MidpointRounding.AwayFromZero);

return dD.ToString(); }

Appendix C-12 Mid(string strData, int iPos1, int iPos2) Function

// Mid function which return the string from Start and End Position. public static string Mid(string strData, int iPos1, int iPos2) { // If Empty, return empty. if (strData.Trim() == "") return "";

string strTmp = strData.Substring(iPos1, iPos2 - iPos1).Trim(); return strTmp; }

Appendix C-12 KillProcess() Function

private bool KillProcess() { try { // First get all the process list running in Task Manager. Process[] plist = Process.GetProcesses();

// Follow by loop through the list and find Mobile Partner softwar process name. foreach (Process p in plist) { try { // If found, Kill it. (Stop the process/End task the process.) if (p.MainModule.ModuleName.ToUpper() == "MOBILE PARTNER.EXE") { p.Kill(); return true; // Return from the function. } } catch (Exception e) { Console.WriteLine(e); // seems listing modules for some processes fails, so better ignore any exceptions here. } }

87BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 95: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

return true; } catch (Exception e) { MessageBox.Show("Exception Error*\n\r" + e.Message, "GPS Tracker", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); return false; } }

#endregion

}}

Appendix D

Mapping Source Code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html> <head> <title>GPS Live Data on Google Map</title> <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAwL0hBKXKlI2xKObyfhKE9BSpJbTgDT5ZInO2WrTXInp1vxnZqRQFvtE0ku7XDAx1QfD7juyFQwCC1g" type="text/javascript"></script> </head> <body onunload="GUnload()">

<!-- you can use tables or divs for the overall layout --> <table border=1> <tr> <td> <div id="map" style="width: 1200px; height: 650px"></div> </td> <td width = 200 valign="top" style="text-decoration: underline; color: #4444ff;"> </td> </tr> </table>

<noscript><b>JavaScript must be enabled in order for you to use Google Maps.</b> However, it seems JavaScript is either disabled or not supported by your browser. To view Google Maps, enable JavaScript by changing your browser options, and then try again. </noscript>

<script type="text/javascript"> //<![CDATA[

88BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 96: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

// Example Got from here --> http: //www.codeproject.com/KB/scripting/GetURLParameters.aspxfunction getURLParameters()

{ var sURL = document.URL.toString();

if (sURL.indexOf("?") > 0) {

var arrParams = sURL.split("?");

var arrURLParams = arrParams[1].split("&");

var arrParamNames = new Array(arrURLParams.length); var arrParamValues = new Array(arrURLParams.length);

var i = 0; for (i = 0; i < arrURLParams.length; i++) { var sParam = arrURLParams[i].split("="); arrParamNames[i] = sParam[0]; if (sParam[1] != "") arrParamValues[i] = unescape(sParam[1]); else arrParamValues[i] = ""; }

return arrParamValues[0]; } else { return "";

}}

if (GBrowserIsCompatible()) { var gmarkers = [];

var markers = []; var realaddress;

// Right now this function is not used. Just for future extension. // User can pass the parameter in URL and below javascript will grab the parameter // based on that parameter, it will load related text file (Live or History GPS Data).

// A function to create the marker and set up the event window function createMarker(point,time,lat,lng,speed) { var marker = new GMarker(point); GEvent.addListener(marker, "click", function() {

map.panTo(point); var geocoder = new GClientGeocoder();

geocoder.getLocations(point, function(response){ var place = response.Placemark[0];

realaddress = place.address;}) window.setTimeout(function() {

marker.openInfoWindowHtml('<b>Time Stamp: </b>' + time + '<br>' + '<b>Latitude: </b>' + lat + '<br>' + '<b>Longtitude: </b>' + lng + '<br>' +'<b>Speed: </b>' + speed + '<br>' +'<b>Address: </b>' + realaddress);}, 1000);

}); return marker; }

89BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 97: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

// create the map var map = new GMap2(document.getElementById("map")); var mgr = new GMarkerManager(map); var customUI = map.getDefaultUI(); customUI.maptypes.hybrid = true; map.setUI(customUI); map.setCenter(new GLatLng(1.31401,103.795221), 12); // === Define the function thats going to process the text file === process_GPS_logfile = function(doc) { // === split the document into lines === lines = doc.split("\n"); for (var i=0; i<lines.length; i++) { if (lines[i].length > 1) { // === split each line into parts separated by "," and use the contents === parts = lines[i].split(","); var time = parts[0]; var lat = parseFloat(parts[1]); var lng = parseFloat(parts[2]);

var speed = parts[3]; var point = new GLatLng(lat,lng);

// create the marker var marker = createMarker(point,time,lat,lng,speed); markers.push(marker); } } mgr.addMarkers(markers,0,17); mgr.refresh(); }

GDownloadUrl("GPS_LiveLog.txt", process_GPS_logfile); }

else { alert("Sorry, the Google Maps API is not compatible with this browser"); } //]]> </script> </body></html>

90BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 98: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Appendix E

Field Testing ResultsListed below are parts of the field testing from Alexandra Road to Ang Mo Kio. These log files was exported from Mobile Partner for the justification of few successful field testing. Some pictures were taken during the field testing can be located in Appendix E-2.

Appendix E-1: Journey from Alexandra to Ang Mo Kio

91BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 99: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

92BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Name/Number Content Time

6591541895Latitude = 01 17 14.15N Longitude = 103 48 15.28E,Speed = 0.6Km/h,2010-

09-21,16:282010

921162845

6591541895Latitude = 01 17 11.31N Longitude = 103 48 21.63E,Speed =

15.4Km/h,2010-09-21,16:272010

921162832

6591541895Latitude = 01 17 09.36N Longitude = 103 48 37.60E,Speed =

17.0Km/h,2010-09-21,16:262010

921162825

6591541895Latitude = 01 17 05.55N Longitude = 103 48 52.82E,Speed = 1.0Km/h,2010-

09-21,16:252010

921162544

6591541895Latitude = 01 17 01.95N Longitude = 103 49 07.33E,Speed =

23.1Km/h,2010-09-21,16:242010

921162446

6591541895Latitude = 01 16 58.86N Longitude = 103 49 15.59E,Speed = 0.4Km/h,2010-

09-21,16:232010

921162345

6591541895Latitude = 01 16 56.99N Longitude = 103 49 19.80E,Speed =

42.8Km/h,2010-09-21,16:222010

921162246

6591541895Latitude = 01 16 54.21N Longitude = 103 49 26.51E,Speed = 0.4Km/h,2010-

09-21,16:212010

921162145

6591541895Latitude = 01 16 54.60N Longitude = 103 49 27.48E,Speed = 7.5Km/h,2010-

09-21,16:202010

921162043

6591541895Latitude = 01 16 50.92N Longitude = 103 49 33.01E,Speed = 0.5Km/h,2010-

09-21,16:192010

921161945

6591541895Latitude = 01 16 50.72N Longitude = 103 49 33.68E,Speed = 5.5Km/h,2010-

09-21,16:182010

921161846

6591541895Latitude = 01 16 47.20N Longitude = 103 49 39.86E,Speed =

23.7Km/h,2010-09-21,16:172010

921161743

6591541895Latitude = 01 16 52.52N Longitude = 103 49 52.87E,Speed =

63.0Km/h,2010-09-21,16:162010

921161645

6591541895Last: Latitude = 01 17 59.84N Longitude = 103 50 40.62E,Speed =

0.0Km/h,2010-09-21,16:142010

921161547

6591541895Latitude = 01 18 01.42N Longitude = 103 50 38.79E,Speed =

89.1Km/h,2010-09-21,16:142010

921161444

6591541895Latitude = 01 18 36.98N Longitude = 103 50 39.29E,Speed =

88.5Km/h,2010-09-21,16:132010

921161343

6591541895Latitude = 01 19 07.06N Longitude = 103 51 06.36E,Speed =

79.4Km/h,2010-09-21,16:122010

921161249

6591541895Latitude = 01 19 34.24N Longitude = 103 51 39.29E,Speed =

74.3Km/h,2010-09-21,16:112010

921161142

6591541895Latitude = 01 20 11.27N Longitude = 103 51 44.01E,Speed =

41.7Km/h,2010-09-21,16:102010

921161042

6591541895Latitude = 01 20 38.80N Longitude = 103 51 36.68E,Speed =

68.9Km/h,2010-09-21,16:092010 92116

944

6591541895Latitude = 01 21 15.89N Longitude = 103 51 24.78E,Speed =

76.2Km/h,2010-09-21,16:082010 92116

843

6591541895Last: Latitude = 01 21 08.74N Longitude = 103 50 24.56E,Speed =

0.0Km/h,2010-09-21,14:572010 92116

741

6591541895Last: Latitude = 01 21 08.74N Longitude = 103 50 24.56E,Speed =

0.0Km/h,2010-09-21,14:572010 92116

642

6591541895Latitude = 01 20 58.73N Longitude = 103 50 22.30E,Speed =

64.2Km/h,2010-09-21,14:562010

921145652

6591541895Latitude = 01 20 53.02N Longitude = 103 50 16.64E,Speed = 0.0Km/h,2010-

09-21,14:552010

921145552

6591541895Latitude = 01 20 51.94N Longitude = 103 50 17.37E,Speed =

32.7Km/h,2010-09-21,14:542010

921145450

6591541895Latitude = 01 20 25.93N Longitude = 103 49 54.32E,Speed =

67.1Km/h,2010-09-21,14:532010

921145350

6591541895Latitude = 01 20 24.81N Longitude = 103 49 17.86E,Speed =

72.7Km/h,2010-09-21,14:522010

921145253

6591541895Latitude = 01 19 49.43N Longitude = 103 48 54.41E,Speed =

75.8Km/h,2010-09-21,14:512010

921145151

6591541895Latitude = 01 19 10.13N Longitude = 103 48 37.04E,Speed =

85.3Km/h,2010-09-21,14:502010

921145052

6591541895Latitude = 01 18 59.49N Longitude = 103 48 23.63E,Speed = 0.7Km/h,2010-

09-21,14:492010

921144953

6591541895Latitude = 01 18 36.61N Longitude = 103 48 12.16E,Speed =

99.2Km/h,2010-09-21,14:482010

921144851

6591541895Latitude = 01 17 51.23N Longitude = 103 48 01.26E,Speed =

80.9Km/h,2010-09-21,14:472010

921144752

6591541895Last: Latitude = 01 16 36.32N Longitude = 103 47 58.29E,Speed =

0.0Km/h,2010-09-02,16:442010

921144655

Page 100: TanYongPengCharles FYP

Figure E-1: Journey of field testing from Alexandra Road to Ang Mo Kio

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

93BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 101: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Appendix E-2: Journey from SIM University to Singapore Polytechnic and back to SIM University

Name/Number Content Time

6591541895 Last: Latitude = 01 19 47.71N Longitude = 103 46 33.31E,Speed = 0.0Km/h,2010-10-24,13:33 20101024133433

6591541895 Last: Latitude = 01 19 47.71N Longitude = 103 46 33.31E,Speed = 0.0Km/h,2010-10-24,13:33 20101024133332

6591541895 Latitude = 01 19 46.92N Longitude = 103 46 38.30E,Speed = 22.7Km/h,2010-10-24,13:32 20101024133233

6591541895 Latitude = 01 19 30.13N Longitude = 103 46 25.49E,Speed = 50.7Km/h,2010-10-24,13:31 20101024133135

6591541895 Latitude = 01 19 05.36N Longitude = 103 46 16.63E,Speed = 52.8Km/h,2010-10-24,13:30 20101024133034

6591541895 Latitude = 01 18 48.30N Longitude = 103 46 19.27E,Speed = 54.7Km/h,2010-10-24,13:29 20101024132933

6591541895 Latitude = 01 18 43.41N Longitude = 103 46 20.67E,Speed = 0.1Km/h,2010-10-24,13:28 20101024132833

6591541895 Latitude = 01 18 44.84N Longitude = 103 46 32.65E,Speed = 53.2Km/h,2010-10-24,13:27 20101024132732

6591541895 Latitude = 01 18 31.40N Longitude = 103 46 57.86E,Speed = 42.3Km/h,2010-10-24,13:26 20101024132632

6591541895 Latitude = 01 18 27.39N Longitude = 103 47 06.77E,Speed = 45.7Km/h,2010-10-24,13:25 20101024132534

6591541895 Latitude = 01 18 29.55N Longitude = 103 47 22.90E,Speed = 0.2Km/h,2010-10-24,13:24 20101024132433

6591541895 Latitude = 01 18 18.03N Longitude = 103 47 21.10E,Speed = 49.5Km/h,2010-10-24,13:23 20101024132332

6591541895 Latitude = 01 17 53.93N Longitude = 103 47 07.14E,Speed = 53.4Km/h,2010-10-24,13:22 20101024132232

6591541895 Latitude = 01 17 39.97N Longitude = 103 47 08.82E,Speed = 46.4Km/h,2010-10-24,13:21 20101024132130

6591541895 Latitude = 01 17 36.83N Longitude = 103 47 06.48E,Speed = 9.0Km/h,2010-10-24,13:20 20101024132033

6591541895 Latitude = 01 17 49.08N Longitude = 103 46 56.17E,Speed = 27.0Km/h,2010-10-24,13:19 20101024131931

6591541895 Latitude = 01 17 50.71N Longitude = 103 46 41.48E,Speed = 38.0Km/h,2010-10-24,13:18 20101024131830

6591541895 Latitude = 01 17 59.16N Longitude = 103 46 28.70E,Speed = 22.1Km/h,2010-10-24,13:17 20101024131732

6591541895 Latitude = 01 18 04.56N Longitude = 103 46 17.45E,Speed = 38.2Km/h,2010-10-24,13:16 20101024131631

6591541895 Latitude = 01 18 21.76N Longitude = 103 46 16.78E,Speed = 10.0Km/h,2010-10-24,13:15 20101024131531

6591541895 Latitude = 01 18 31.82N Longitude = 103 46 25.91E,Speed = 53.3Km/h,2010-10-24,13:14 20101024131433

6591541895 Latitude = 01 18 21.11N Longitude = 103 46 49.10E,Speed = 34.8Km/h,2010-10-24,13:13 20101024131332

6591541895 Latitude = 01 18 20.64N Longitude = 103 46 50.54E,Speed = 5.2Km/h,2010-10-24,13:12 20101024131231

6591541895 Latitude = 01 18 35.39N Longitude = 103 46 53.02E,Speed = 46.5Km/h,2010-10-24,13:11 20101024131130

6591541895 Latitude = 01 18 45.19N Longitude = 103 46 28.79E,Speed = 47.7Km/h,2010-10-24,13:10 20101024131033

6591541895 Latitude = 01 19 00.26N Longitude = 103 46 18.32E,Speed = 51.5Km/h,2010-10-24,13:09 2010102413 930

6591541895 Latitude = 01 19 25.25N Longitude = 103 46 20.55E,Speed = 54.8Km/h,2010-10-24,13:08 2010102413 829

6591541895 Latitude = 01 19 44.56N Longitude = 103 46 38.55E,Speed = 51.1Km/h,2010-10-24,13:07 2010102413 731

6591541895 Latitude = 01 20 13.02N Longitude = 103 46 43.54E,Speed = 39.0Km/h,2010-10-24,13:06 2010102413 630

6591541895 Latitude = 01 20 10.60N Longitude = 103 46 42.01E,Speed = 36.4Km/h,2010-10-24,13:05 2010102413 529

6591541895 Latitude = 01 19 48.64N Longitude = 103 46 39.57E,Speed = 39.8Km/h,2010-10-24,13:04 2010102413 429

6591541895 Latitude = 01 19 48.54N Longitude = 103 46 34.92E,Speed = 13.0Km/h,2010-10-24,13:03 2010102413 328

6591541895 Latitude = 01 19 51.40N Longitude = 103 46 31.85E,Speed = 0.0Km/h,2010-10-24,13:02 2010102413 231

6591541895 Latitude = 01 19 51.37N Longitude = 103 46 31.89E,Speed = 0.0Km/h,2010-10-24,13:01 2010102413 130

6591541895 Last: Latitude = 01 17 46.86N Longitude = 103 46 59.27E,Speed = 0.0Km/h,2010-10-09,13:47 2010102413 1 2

6591541895 Last: Latitude = 01 17 46.86N Longitude = 103 46 59.27E,Speed = 0.0Km/h,2010-10-09,13:47 2010102413 057

6591541895 Last: Latitude = 01 17 46.86N Longitude = 103 46 59.27E,Speed = 0.0Km/h,2010-10-09,13:47 20101024125930

94BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 102: TanYongPengCharles FYP

Figure E-3: SIM University

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

95BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 103: TanYongPengCharles FYP

Figure E-5: Sunset Way

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

96BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Figure E-4: Ngee Ann Polytechnic

Page 104: TanYongPengCharles FYP

Figure E-7: SingTel Tower at Dover

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

97BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 105: TanYongPengCharles FYP

Figure E-9: Ministry of Education (MOE) at Buona Vista

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Glossary

Almanac data

98BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 106: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

A set of parameters for each GPS satellite that can be used to calculate its approximate

location in orbit

Altitude

The height of an object above a reference level, especially above sea level or above the

Earth’s surface

American Standard Code for Information Exchange (ASCII)

A character-encoding scheme based on the ordering of English alphabet.

Application Programming Interface (API)

A set of routines, data structures, object classes and/or protocols provided by libraries and/or

operating system services in order to support the building of applications.

Coordinate

A number that identifies a position relative to an axis

Ephemeris data

Precise orbital position and clock data for each GPS satellite

Equator

The line which encircles the Earth at an equal distance from the North and South Poles

Global Positioning System (GPS)

A global navigation satellite system which provides reliable positioning, navigation and

timing services to worldwide users on a continuous basis in all weather, day and night, and

anywhere on or near the Earth.

Global System for Mobile Communications (GSM)

An international standard for wireless technology

Graphical User Interface (GUI)

A user interface based on graphics (icons, pictures or menus) instead of text; uses a mouse as

well as a keyboard as an input device.

99BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT

Page 107: TanYongPengCharles FYP

Student Name/ Student No.: Tan Yong Peng Charles / J0704259

Ionosphere

The outer region of the Earth’s atmosphere, distinguished because it is ionised by solar

radiation.

Latitude

Latitude is the angular distance between the Equator, with positive values going north and

negative values going south on the surface of the earth.

Longitude

Longitude is the angular distance between the Prime Meridian (which is the longitude that

runs through Greenwich, England), with positive values going east and negative values going

west on the surface of the Earth.

Pseudorandom code

The identifying signature signal transmitted by each GPS satellite and mirrored by the GPS

receiver in order to separate and retrieve the signal from background noise.

Short Message Service (SMS)

A communication protocol that enables the exchange of short text messages between mobile

devices.

Troposphere

It is lowest portion of the Earth’s atmosphere. It contains approximately 75% of the

atmosphere’s mass and 99% of its water vapour and aerosols.

Universal Serial Bus (USB)

A way of setting up communication between a computer and peripheral devices

100BME499 ENG499 MTD499 ICT499 MTH499 CAPSTONE PROJECT REPORT