SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Mobile GPS Tracking
Chapter 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. Each satellite is powered by
    the Sun via its solar panel. 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.

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

    1.3 Motivations and Goals
    Security is very important in some activities. Free ride, mountain walking or climbing,
    paragliding are those where accidents can be serious or fatal. Having the possibility to
    follow physically the position of a person on regular basis can be comfortable for family,
    relatives or others.
    These meant to propose a simple and portable solution for people to get traced during a
    trip. The application is web based and should be available for every people who have the
    possibility to



    R V College of Engineering                                                                    1
Mobile GPS Tracking


   1. Run a small Java application on its mobile phone.
   2. Has link between a GPS device and its mobile phone.
   3. Has Internet access.


This concept is not new and a lot of applications involving GPS are available on the market:
now a day’s almost every new car is equipped with a GPS on board and helps people in city
or country side to find their road.


The concept of this project is a bit different. We are not focusing on "where are we?" but
more on "where he/she is?”. For this the idea is to use a cell phone which accepts to receive
GPS coordinates and send them to a server able to record them under the account of a
register user (tracked person). Then from a web client, the user can be followed on a map in
real time mode.




                           Figure 1.3 GPS Tracker General Schema




R V College of Engineering                                                                 2
Mobile GPS Tracking
Chapter 2

                                REQUIREMENT ANALYSIS
  2.1 System Requirements
  The system needs different components are given below:
        An Application Server J2EE EJB 2.1 compatible.
        A SQL database
        Java compatible mobile phone with Bluetooth
        Internet access


  2.1.1 Functional Requirements

  The application will follow the use cases described in Fig 1.4. All use cases are now
  described formally. Within the 3 actors, the manager has a special role and is automatically
  created with the user Id 1. It can do exactly what a standard user can do but has special
  rights that the others don't have.


   Creation of users
  Any user who wants to be followed needs to be register in the system first. The applications
  will offer a web interface to enter the following data.
      1. First Name
      2. Last Name
      3. Street
      4. Zip code
      5. City
      6. Phone
      7. Password
  Then the user receives a user Id (integer) and is recorded in the database. This part is done
  on the web client side. The password must be more than 4 characters long. Any fields must
  be empty otherwise the user is not register.




  R V College of Engineering                                                                 3
Mobile GPS Tracking


 Modification of the user profile
Once logged, the user can modify its profile using the same data as above and same
constraints.


 User login
This web page is the first one in the system. The user must be identify in order to access any
options. The web page contains two fields:
    1. User ID
    2. Password


  Creation of a track for a given user
The user, once registered, can log in the system and create a track. There is two possibilities
to do it.
    1. From the web client application.
    2. From the mobile application (mobile phone).
If a new track is started from the mobile application, the user must provide:
    1. User Id
    2. Password
Then the server will create a new track and be ready to store the future positions
in under this track's id.
For a track started from the web client, the user can give:
    1. North coordinates
    2. East coordinates
This will represent the first point of the track. The track has a unique identifier within the
system. The time and date when the track is created is taken from the server's clock.


  Sending GPS coordinates to a server using mobile data communication
The users get the coordinates (position) from its GPS device and send them to the server
with mobile phone. The position must contain:
    1. User Id
    2. Time
    3. North coordinates


R V College of Engineering                                                                   4
Mobile GPS Tracking


    4. East coordinates
    5. Altitude
Then the server records the position under the user's current track id. If no track is created
or the user Id does not exists, the system gives an error message and do not record the
position.

  Follow a user in real time mode on the Internet
Any person having the right to watch a user's track must log in the system under the user's
ID and password. Then he/she can choose the track to be drawn. A list of the user's tracks is
available. This is done through the web page. The drawings of the track are done in two
different manners: Swiss Topo 2D maps and Google Earth. If the track chosen is the current
one and drawn in 2D mode, it is refreshed periodically using a "refresh time" parameter.


  Delete a track
The user can delete tracks from a list of tracks. If the track deleted is the current one then
the previous one become again the current track and all the future positions sent to the
server will be save under this track id.


  Manager - Delete users
The web page allow the manager to delete users from a list of register one. This list shows
all the available users.


  Manager - Follow a tracked user in real time mode on the Internet
The manager can choose the track to be drawn. A list of all users tracks is available. This is
done through the web page. The other options are the same
as standard users.


2.1.2 Non – Functional Requirements
Constraints on the services or functions offered by the system such as timing constraints,
constraints on the development process, standards, etc.
Following Non-functional requirements will be there in our project:



R V College of Engineering                                                                  5
Mobile GPS Tracking


   1. Secure access of confidential data (user’s details).
   2. 24 X 7 availability.
   3. Security
   4. Reliability
   5. Maintainability
   6. Portability
   7. Extensibility
   8. Reusability
   9. Application Compatibility



2.3 Software Requirements
The OS where all the following were installed is Windows XP sp2:
      J2EE Application Server: Sun Java System Application Server Platform Edition 8.1
       2005Q1
      Enterprise Java Beans 2.1
      Java Midlet : SUN J2ME Wireless Tool Kit 2.2
      PointBase free Version: 5.2 ECF build 294
      Java VM : J2SE Version 1.5.0 (build 1.5.0 06 b05)


2.4 Hardware Requirements
Only two devices where needed and are
    1. Mobile Nokia Phone
    2. GPS EMTAC Bluetooth - GPS Trine




