Re: GPS-enabled smartphones

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Hi Steve,

we do such a thing when testing our apps.
Let me explain - we first built a wrapper for an existing navigation application. (http://ttncf.pp-p.com)

So we have a routine the where we have to send NMEA sentences to this navigation software. In the field we do this by receiving the
data via a serial port (you can do this easy with OpenNETCF).
The data (if you use nmea) comes in ASCII strings ended with CRLF. So it is a pretty easy format to read.
Our algo is very simple:
Read single characters from the serial port (you can also read more).
Parse the data for the beginning sign of a GPS sentences.
If found read on until CRLF is found (or to much data was readed or another start sequence was found -- use for easy comm. error
handling).
After we found the sentence this layers informs (via event) an above layer about the sentences.
This layer (I call it "Sentence layer")can
a.) parse the sentences
b.) transfer the sentence to the navigator SW
c.) record the sentence as a single line in a textfile
---or all togeather

This works fine with the device - but it is hard to debug motion data.
Of course we do debug session via laptop and an equiped car (with someone driving it) - but the practice is to work on the desktop.
I don't like emulators (since a real device is most of the time acting different) - but we have an other "problem" - on the desktop
we get only static data from the attached GPS device.

So how did we solve this?
We recorded a lot of GPS Sentences in files - with a working serial port (like OpenNETCF) a recording application is not more than
10 lines of code.
After that we take the files to the desktop - and now (after the serial communication is proofed via device tests) we don't need
real GPS.
We wrote a litte class acting below the "sentence layer". Instead of reading the serial port it reads (via timer) a recorded file
and sends the sentences (lines).

So we can:
a.) simulate real routes on the desktop
b.) change the speed by bringing the sentences in a higher frequency
c.) work with an emulator as well as with a real device

A last word for GPS enabled smartphones - take car a lot of them only have A-GPS which means "Assisted" GPS.
In other word the cell phone provider must support the positioning - if not you have extreme fxing times and often loses of GPS
fixes. Although some manufacturers handle A-GPS as something "pretty cool" it is more or less some kind of "reduced GPS".

If interrested you can see such a recorded tour on http://aqua.pp-p.net/Tour/Over.htm (German - choose "Streckenübersicht"), or if
you have MS MapPoint 200x you can download the map ("Mappoint Datei zur Tour").
>From Mappoint you than can export the data (for an example) to Excel.

By the way - this data was recorded via a webservice to a SQL Database.
Most of the time we use SQL-Stored Data when testing desktop apps - instead of reading a textfile we made some "DB-Info to GPS
sentence" class.

HTH

Manfred


.



Relevant Pages

  • Re: One Bluetooth, two PDAs ?
    ... > single serial port connection. ... > GPS receiver I have encountered. ... > for one replacement of a serial port piece of wire. ... > no such facility exists in the current BT protocol. ...
    (sci.geo.satellite-nav)
  • Re: Water Depth Surveys
    ... > supplied by the depth sounder, not the GPS unit. ... A depth sounder, being a marine equipment, could have a NMEA serial port. ...
    (sci.geo.satellite-nav)
  • Re: Use HP iPAQ hw6515 as a Bluetooth GPS for a Laptop
    ... You would need to take the GPS stream coming off the ... 6515's GPS and delivered as a virtual serial port and redirect it to another ... > conjunction with a Pharos USB Bluetooth device. ...
    (microsoft.public.pocketpc)
  • Re: Disabling Serial Ballpoint Mouse when GPS connected
    ... of time and then read from the serial port. ... > common occurance when this GPS is installed? ... If I disable the drivers as you suggested then it ... >> automatically installs the USB to Serial drivers without any user ...
    (microsoft.public.win32.programmer.kernel)
  • serial port for bluetooth gps
    ... I am trying to read data from a bluetooth gps device on a serial port. ... usb 2-1: new full speed USB device using uhci_hcd and address 8 ...
    (comp.os.linux.hardware)