Windows Mobile and Bluetooth GPS
Mar 28
Since I started working at SensorLogic I’ve been fascinated with the whole machine-to-machine space. I’ve been inspired to connect everything I possibly can to the Internet. A couple of years ago I decided to write a program for my P900 called BlueGPS, which runs on several Symbian devices. BlueGPS allowed my P900 to communicate with a Bluetooth GPS receiver and send location data over the air to the SensorLogic platform. If you look at the diagram below (which I grabbed shamelessly from SL) you’ll see that the GPS receiver is represented as a sensor and my P900 is the access point.

This is a fairly common network topology for M2M communications. I recently retired the Symbian BlueGPS project and am working to make the project open source. The main reason is that I’ve switched phones and haven’t released an update in over a year. I’m hoping developers from the community will pick it up and run with it.
I’m finally getting to the subject of this post. This past weekend I was digging around for some Bluetooth code that would run on my Windows Mobile device (Cingular’s 8125). I stumbled across this article that describes how to do serial communications using the .NET compact framework. The code in the article leverages the OpenNETCF Smart Device Framework, which basically handles most of the communication between my Windows Mobile device and Bluetooth GPS receiver.
So I was able to modify a fair amount of the code to work with my Bluetooth GPS receiver and I can successfully display location information on my phone. The main thing I had to modify was the way the program parsed NMEA sentences. It was parsing the GLL sentence while I wanted to use the GGA sentence, which includes altitude information. You can see an image of the app running on my phone below.

Yes it’s extremely ugly and I hope to design a nice user interface for it in the next week or two. I’m also working on getting the information sent wirelessly to SensorLogic’s platform where the data can be displayed and exported. I’m planning on releasing a version for Windows Mobile users to download once I get everything in order.