R V College of Engineering                                                            6
Mobile GPS Tracking
Chapter 3

                                             DESIGN
   3.1 Architecture
   The technologies used for the project are client-server and web based. The main platform of
   development is J2EE. The full description of the language, server version is described above.
   We will not explain in detail how J2EE works and assume that the reader knows this
   technology and how the modules are defined. The general structure of the application is
   shown in the Fig 3.1.
   The application is based on 3-tiers architecture:
       1. Client side: mobile application, web browser
       2. Server side: business logic, web application (interface)
       3. Database




                  Figure 3.1 General Architecture of GPS Tracker application


   3.2 Components
   As shown in the fig 3.1, there are 3 main components. The client side which contains an
   Java Midlet application (loaded in the mobile phone) and the browsers. The
   application server which contains the Web container (JSPs and servlets) and the EJB
   container where the business logic (Session beans and Entity beans) stands. The third
   tier is the database managing the tables where the entity beans store their values.



   R V College of Engineering                                                                 7
Mobile GPS Tracking


3.3 Software Modules
Now we enter into the different modules which are contained in the main components. We
will treat them by decreasing complexity. Finally we will describe the communication layer
between the different modules.


   1. EJB container: description of the Session and Entity Bean.
   2. WEB container: description of the JSPs and Servlets.
   3. Database: description of the tables and relations.
   4. Midlet: description of the Java mobile application.


3.3.1 EJB container: description of Entity Bean and the Session
The fig 3.2 shows the definition of the entity beans class and the relation between them.
Primary Key management: the primary key management is implemented with an entity
bean. The idea is to avoid for the user to give manually a unique key for each new position,
track, address, user, etc. This is simply impossible to do it in a large scale. Also managing the
primary key allow the system to be "database vendor independent".


3.3.2 WEB Container: description of the JSPs and Servlets
The figure 7 shows the different JSPs and Servlets that the Web container manages. The
association represents the navigation between the JSPs. This figure contains the web access
JSPs. The JSPs are composed with HTML code for the front end and quite a lot of Java code
which call methods in the session beans. We still need to describe the servlets which allow
the mobile phone to access the application server.




R V College of Engineering                                                                     8
Mobile GPS Tracking




                             Figure 3.2 Entity Bean: Class diagram

3.3.3 Database: description of the tables and relations
Each Entity Bean represents the storage medium and must correspond to a table in the
database. We going to describe in pseudo SQL command the fields of the six tables
contained in the database SAMPLE.


  TABLE TRACKER_PERSON (

  ID INTEGER NOT NULL CONSTRAINT PERSON_PK PRIMARY KEY,

  FIRSTNAME VARCHAR (24) NOT NULL,

  LASTNAME VARCHAR (24) NOT NULL,

  ADDRESS_ID INTEGER NOT NULL,

  CRT_TRACK INTEGER NOT NULL,

  USER_ID INTEGER);




R V College of Engineering                                                            9
Mobile GPS Tracking


