GPS2KML connects WinCE PNA with notebook as GPS receiver and placemark server for GoogleEarth.
- Read GPS data and display coordinates.
- Serve as Placemark server for GoogleEarth running on PC to one PNA connected via USB.
- Push GPS data over TCP connection to virtual serial port on hosting computer.
- Controls tilt and range of placemark viewpoint.
- Autodetect IP address of hosting computer.
- Save and restore current viewport and VSP connection settigs.
Why one need GPS2KML?
GoogleEarth is wonderfull, but luck windows CE version. It can only be run on PC. In addition free version of GoogleEarth do not support real time GPS receivers. Last point is PNA which do not work as GPS receiver for PC.
With GPS2KML it's possible to connect free version of GoogleEarth with PNA and force GoogleEarth follow your navigator coordinates.
Besides GoogleEarth there are a lot of other GPS software which can't be run on PNA.
How things work?
Free version of GoogleEarth have ability to configure placemarks. A placemark can be configured as network link. This network link must return placemark data and viewpoint parameters on requests from GoogleEarth. GoogleEarth allows to configure refresh period in placemark's properties. All we need is generate placemark data dynamically from GPS coordinates and GoogleEarth will follow PNA. GPS2KML do this job and return placemark and viewpoint data in KML format as required for GoogleEarth.
Time to turn magic into reality. We need only two things to do this:
- Provide TCP connection from host computer to PNA
- Run server in PNA to serve GoogleEarth requests.
GPS2KML designed to work as placemark server in WindowsCE PNA environment.
Besides GoogleEarth there are a lot of other usefull GPS programs which one may need. It would be nice idea to connect this programs running on PC with GPS port in PNA. With virtual serial port driver on PC side and GPS2KML on PNA side this connection is also possible.
Installation
GPS2KLM runs on PNA with WindowsCE and .NET compact framework installed. If you do not have .NETCF installed then you can get it from Microsoft site.
http://msdn.microsoft.com/en-us/netframework/aa497273.aspx
After installing .NETCF just copy GPS2KML to any location at PNA filesystem.
Connecting PNA with Host computer
To make Google Earth on host computer follow PNA, we need to provide TCP connection from host to PNA via USB cable. To serve GoogleEarth requests, GPS2KML listens for incoming connections on port 31874.
For Windows based host computer
To enable TCP connection from host to PNA via ActiveSync connection, we would need to enable port proxy in Windows CE Services. To do this, run regedit and browse to the following registry key
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\ProxyPorts]
Then add new value there as shown on picture below

Linux host computer
One can use SynCe to provide connectivity with PNA via activesync USB connection. SynCE is freely available from project site http://www.synce.org/
After installing SynCE one need to enable IP forwarding for USB connection. Sorry I'm not great guru in Linux but after few attempts, even I was able to achieve the goal. Bad thing I hardly can give you exact instructions how I did this.
Creating GoogleEarth Placemark
To make Google Earth follow PNA lets setup network placemark. In My Places rightclick with mouse and select Add->Network Link.

In network Link properties
Name : GPS2KLM
Link : _http://127.0.0.1:31874 (for Windows based host)
or http://<IP of PNA>:31874 (for Linux host)
Then click on Refresh tab and set Time Based Refresh to 1 sec.
Don't forget to check "Fly to view on refresh" checkbox.

Hint: Linux users can see PNA IP address and port in the title of GPS2KML frame when it is started on PNA. It detects IP automatically.
Hint: one may like to change flight speed in GoogleEarth settings, otherwise with default value it's fly too slow.
Connecting GPS2KML with virtual serial port
This only required if you want to emulate GPS on serial port for other navigation programs on host PC. With GPS2KML on PNA and virtual serial port driver on PC your navigation programs may run as if GPS is connected directly to native com port on PC.
Fow windows users, I'd recommend HW VSP virtual serial port driver. Single port version is freely available from HW-GROUP site.
Below is recommended settings for HW VSP version 3.x singleport driver.

Starting solution
First connect PNA to host computer with USB cable.
- start virtual serial port driver on host computer (if needed)
- start GPS2KML on PNA
- start GoogleEarth on host computer
Actually order might be different but in other case depending on order you would need to force GPS2KML to reconnect to vspd or force GoogleEarth to reconnect to network link.
Known problems
When connection to PNA is lost GoogleEarth stops refreshing network link. To repair, rightclick on GoogleEarth placemark and select "refresh" item.