?
Solved

GPS car tracking project

Posted on 2005-03-28
10
Medium Priority
?
3,654 Views
Last Modified: 2008-03-12
Dear Experts,

We are currently working on a GPS tracking project for a rental company with some other functionality such as light sensors,Temperature sensors,etc...

In our design we will be using a 89C51 microcontroller which will be interfaced with sensors ,switches, and a PC ( which will simulate a car ecu)....

Also we are searching for a GPS receiver that will be connected to the PC.

The PC will be equipped with a moblie and through AT commands will send the coordinates to a BASE station (which will represent the headquaters it will be a PC with a Mobile device)...

I really need your help here guys....

-If you can direct me on how will i grab the coordinates from the GPS receiver to the PC and then how to send them from the PC tthrough sms to the base station and how to grab the coordinates from the mobile connected to base station and send it to a software which has a map that will pin point the car  (This is a new field for us therefore we don't have the enough knowledge )...

-The second thing is that we will scan a map .. but how can we convert it to something digital that we can use with the coordinates received and show the location of the car. Is there any software that can do this

Please if you can help us out on this guys we're on a very tight schedual here...

If possible if you have a solution can you put a step by step solution...

Thank you
0
Comment
Question by:harith
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
10 Comments
 
LVL 25

Expert Comment

by:InteractiveMind
ID: 13643155
It's a good idea to ask this in the Hardware TA.. They can suggest loads of GPS equipment there..

Good luck,
>> IM
0
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 13643211
Have a look to this page:
http://www.commlinx.com.au/schematics.htm

You will find commercial products and amateur projects about GPS.
0
 
LVL 13

Accepted Solution

by:
imarshad earned 2000 total points
ID: 13646629
>>If you can direct me on how will i grab the coordinates from the GPS receiver to the PC and then how to send them from
>>the PC tthrough sms to the base station and how to grab the coordinates from the mobile connected to base station and
>>send it to a software which has a map that will pin point the car  

First of all which development language are you using? Anyways I will try to give you basic ideas from which you can extract a working solution...

*****************************************************
Step 1  (Getting GPS data from GPS receiver)
*****************************************************

1) First step is to know what you can get from a GPS receiver.... Most of the GPS receivers output NMEA format data....
Following link will give you all the string that your GPS outputs.....
http://www.geoaps.com/NMEA.htm
and it is upto you what information you want from this data.... Typically this is what you will need...

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11><CR><LF>

1)     UTC time of position fix, hhmmss.sss format.            ----------------> Important
2)     Status, A = data valid, V = data not valid.                 ----------------> Important
3)     Latitude, ddmm.mmmm format.                               ----------------> Important
4)     Latitude hemisphere, N or S.
5)     Longitude, dddmmm.mmmm format.                        ----------------> Important
6)     Longitude hemisphere, E or W.
7)     Speed over ground, 0.0 to 1851.8 knots.                   ----------------> Important
8)     Course over ground, 000.0 to 359.9 degrees, true.
9)     Date, ddmmyy format.
10) Magnetic variation, 000.0 to 180.O.
11) Degrees
12) Checksum.


$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<11>,<12>,<13><CR><LF>

1)     UTC time of position fix, hhmmss.sss format
2)     Latitude, ddmm.mmmm format.
3)     Latitude hemisphere, N or S.
4)     Longitude, dddmm.mmmm format.
5)     Longitude hemisphere, E or W.
6)     Position Fix Indicator,
      0 = fix not available, or invalid.
      1 = GPS SPS Mode, fix valid.
      2 = Differential GPS, SPS Mode, fix valid.
      3 = GPS PPS Mode, fix valid.
7)     Number of sate1lites in use, 00 to 12.                                 ----------------> Important
8)     Horizontal Dilution of Precision, 0.5 to 99.9.
9)     MSL Altitude, -9999.9 to 99999.9 meters.                            ----------------> Important
10) Geoidal height, -999.9 to 9999.9 meters.
11) Differential GPS (RTCM SC-104) data age, number of seconds since last valid RTCM transmission (nu1l if non-DGPS).
12) Differential Reference Station ID, 0000 to 1023. (null if non-DGPS)
13) Checksum.

Now extracting this data from the strings is easy... All you have to develop is a simple program that will read from Serial Port every second and then you can split the strings with a token ("," in this case)..... In C this can be achived using strtok and in VB you can achieve this using split function......


I hope part 1 is explained......Explaination of Part 2 follows.....

Imran
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 13

Expert Comment

by:imarshad
ID: 13646882
*****************************************************
Step 2  (Sending and Receiving SMS)
*****************************************************
Since you have GSM Modems (Mobile phones) attached to your Computer so you will be using AT commands to send and receive SMS's.....
So first step is to look for AT commandset..... You can find it on hundreds of places on the net and here is one of them.....

http://www.multitech.com/DOCUMENTS/Collateral/manuals/S000293B.pdf

You will need to read the commands related to send and receive SMS....

Here is what you will need to send an SMS

AT+CMGF=1 <CR> <LF>
AT+CMGS="1234567891" <CR> <LF>    
> This is my test meaage <Ctrl-Z>