3.3.4 Midlet: description of the Java mobile application
The mobile application is developed in Java using J2ME 2.2. More precisely we have the
description in fig 3.3 of the Midlets Architecture. Again, only the methods which are
needed to request or send data are shown. The "not described" methods are usual ones in a
Midlet (Menu definition, button, action, etc




            Figure 3.3 Midlets - complete architecture of the mobile application

3.4 Communication between modules
The communication layer is describing in the fig 3.4 for the project, H t t p
request between mobile phone and server (using GPRS) i s implemented. The
idea is to develop the SMS communication in the future.




     Figure 3.4 Communication between the different modules of the application

R V College of Engineering                                                               10
Mobile GPS Tracking


3.5 Use cases




                                    Figure 3.5 Use Cases

The Fig 3.5 shows the use cases for the application. There are 3 actors, 10 use cases which
represent for different action what actors can do with the system. The use case Start a track
is in fact 2 use cases. A track can be started from the web client or from the mobile
application (cell phone application). The use case Send a position is only available from the
mobile application.




R V College of Engineering                                                                11
Mobile GPS Tracking
Chapter 4


                               INTEGRATION AND TESTING

  Software testing is an investigation conducted to provide stakeholders with information
  about the quality of the product or service under test. The GPS tracking system will be
  subjected to a series of field trials and functional testing where various test cases will be
  performed to validate the different features of the system. The methodology used in the
  testing process is described in Fig 4.1


                                Start




                           Configure test
                            case input
                            parameters




                           Perform testing




                            Results and
                             outcome




                           Evaluation and
                            compare with
                          expected results/
                              outcome




                            Any errors or
                                                      Debug and rectify
                           deviations from    Yes
                                                          errors
                          expected results?



                                 No


                               Further
                          improvement and
                            enhancement




                                End




                           Figure 4.1 functional testing methodologies




  R V College of Engineering                                                                12
Mobile GPS Tracking


A few test cases will be defined and tested where the collated results will be verified and
compared with the expected outcome. If there are any errors or deviations from the
expected results, the program will be analyzed to rectify any software bugs. This testing
cycle will be repeated until all the problems have been resolved. Thereafter, evaluation will
be performed to further enhance and improve the system to deliver the best user
experience.



4.1 Unit Testing
Unit testing is a method by which individual units of source code, sets of one or       more
computer program modules together with associated control data, usage procedures, and
operating procedures, are tested to determine if they are fit for use.


4.1.1 Test Strategies
Features to be tested
   1. module which create user
   2. module which delete’s the tracks
   3. module which send positions
   4. module which draws tracks
   5. module which deletes user
   6. module which create track


4.1.2 Test case

 Sl No. of test case :         1
 Name of test :                User

 Item / Feature being tested Whether system is able to create users account

 Sample Input :                Allowing user to Register on providing specified constraints

 Expected output :             User account should created
 Actual output :               User created successfully
 Remarks :                     Module is working properly



R V College of Engineering                                                                13
Mobile GPS Tracking



 Sl No. of test case :         2


 Name of test :                Delete tracks

 Item / Feature being tested   Whether the module allow to Delete tracks
 :

 Sample Input :                Trying to delete track


 Expected output :             It should delete the specified


 Actual output :               Track deleted


 Remarks :                     Module is working properly




 Sl No. of test case :         3


 Name of test :                Sending positions

 Item / Feature being tested   Whether system is able send GPS coordinates to a server
 :                             using mobile data communication

 Sample Input :                Module gets position from GPS and send it to server


 Expected output :             Module should send user_id, position to server


 Actual output :               Position sent properly

 Remarks :                     Module is working properly



     Sl No. of test case :         4


 Name of test :                Drawing tracks

 Item / Feature being tested
                               Whether system is able draw tracks stored in database
 :

 Sample Input :                Module should get positions


R V College of Engineering                                                               14
Mobile GPS Tracking



 Expected output :            Module should draw track on google earth application


 Actual output :              Draw track properly


 Remarks :                    Module is working properly



 Sl No. of test case :        5


 Name of test :               Delete user

 Item / Feature being tested: Whether system is able delete user

 Sample Input :               Module gets user id from manager


 Expected output :            Module should delete only specified user


 Actual output :              Specified module deleted properly


 Remarks :                    Module is working properly



 Sl No. of test case :        6


 Name of test :               Track creation

 Item / Feature being tested: Whether system is able create track

 Sample Input :               Module get position from mobile GPS


 Expected output :            Module should create track only for registered user


 Actual output :              Track created properly


 Remarks :                    Module is working properly




R V College of Engineering                                                               15
Mobile GPS Tracking


4.2 Integration Testing
Integration testing (sometimes called Integration and Testing, abbreviated "I&T") is the
phase in software testing in which individual software modules are combined and tested as
a group.


4.2.1 Test Strategies
Features to be tested
   1. Login and save track


4.2.2 Test case:
 Sl No. of test case :           1
 Name of test :                  Login and save track
 Item / Feature being tested :   Whether system login proper user and track
 Sample Input :                  User name and password for login and position for track
 Expected output :               User should login, track the positions and save track
 Actual output :                 Track of user stored in database
 Remarks :                       Integration of module 2 and 1 is working properly




R V College of Engineering                                                                 16
Mobile GPS Tracking


4.3 Known Problems
Here is the list of most severe problems:

      We had one serious database corruption due to external access and manual unlock
       of tables. The database had to be recreated (Point base is only an evaluation
       version!)
      At least two times, the SUN application Server crashed and had to be re-installed.
       Again the version used is only a free version.
      The Http session are not well managed. The login is a real "secure Login". When a
       user is in the system, an Http session is created and its context is available during the
       session. But there is a bug when no activities where done for a long period: the
       server raises an exception (which is good in term of security) when the client try to
       refresh or access the system. I was not able to catch this exception and redirect the
       request to the login page indicating to the user that the session is over and he must
       authenticate himself again.
      We have not succeeded in properly saving the applet                      in the package
                             and use it from here. We still need to save it in the
       where all the JSPs stand and compile it before.
      No real and efficient security is setup and the Midlets can send only the user ID to
       start a track for instance (unacceptable in a real usage).




R V College of Engineering                                                                   17
Mobile GPS Tracking
Chapter 5


                          OPERATION AND MAINTENANCE
  5.1 Tutorial
  The application is very simple to use and very intuitive. The user interfaces are:
     1. Web client
     2. Midlet

  1. Web client
  The web client can allow two types of users to be log in the system:
     1. Manager
     2. User.
  The manager is a special user and is identified in the system by the user Id number”1”. It is
  in fact the first user to be register. The figure shows the web site map for a normal user. We
  will see what the additional rights that the manager has later are.
  To access the application from the web the URL




                               Figure 5.1 User navigation site map


  R V College of Engineering                                                                 18
Mobile GPS Tracking


    :            :                   must be entered in the browser. This is valid of course if
the server is local. The main page asks for a Login and if the user is not yet register he/she
must register first. The user receives a user Id and will need it every time he/she enter in
the system.
Once logged in, the navigation page allows the user to change its profile, add a new track,
delete a track, and view its different tracks, logout the system. The different buttons are:


       Profile Setup: allow the user to change its profile and password.
       Add Track: allow the user to add a track. The Field coordinates and altitude is
        optional. once the track created, all the positions send to the server will be saved
        under this track Id.
       Delete: Delete a selected track from a list. If the track is the current one, the
        previous track becomes the current one.
       View Track: The user can view the list of track and select one from a list. Once the
        track selected, click Get List of points and then only the track can drawn on maps.
        Two options are available:
        1. Draw on a Swiss topo Map
        2. Draw the track using Google Earth application (which must be installed!)


The manager has the same Profile setup and Logout as the standard user.
The differences are:
       Users: allow the manager to delete a user.
       Tracks: show all active tracks in the system (all users) and can draw them with the
        View track of the standard user.
       GPS points: The manager can modify a specific position by selecting a track then the
        particular point of this track.




R V College of Engineering                                                                     19
Mobile GPS Tracking


2. Midlet
At that level of development, the midlets are available only with the Java Simulator.
KtoolBar of the WTK must be launched. You must open the project Mobile Tracker and run
it.The Mobile Application offers two menus which allow the user to:


   1. Create a new track
   2. Send a position to the server


The option create atrack will send a request to server after the user provides its Id as shown
in the Figure When a track has started, you begin to send your positions (GPS points). The
option Start Position Tracking propose the same interface than the Start new Track but
when the user Id as been sent, the tracking starts and every 5 seconds a new point is sent
to server.


5.2 Future enhancement
Here is a list of possible extension for such project.
   1. Server implementation
            A Map Entity bean in order to choose the appropriate map according to the
             range of coordinate of the track.
            A dynamic selection of coordinate system (Swiss Grid, WGS 84, etc.)
            Definition of the Roles within the application.
            Re-definition of the Position Entity bean vs simple records in the database.
            Client interfaces.
            Web pages to be re-looked.
   2. Graphics
            Dynamically change the view on a map (zoom in-out).
            Interface with Google Earth real time!
   3. Mobile communication
            Finalize the GPS-Mobile Phone communication.
            SMS communication.
            Mobile graphic interface to follow another user.


R V College of Engineering                                                                  20

Mais conteúdo relacionado

Mais procurados

Geofencing for mobile applications
Geofencing for mobile applicationsGeofencing for mobile applications
Geofencing for mobile applicationsRajith Rajan
 
Smart School Bus
Smart School BusSmart School Bus
Smart School BusJudy T Raj
 
VEHICLE TRACKING SYSTEM
VEHICLE TRACKING SYSTEMVEHICLE TRACKING SYSTEM
VEHICLE TRACKING SYSTEMNishil Patel
 
Bus tracking application in Android
Bus tracking application in AndroidBus tracking application in Android
Bus tracking application in Androidyashonil
 
Smart car parking system
Smart car parking systemSmart car parking system
Smart car parking systemJHALAKNIHALANI
 
GPS tracking in Aircraft
GPS tracking in AircraftGPS tracking in Aircraft
GPS tracking in AircraftZakaria Hossain
 
Google's Driverless Car
Google's Driverless CarGoogle's Driverless Car
Google's Driverless Caraishu nischala
 
Design and development of gps-gsm based Tracking system with google map based...
Design and development of gps-gsm based Tracking system with google map based...Design and development of gps-gsm based Tracking system with google map based...
Design and development of gps-gsm based Tracking system with google map based...IJCSEA Journal
 
Computer science seminar topics
Computer science seminar topicsComputer science seminar topics
Computer science seminar topics123seminarsonly
 
Smart Bus Ticket System using QR code
Smart Bus Ticket System using QR codeSmart Bus Ticket System using QR code
Smart Bus Ticket System using QR codeFaiz Akmal
 
Silent sound technology
Silent sound technologySilent sound technology
Silent sound technologyKishan Vemula
 
Final Year Project Report on Self Tacit Zone (Location Based Android App)
Final Year Project Report on Self Tacit Zone (Location Based Android App)Final Year Project Report on Self Tacit Zone (Location Based Android App)
Final Year Project Report on Self Tacit Zone (Location Based Android App)Parthik Poshiya
 
Accisdent detection and notificstion system
Accisdent detection and notificstion systemAccisdent detection and notificstion system
Accisdent detection and notificstion systemSolomon Mutwiri
 
Artificial passenger
Artificial passengerArtificial passenger
Artificial passengerDhanya LK
 
Generic visual perception processor
Generic visual perception processor   Generic visual perception processor
Generic visual perception processor Ghanshyam Yadav
 
Vehicle tracking system using gps and google map
Vehicle tracking system using gps and google mapVehicle tracking system using gps and google map
Vehicle tracking system using gps and google mapsanchit bhargava
 
4th Year Project - Indoor Positioning System
4th Year Project - Indoor Positioning System4th Year Project - Indoor Positioning System
4th Year Project - Indoor Positioning SystemM. Yahia Al Kahf
 

Mais procurados (20)

Geofencing for mobile applications
Geofencing for mobile applicationsGeofencing for mobile applications
Geofencing for mobile applications
 
Place reminder
Place reminderPlace reminder
Place reminder
 
Smart School Bus
Smart School BusSmart School Bus
Smart School Bus
 
College Bus Tracking Application
College Bus Tracking ApplicationCollege Bus Tracking Application
College Bus Tracking Application
 
VEHICLE TRACKING SYSTEM
VEHICLE TRACKING SYSTEMVEHICLE TRACKING SYSTEM
VEHICLE TRACKING SYSTEM
 
Bus tracking application in Android
Bus tracking application in AndroidBus tracking application in Android
Bus tracking application in Android
 
Smart car parking system
Smart car parking systemSmart car parking system
Smart car parking system
 
GPS tracking in Aircraft
GPS tracking in AircraftGPS tracking in Aircraft
GPS tracking in Aircraft
 
Google's Driverless Car
Google's Driverless CarGoogle's Driverless Car
Google's Driverless Car
 
Design and development of gps-gsm based Tracking system with google map based...
Design and development of gps-gsm based Tracking system with google map based...Design and development of gps-gsm based Tracking system with google map based...
Design and development of gps-gsm based Tracking system with google map based...
 
Computer science seminar topics
Computer science seminar topicsComputer science seminar topics
Computer science seminar topics
 
Smart Bus Ticket System using QR code
Smart Bus Ticket System using QR codeSmart Bus Ticket System using QR code
Smart Bus Ticket System using QR code
 
Silent sound technology
Silent sound technologySilent sound technology
Silent sound technology
 
Final Year Project Report on Self Tacit Zone (Location Based Android App)
Final Year Project Report on Self Tacit Zone (Location Based Android App)Final Year Project Report on Self Tacit Zone (Location Based Android App)
Final Year Project Report on Self Tacit Zone (Location Based Android App)
 
Accisdent detection and notificstion system
Accisdent detection and notificstion systemAccisdent detection and notificstion system
Accisdent detection and notificstion system
 
Artificial passenger
Artificial passengerArtificial passenger
Artificial passenger
 
Generic visual perception processor
Generic visual perception processor   Generic visual perception processor
Generic visual perception processor
 
Vehicle Tracking System (VTS)
Vehicle Tracking System (VTS)Vehicle Tracking System (VTS)
Vehicle Tracking System (VTS)
 
Vehicle tracking system using gps and google map
Vehicle tracking system using gps and google mapVehicle tracking system using gps and google map
Vehicle tracking system using gps and google map
 
4th Year Project - Indoor Positioning System
4th Year Project - Indoor Positioning System4th Year Project - Indoor Positioning System
4th Year Project - Indoor Positioning System
 

Semelhante a Mobile GPS Tracking

THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...
THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...
THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...Ibrahim Özgön
 
IRJET- City Tour Traveller: Based on FourSquare API
IRJET- City Tour Traveller: Based on FourSquare APIIRJET- City Tour Traveller: Based on FourSquare API
IRJET- City Tour Traveller: Based on FourSquare APIIRJET Journal
 
IRJET- TRACKITUP-An Android Application to Track Multiple Users
IRJET- TRACKITUP-An Android Application to Track Multiple UsersIRJET- TRACKITUP-An Android Application to Track Multiple Users
IRJET- TRACKITUP-An Android Application to Track Multiple UsersIRJET Journal
 
Gps enabled android application for bus
Gps enabled android application for busGps enabled android application for bus
Gps enabled android application for buseSAT Publishing House
 
An android based advisor system for efficient vehicle driving directions
An android based advisor system for efficient vehicle driving directionsAn android based advisor system for efficient vehicle driving directions
An android based advisor system for efficient vehicle driving directionseSAT Publishing House
 
IRJET- Profile Management System
IRJET- Profile Management SystemIRJET- Profile Management System
IRJET- Profile Management SystemIRJET Journal
 
Land vehicle tracking system using java on android platform
Land vehicle tracking system using java on android platformLand vehicle tracking system using java on android platform
Land vehicle tracking system using java on android platformAlexander Decker
 
Iaetsd location-based services using autonomous gps
Iaetsd location-based services using autonomous gpsIaetsd location-based services using autonomous gps
Iaetsd location-based services using autonomous gpsIaetsd Iaetsd
 
BLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDBLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDijcax
 
BLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDBLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDijcax
 
BLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDBLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDijcax
 
BLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDBLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDijcax
 
BLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDBLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDijcax
 
BLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDBLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDijcax
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
Androidbasedtaskschedulerandindicator (2).pdf
Androidbasedtaskschedulerandindicator (2).pdfAndroidbasedtaskschedulerandindicator (2).pdf
Androidbasedtaskschedulerandindicator (2).pdfShubhamDiggikar
 
Android application to locate and track mobile phones(aaltm) an implementati...
Android application to locate and track mobile phones(aaltm)  an implementati...Android application to locate and track mobile phones(aaltm)  an implementati...
Android application to locate and track mobile phones(aaltm) an implementati...eSAT Journals
 
A survey on hiding user privacy in location based services through clustering
A survey on hiding user privacy in location based services through clusteringA survey on hiding user privacy in location based services through clustering
A survey on hiding user privacy in location based services through clusteringeSAT Journals
 

Semelhante a Mobile GPS Tracking (20)

THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...
THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...
THE DESIGN IN MOBILE AND WEB PLATFORM OF THE LOCATION IDENTIFICATION APPLICAT...
 
IRJET- City Tour Traveller: Based on FourSquare API
IRJET- City Tour Traveller: Based on FourSquare APIIRJET- City Tour Traveller: Based on FourSquare API
IRJET- City Tour Traveller: Based on FourSquare API
 
IRJET- TRACKITUP-An Android Application to Track Multiple Users
IRJET- TRACKITUP-An Android Application to Track Multiple UsersIRJET- TRACKITUP-An Android Application to Track Multiple Users
IRJET- TRACKITUP-An Android Application to Track Multiple Users
 
Blind shoes
Blind shoesBlind shoes
Blind shoes
 
Gps enabled android application for bus
Gps enabled android application for busGps enabled android application for bus
Gps enabled android application for bus
 
An android based advisor system for efficient vehicle driving directions
An android based advisor system for efficient vehicle driving directionsAn android based advisor system for efficient vehicle driving directions
An android based advisor system for efficient vehicle driving directions
 
IRJET- Profile Management System
IRJET- Profile Management SystemIRJET- Profile Management System
IRJET- Profile Management System
 
[IJET-V1I3P1] Authors :Sayli Nikumbh,Suchal Gujarathi,Shubham Pawar,S.P.Pingat
[IJET-V1I3P1] Authors :Sayli Nikumbh,Suchal Gujarathi,Shubham Pawar,S.P.Pingat[IJET-V1I3P1] Authors :Sayli Nikumbh,Suchal Gujarathi,Shubham Pawar,S.P.Pingat
[IJET-V1I3P1] Authors :Sayli Nikumbh,Suchal Gujarathi,Shubham Pawar,S.P.Pingat
 
Land vehicle tracking system using java on android platform
Land vehicle tracking system using java on android platformLand vehicle tracking system using java on android platform
Land vehicle tracking system using java on android platform
 
Iaetsd location-based services using autonomous gps
Iaetsd location-based services using autonomous gpsIaetsd location-based services using autonomous gps
Iaetsd location-based services using autonomous gps
 
BLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDBLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLIND
 
BLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDBLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLIND
 
BLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDBLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLIND
 
BLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDBLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLIND
 
BLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDBLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLIND
 
BLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLINDBLIND AID : TRAVEL AID FOR BLIND
BLIND AID : TRAVEL AID FOR BLIND
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
Androidbasedtaskschedulerandindicator (2).pdf
Androidbasedtaskschedulerandindicator (2).pdfAndroidbasedtaskschedulerandindicator (2).pdf
Androidbasedtaskschedulerandindicator (2).pdf
 
Android application to locate and track mobile phones(aaltm) an implementati...
Android application to locate and track mobile phones(aaltm)  an implementati...Android application to locate and track mobile phones(aaltm)  an implementati...
Android application to locate and track mobile phones(aaltm) an implementati...
 
A survey on hiding user privacy in location based services through clustering
A survey on hiding user privacy in location based services through clusteringA survey on hiding user privacy in location based services through clustering
A survey on hiding user privacy in location based services through clustering
 

Mobile GPS Tracking

  • 1. Mobile GPS Tracking Chapter 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. Each satellite is powered by the Sun via its solar panel. 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. 1.2 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. 1.3 Motivations and Goals Security is very important in some activities. Free ride, mountain walking or climbing, paragliding are those where accidents can be serious or fatal. Having the possibility to follow physically the position of a person on regular basis can be comfortable for family, relatives or others. These meant to propose a simple and portable solution for people to get traced during a trip. The application is web based and should be available for every people who have the possibility to R V College of Engineering 1
  • 2. Mobile GPS Tracking 1. Run a small Java application on its mobile phone. 2. Has link between a GPS device and its mobile phone. 3. Has Internet access. This concept is not new and a lot of applications involving GPS are available on the market: now a day’s almost every new car is equipped with a GPS on board and helps people in city or country side to find their road. The concept of this project is a bit different. We are not focusing on "where are we?" but more on "where he/she is?”. For this the idea is to use a cell phone which accepts to receive GPS coordinates and send them to a server able to record them under the account of a register user (tracked person). Then from a web client, the user can be followed on a map in real time mode. Figure 1.3 GPS Tracker General Schema R V College of Engineering 2
  • 3. Mobile GPS Tracking Chapter 2 REQUIREMENT ANALYSIS 2.1 System Requirements The system needs different components are given below:  An Application Server J2EE EJB 2.1 compatible.  A SQL database  Java compatible mobile phone with Bluetooth  Internet access 2.1.1 Functional Requirements The application will follow the use cases described in Fig 1.4. All use cases are now described formally. Within the 3 actors, the manager has a special role and is automatically created with the user Id 1. It can do exactly what a standard user can do but has special rights that the others don't have.  Creation of users Any user who wants to be followed needs to be register in the system first. The applications will offer a web interface to enter the following data. 1. First Name 2. Last Name 3. Street 4. Zip code 5. City 6. Phone 7. Password Then the user receives a user Id (integer) and is recorded in the database. This part is done on the web client side. The password must be more than 4 characters long. Any fields must be empty otherwise the user is not register. R V College of Engineering 3
  • 4. Mobile GPS Tracking  Modification of the user profile Once logged, the user can modify its profile using the same data as above and same constraints.  User login This web page is the first one in the system. The user must be identify in order to access any options. The web page contains two fields: 1. User ID 2. Password  Creation of a track for a given user The user, once registered, can log in the system and create a track. There is two possibilities to do it. 1. From the web client application. 2. From the mobile application (mobile phone). If a new track is started from the mobile application, the user must provide: 1. User Id 2. Password Then the server will create a new track and be ready to store the future positions in under this track's id. For a track started from the web client, the user can give: 1. North coordinates 2. East coordinates This will represent the first point of the track. The track has a unique identifier within the system. The time and date when the track is created is taken from the server's clock.  Sending GPS coordinates to a server using mobile data communication The users get the coordinates (position) from its GPS device and send them to the server with mobile phone. The position must contain: 1. User Id 2. Time 3. North coordinates R V College of Engineering 4
  • 5. Mobile GPS Tracking 4. East coordinates 5. Altitude Then the server records the position under the user's current track id. If no track is created or the user Id does not exists, the system gives an error message and do not record the position.  Follow a user in real time mode on the Internet Any person having the right to watch a user's track must log in the system under the user's ID and password. Then he/she can choose the track to be drawn. A list of the user's tracks is available. This is done through the web page. The drawings of the track are done in two different manners: Swiss Topo 2D maps and Google Earth. If the track chosen is the current one and drawn in 2D mode, it is refreshed periodically using a "refresh time" parameter.  Delete a track The user can delete tracks from a list of tracks. If the track deleted is the current one then the previous one become again the current track and all the future positions sent to the server will be save under this track id.  Manager - Delete users The web page allow the manager to delete users from a list of register one. This list shows all the available users.  Manager - Follow a tracked user in real time mode on the Internet The manager can choose the track to be drawn. A list of all users tracks is available. This is done through the web page. The other options are the same as standard users. 2.1.2 Non – Functional Requirements Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc. Following Non-functional requirements will be there in our project: R V College of Engineering 5
  • 6. Mobile GPS Tracking 1. Secure access of confidential data (user’s details). 2. 24 X 7 availability. 3. Security 4. Reliability 5. Maintainability 6. Portability 7. Extensibility 8. Reusability 9. Application Compatibility 2.3 Software Requirements The OS where all the following were installed is Windows XP sp2:  J2EE Application Server: Sun Java System Application Server Platform Edition 8.1 2005Q1  Enterprise Java Beans 2.1  Java Midlet : SUN J2ME Wireless Tool Kit 2.2  PointBase free Version: 5.2 ECF build 294  Java VM : J2SE Version 1.5.0 (build 1.5.0 06 b05) 2.4 Hardware Requirements Only two devices where needed and are 1. Mobile Nokia Phone 2. GPS EMTAC Bluetooth - GPS Trine R V College of Engineering 6
  • 7. Mobile GPS Tracking Chapter 3 DESIGN 3.1 Architecture The technologies used for the project are client-server and web based. The main platform of development is J2EE. The full description of the language, server version is described above. We will not explain in detail how J2EE works and assume that the reader knows this technology and how the modules are defined. The general structure of the application is shown in the Fig 3.1. The application is based on 3-tiers architecture: 1. Client side: mobile application, web browser 2. Server side: business logic, web application (interface) 3. Database Figure 3.1 General Architecture of GPS Tracker application 3.2 Components As shown in the fig 3.1, there are 3 main components. The client side which contains an Java Midlet application (loaded in the mobile phone) and the browsers. The application server which contains the Web container (JSPs and servlets) and the EJB container where the business logic (Session beans and Entity beans) stands. The third tier is the database managing the tables where the entity beans store their values. R V College of Engineering 7
  • 8. Mobile GPS Tracking 3.3 Software Modules Now we enter into the different modules which are contained in the main components. We will treat them by decreasing complexity. Finally we will describe the communication layer between the different modules. 1. EJB container: description of the Session and Entity Bean. 2. WEB container: description of the JSPs and Servlets. 3. Database: description of the tables and relations. 4. Midlet: description of the Java mobile application. 3.3.1 EJB container: description of Entity Bean and the Session The fig 3.2 shows the definition of the entity beans class and the relation between them. Primary Key management: the primary key management is implemented with an entity bean. The idea is to avoid for the user to give manually a unique key for each new position, track, address, user, etc. This is simply impossible to do it in a large scale. Also managing the primary key allow the system to be "database vendor independent". 3.3.2 WEB Container: description of the JSPs and Servlets The figure 7 shows the different JSPs and Servlets that the Web container manages. The association represents the navigation between the JSPs. This figure contains the web access JSPs. The JSPs are composed with HTML code for the front end and quite a lot of Java code which call methods in the session beans. We still need to describe the servlets which allow the mobile phone to access the application server. R V College of Engineering 8
  • 9. Mobile GPS Tracking Figure 3.2 Entity Bean: Class diagram 3.3.3 Database: description of the tables and relations Each Entity Bean represents the storage medium and must correspond to a table in the database. We going to describe in pseudo SQL command the fields of the six tables contained in the database SAMPLE. TABLE TRACKER_PERSON ( ID INTEGER NOT NULL CONSTRAINT PERSON_PK PRIMARY KEY, FIRSTNAME VARCHAR (24) NOT NULL, LASTNAME VARCHAR (24) NOT NULL, ADDRESS_ID INTEGER NOT NULL, CRT_TRACK INTEGER NOT NULL, USER_ID INTEGER); R V College of Engineering 9
  • 10. Mobile GPS Tracking 3.3.4 Midlet: description of the Java mobile application The mobile application is developed in Java using J2ME 2.2. More precisely we have the description in fig 3.3 of the Midlets Architecture. Again, only the methods which are needed to request or send data are shown. The "not described" methods are usual ones in a Midlet (Menu definition, button, action, etc Figure 3.3 Midlets - complete architecture of the mobile application 3.4 Communication between modules The communication layer is describing in the fig 3.4 for the project, H t t p request between mobile phone and server (using GPRS) i s implemented. The idea is to develop the SMS communication in the future. Figure 3.4 Communication between the different modules of the application R V College of Engineering 10
  • 11. Mobile GPS Tracking 3.5 Use cases Figure 3.5 Use Cases The Fig 3.5 shows the use cases for the application. There are 3 actors, 10 use cases which represent for different action what actors can do with the system. The use case Start a track is in fact 2 use cases. A track can be started from the web client or from the mobile application (cell phone application). The use case Send a position is only available from the mobile application. R V College of Engineering 11
  • 12. Mobile GPS Tracking Chapter 4 INTEGRATION AND TESTING Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. The GPS tracking system will be subjected to a series of field trials and functional testing where various test cases will be performed to validate the different features of the system. The methodology used in the testing process is described in Fig 4.1 Start Configure test case input parameters Perform testing Results and outcome Evaluation and compare with expected results/ outcome Any errors or Debug and rectify deviations from Yes errors expected results? No Further improvement and enhancement End Figure 4.1 functional testing methodologies R V College of Engineering 12
  • 13. Mobile GPS Tracking A few test cases will be defined and tested where the collated results will be verified and compared with the expected outcome. If there are any errors or deviations from the expected results, the program will be analyzed to rectify any software bugs. This testing cycle will be repeated until all the problems have been resolved. Thereafter, evaluation will be performed to further enhance and improve the system to deliver the best user experience. 4.1 Unit Testing Unit testing is a method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures, are tested to determine if they are fit for use. 4.1.1 Test Strategies Features to be tested 1. module which create user 2. module which delete’s the tracks 3. module which send positions 4. module which draws tracks 5. module which deletes user 6. module which create track 4.1.2 Test case Sl No. of test case : 1 Name of test : User Item / Feature being tested Whether system is able to create users account Sample Input : Allowing user to Register on providing specified constraints Expected output : User account should created Actual output : User created successfully Remarks : Module is working properly R V College of Engineering 13
  • 14. Mobile GPS Tracking Sl No. of test case : 2 Name of test : Delete tracks Item / Feature being tested Whether the module allow to Delete tracks : Sample Input : Trying to delete track Expected output : It should delete the specified Actual output : Track deleted Remarks : Module is working properly Sl No. of test case : 3 Name of test : Sending positions Item / Feature being tested Whether system is able send GPS coordinates to a server : using mobile data communication Sample Input : Module gets position from GPS and send it to server Expected output : Module should send user_id, position to server Actual output : Position sent properly Remarks : Module is working properly Sl No. of test case : 4 Name of test : Drawing tracks Item / Feature being tested Whether system is able draw tracks stored in database : Sample Input : Module should get positions R V College of Engineering 14
  • 15. Mobile GPS Tracking Expected output : Module should draw track on google earth application Actual output : Draw track properly Remarks : Module is working properly Sl No. of test case : 5 Name of test : Delete user Item / Feature being tested: Whether system is able delete user Sample Input : Module gets user id from manager Expected output : Module should delete only specified user Actual output : Specified module deleted properly Remarks : Module is working properly Sl No. of test case : 6 Name of test : Track creation Item / Feature being tested: Whether system is able create track Sample Input : Module get position from mobile GPS Expected output : Module should create track only for registered user Actual output : Track created properly Remarks : Module is working properly R V College of Engineering 15
  • 16. Mobile GPS Tracking 4.2 Integration Testing Integration testing (sometimes called Integration and Testing, abbreviated "I&T") is the phase in software testing in which individual software modules are combined and tested as a group. 4.2.1 Test Strategies Features to be tested 1. Login and save track 4.2.2 Test case: Sl No. of test case : 1 Name of test : Login and save track Item / Feature being tested : Whether system login proper user and track Sample Input : User name and password for login and position for track Expected output : User should login, track the positions and save track Actual output : Track of user stored in database Remarks : Integration of module 2 and 1 is working properly R V College of Engineering 16
  • 17. Mobile GPS Tracking 4.3 Known Problems Here is the list of most severe problems:  We had one serious database corruption due to external access and manual unlock of tables. The database had to be recreated (Point base is only an evaluation version!)  At least two times, the SUN application Server crashed and had to be re-installed. Again the version used is only a free version.  The Http session are not well managed. The login is a real "secure Login". When a user is in the system, an Http session is created and its context is available during the session. But there is a bug when no activities where done for a long period: the server raises an exception (which is good in term of security) when the client try to refresh or access the system. I was not able to catch this exception and redirect the request to the login page indicating to the user that the session is over and he must authenticate himself again.  We have not succeeded in properly saving the applet in the package and use it from here. We still need to save it in the where all the JSPs stand and compile it before.  No real and efficient security is setup and the Midlets can send only the user ID to start a track for instance (unacceptable in a real usage). R V College of Engineering 17
  • 18. Mobile GPS Tracking Chapter 5 OPERATION AND MAINTENANCE 5.1 Tutorial The application is very simple to use and very intuitive. The user interfaces are: 1. Web client 2. Midlet 1. Web client The web client can allow two types of users to be log in the system: 1. Manager 2. User. The manager is a special user and is identified in the system by the user Id number”1”. It is in fact the first user to be register. The figure shows the web site map for a normal user. We will see what the additional rights that the manager has later are. To access the application from the web the URL Figure 5.1 User navigation site map R V College of Engineering 18
  • 19. Mobile GPS Tracking : : must be entered in the browser. This is valid of course if the server is local. The main page asks for a Login and if the user is not yet register he/she must register first. The user receives a user Id and will need it every time he/she enter in the system. Once logged in, the navigation page allows the user to change its profile, add a new track, delete a track, and view its different tracks, logout the system. The different buttons are:  Profile Setup: allow the user to change its profile and password.  Add Track: allow the user to add a track. The Field coordinates and altitude is optional. once the track created, all the positions send to the server will be saved under this track Id.  Delete: Delete a selected track from a list. If the track is the current one, the previous track becomes the current one.  View Track: The user can view the list of track and select one from a list. Once the track selected, click Get List of points and then only the track can drawn on maps. Two options are available: 1. Draw on a Swiss topo Map 2. Draw the track using Google Earth application (which must be installed!) The manager has the same Profile setup and Logout as the standard user. The differences are:  Users: allow the manager to delete a user.  Tracks: show all active tracks in the system (all users) and can draw them with the View track of the standard user.  GPS points: The manager can modify a specific position by selecting a track then the particular point of this track. R V College of Engineering 19
  • 20. Mobile GPS Tracking 2. Midlet At that level of development, the midlets are available only with the Java Simulator. KtoolBar of the WTK must be launched. You must open the project Mobile Tracker and run it.The Mobile Application offers two menus which allow the user to: 1. Create a new track 2. Send a position to the server The option create atrack will send a request to server after the user provides its Id as shown in the Figure When a track has started, you begin to send your positions (GPS points). The option Start Position Tracking propose the same interface than the Start new Track but when the user Id as been sent, the tracking starts and every 5 seconds a new point is sent to server. 5.2 Future enhancement Here is a list of possible extension for such project. 1. Server implementation  A Map Entity bean in order to choose the appropriate map according to the range of coordinate of the track.  A dynamic selection of coordinate system (Swiss Grid, WGS 84, etc.)  Definition of the Roles within the application.  Re-definition of the Position Entity bean vs simple records in the database.  Client interfaces.  Web pages to be re-looked. 2. Graphics  Dynamically change the view on a map (zoom in-out).  Interface with Google Earth real time! 3. Mobile communication  Finalize the GPS-Mobile Phone communication.  SMS communication.  Mobile graphic interface to follow another user. R V College of Engineering 20