and your message will be send to the no. 1234567891
Now in these simple AT commands you are setting Text mode for SMS transmission using(AT+CMGF=1)
Then you are setting the no. of the recipent using AT+CMGS="1234567891"
Then you are sending the actual message that you need to send...... (In your case it will be Lat/long etc.)
<CR> means Carriage Return and <LF> means Line Feed......

This is simply how you send an SMS.......

Now reading SMS on the other end is also not that difficult......

You can look in the manual for commands like AT+CMGL=4 or AT+CMGL="ALL"

and also AT+CMGR=x and AT+CNMI to receive SMS's....... I am delibrately not giving all the commands here so that you can investigate the AT command set and make an workable example from it...... If you find any difficulty then please do post here.....

Imran
0
 
LVL 13

Expert Comment

by:imarshad
ID: 13647005
>>-The second thing is that we will scan a map .. but how can we convert it to something digital that we can use with the
>>coordinates received and show the location of the car. Is there any software that can do this

After scanning the map you will need to Geo-reference it.....

Follow this link for a complete guide to do all of this programatically......

http://www.experts-exchange.com/Databases/GIS_GPS/Q_21213084.html

But if you want to use a third party software then OZIexplorer is the best......

http://www.oziexplorer.com/

Imran
0
 

Author Comment

by:harith
ID: 13648501
I don't know what to say imarshad but you have certainly set the standards on how to give a proffsessional answer....

Thank you very much and all of you who participated ...

I'll go through the steps and discuss this with my fellow group memebers and return back to you....

Thank you
0
 

Author Comment

by:harith
ID: 13662617
Dear Imarshad,

1.I was wondering if i just wanted to know the position of the object on the map is it enough to use :

 Latitude, ddmm.mmmm format.  & Longitude, dddmmm.mmmm format

2. Is it possible to use a usb GPS Receiver for example the Garmin has.... I mean will it give me the information in NMEA format
0
 
LVL 13

Expert Comment

by:imarshad
ID: 13693287
>>1.I was wondering if i just wanted to know the position of the object on the map is it enough to use :
>> Latitude, ddmm.mmmm format.  & Longitude, dddmmm.mmmm format

Yes it is enough..... Though I will prefer ddd.ddddd or maybe(mmm.mmmmm) format for Latitude and Longitude etc.

>>Is it possible to use a usb GPS Receiver for example the Garmin has.... I mean will it give me the information in NMEA
>>format

Yes you can... Most of the USB GPS receivers will give you a serial driver for the GPS which will create a virtual serial port on your PC which you can use to communicate with the GPS..... and it will output NMEA strings....

Imran
0
 

Author Comment

by:harith
ID: 13711867
Dear Imran,

I really appreciate all your help here...

I was wondering i'm thinking of getting the Garmin GPS 18 (which is USB) for our project, but when i read the documentation it says that the output is in Garmin GPS protocol not NMEA standard protocol....

I was wondering that since we are connecting the GPS receiver to PC and communicate with the OZIexplorer is there a possiblity that we use the API of the oziexplorer in our Java program to get the Longitude & latidue ( which will be sent via sms to another pc representing the base of the company ), then feed this longitude and latidue to the other pc to the tracking software... If this is possible could you please advice me how ..


Please do you recommend this GPS receiver( since from what i understood from the oziexplorer site that this compatiable with the software) ? if not is there any other receiver you recommned?
Thank you
0
 
LVL 13

Expert Comment

by:imarshad
ID: 13740373
>>I was wondering i'm thinking of getting the Garmin GPS 18 (which is USB) for our project

I couldnot find a manual for the GPS 18 on the net...... But I am sure that it will output data in standard NMEA format.... Since it is offering USB drivers for the GPS so it will most definately create virtual comm port on your system.... and then it will be compatible with any standard GPS software..... Maybe contacting Garmin Support will clarify the situation....

>>since we are connecting the GPS receiver to PC and communicate with the OZIexplorer is there a possiblity that we use the
>>API of the oziexplorer in our Java program to get the Longitude & latidue ( which will be sent via sms to another pc
>>representing the base of the company ), then feed this longitude and latidue to the other pc to the tracking software... If
>>this is possible could you please advice me how ..

I cant see any need for involving Oziexplorer here.... If it will be used only to receive the GPS coordinates from the receiver then I will suggest you to embedd this in your Java program..... It is not that difficult at all.... It simply involves reading serial port and then manipulating strings..... I have got the code in VB, VB.NET and eVB..... If you need it then you can mail me....
Once you can read the Serial Port then http://www.geoaps.com/NMEA.htm will be enough for you to extract GPS coordinates from the info.....

Imran
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I feel like more and more people want to know how to programmatically convert addresses into geospatial locations. So in this article, I will show you how you can do it with Bing Maps. I'm going to use PowerShell, which is a nice scripting language,…
Introduction This article is designed to assist GIS (Geographic Information System) and GPS (Global Positioning System) developers using ESRI ArcGIS and other spatial information management systems.   For the uninitiated the concept of projectio…
This tutorial demonstrates how to identify and create boundary or building outlines in Google Maps. In this example, I outline the boundaries of an enclosed skatepark within a community park.  Login to your Google Account, then  Google for "Google M…
This tutorial walks through the best practices in adding a local business to Google Maps including how to properly search for duplicates, marker placement, and inputing business details. Login to your Google Account, then search for "Google Mapmaker…
Suggested Courses

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question