Any method to 'fool' programs into using a Bluetooth GPS - General Questions and Answers

We all know the Tilt's GPS is slow, uses a lot of battery, and often continues to use battery after exiting all programs using it unless you soft reset. So I use my bluetooth GPS.
Works great, for programs which have a com port setting. There are some which do not, some are on the todo list, but some other programs are no longer under development.
What I'd like to be able to do is to 'fool' any program into using the Bluetooth's com port. I have GPSGate listening to the bluetooth GPS and outputting to com1 so that I can run whatever number of programs using the GPS data on com1, but I can't get several Wifi scanners to use com1, can't get the camera's GPS feature to use com1, etc.
I've tried a few things like messing with the built-in GPS settings and changing them to com1 hoping programs might then access com1, tried setting GPSGate to com4 to see if programs would access it instead of the built-in, but I think when programs access the built-in device they don't access it on com4, they access it on GPD4 or such.. Anyway.
So again, how to make programs which you cannot specify a com port use GPSGate's com port? Or another program if necessary..
Thanks!

Bumping in case anyone missed it.
Thanks!

SOLVED! But not for the faint of heart.
The developer of BasicGPS pointed me to this URL when I was asking him if he could implement selecting the com port for the GPS, since I use GPSGate with a Bluetooth GPS, not the built-in one:
http://msdn.microsoft.com/en-us/library/bb202089.aspx
From this, following these steps, I was able to make the Intermediate Driver use COM1, therefore using GPSGate/Bluetooth! So far this works in BasicGPS and I'm pretty sure it works in the camera too, so probably works in every program! Good news for people who hate the built-in GPS as much as I do!
Here are the basic steps, but you'll want to read the URL above. It's really written for developers, which I am not, but it made enough sense for me.
I used Resco Explorer to browse into this registry key. I made a copy of the whole key, then browsed in.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers
There is a key named CurrentDriver, which was set to GPSOneDevice, which is apparently my built-in GPS. So I made a copy of the whole GPSOneDevice registry key, named it GPSGate. Then went into that key, changed the InterfaceType from POLL to COMM and added a string called CommPort and set it to COM1: where GPSGate outputs its info. I also modified the FriendlyName to "GPSGate Bluetooth". Finally, I changed the CurrentDriver to reference my new GPSGate registry key, and voila!
I'm not 100% sure it's working, as the built-in GPS is warmed up and would respond fairly quickly, but in a few days I'm going to try the camera in GPS mode and see if it immediately gets a fix from my Bluetooth unit vs 5+ minutes with the built-in GPS.
That said, I've tried GPSTest, BasicGPS, camera, etc, all get a fix immediately and update with the Bluetooth GPS on. If I turn the Bluetooth GPS off, they all stop getting updates. Previously when I was trying to figure out how to do this, I would discover the built-in GPS was still being used because I'd turn off the Bluetooth GPS and programs would continue to get new GPS data. So this tells me it's working! I'll follow up again in a few days to say for absolute sure.
Yay!

Just a followup here.. I think it's working, but if I monitor the data on COM9 (bluetooth) or COM1 (GPSGate re-distributing COM9 data), the data streams in at a reasonable pace.. Perhaps 6k of data in 10 or so seconds.. I didn't measure it closely.
But when I monitor data on COM4 the data is very fast, after about 10s it was up to 60k and when I left a few different programs open for a while they either crashed, never got a real lock, or locked up.
So not sure why, but the string of bluetooth->gpsgate->intermediate driver is causing a LOT more data to be produced.
I wasn't planning on using the intermediate driver for applications, I am still going to use the COM1 port for that when possible, but I wonder about the stability of using the camera and/or other programs which can't change the com port with this configuration.
Oh well! So far the camera seems to pick up a coordinate very quickly and probably disconnects from the GPS, so it's probably fine.
I suppose if I were truly curious I could capture the NMEA data and compare between the two. If anyone can do that who is also curious, I can do it and attach the data. I wouldn't know what to look for.

Hi,
ok, perhaps I know the Problem why my intermediate driver doesn't do his job. I can find this key in my reg:
Code:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers
But that is all. This key hasn't any values or subkeys. But why?
I'll try to find out the default Settings...
So. I've created following settings:
Code:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver
CurrentLogFile="\Temp\gps.log"
IsEnabled=dword:00000001
HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers
CurrentDriver="TestFile"
HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers\TestFile
File1="\Temp\test.nmea"
FriendlyName="File Test #1"
InterfaceType="File"
After creating settings I "rebooted" my device. Then I start my GoogleMaps-App and configured it to use "managed GPS".
Result: GoogleMaps didn't get data from test-file and I cannot find the log-file in Temp-Folder. What the hell is going wrong here?
YFI: If I configure GoogleMaps to use GPS an COM4 (115200 Baud) then all works fine.

Related

Pairing my GPS receiver with bluetooth + tomtom problems

I got a GPS receiver, this one: http://www.widget.co.uk/asp/product...cat=45&ph=&keywords=&recor=&SearchFor=&PT_ID=
It didn't come with any instructions.
I am trying to pair it with my phone, as Tomtom 5 asks me to, but I don't know what passkey to put in or how to go about doing it...
I have created a connection to it in bluetooth manager and tried to add it in tomtom to no avail.
I have an XDA 2i with all the default ROMs etc.
Can anyone point me in the right direction please?
Thanks.
[Edit]
After digging around on the net I found out how to pair them. It seems that the company who sold me this didn't even include the code to pair the device with! Now I have the problem of tomtom not detecting it...
It seems that COM6 is the port which the bluetooth GPS receiver is on but in tomtom it only lets me select from COM4, COM2 and COM9 - how should I go about connecting it?
NB: I have tested the GPS with some application that I found for it on the net and it *seems* to not have a fix, though it has been connected and turned on a long time.
Try this;
http://forum.xda-developers.com/vie...ostorder=asc&highlight=tomtom+5+gps&start=100
Edit
1st Post on page 1

Problems connecting to Holux 236Slim with Treo 750 WM 6

I had no problem pairing with my Holux 236slim external GPS but cannot locate the GPS when scanning for it using the Holux GPS View software, nor does MS Livesearch locate the GPS. Livesearch asks for a com port and I've tried them all with no success. Does anyone know which comport the Treo 750 should use? And what about the remote GPS settings which ask for both "program" and "hardware" com ports (which cannot be the same)?
The way that I understand it (from messing around, mostly) is that the "external GPS" program allows "sharing" of the BT signal by multiple programs. Here's what I did.
1) Pair the GPS via Bluetooth.
2) Set the GPS up as a comm port - BT, Settings, COM Ports, New Outgoing Port. I set my GPS up as COM 8, secure.
3) Next, go into the External GPS application. Set up the "Program" port as the port you'd like to scan from the mapping application - I used COM 0. Set up the "Hardware" port to match what you did in step 2 - in my case, COM 8, 4800 baud. Check the box on the "Access" page so you can share the BT GPS signal.
From whatever application you're using (Google Maps, WLS, or other), set up the application to look for the GPS on the "Program" comm port, in my case, COM 0. I've had WLS, GMM, and a program called "Beeline GPS" running all at the same time, sharing the same GPS.
Hope this helps,
-Craig
Thanks very much for your help!
Your solution worked like a charm -- thanks very much for your help. I used the same settings in External GPS. I'm using with Livesearch maps and that worked fine.
Try "Com 0", thats what I use with Tom Tom!

[REQ] Use G1 as GPS Reciever for PC? Utilize NEMA output of GPS and redirect to PC.

Hello,
I did quite some searching on this topic but nothing to be found. Maybe some developers can shed some light on this issue?
Many developers have written excellent applications that take the GPS output of the phone and display your coordinates, altitude, speed, and other variables. Presumably, this information can be gathered without the need for a data application.
Now, let's say the data format that the GPS is outputted in (NEMA Standard) is slipstreamed consistently into a Maps application (like Microsoft Streets & Maps), then you would have a winner. The combination of preloaded maps with the power of the GPS receiver in the G1 would give you awesome maps functionality on the cheap (perfect for that Netbook).
However, much GPS status applications only display the output on screen. While it is nice to have a coordinate staring at you in the face, that's all it's doing. Instead, utilizing those NEMA values for the computer to interpret would simplify the process.
My friend and I proposed a couple of concepts on how to take this on:
1) Upload the NEMA data to a server
*Okay idea but defeats the purpose of going Data-less. I might as well use Google Maps
2) Upload the NEMA data to a local server
*Good idea but if the laptop is connected to an ad-hoc network or some weird [sic] network, the phone maybe unable to connect to the same network (i.e. business-style wifi logins)
3) Bluetooth. Beam data through OBEX file transfer or other method.
*Better idea but the implementation of bluetooth in Android does not currently support OBEX file transfers or other pairing mechanisms. Would this be possible to carry out?
4) Serial output via USB.
*Best idea. This would put the GPS receiver in tandem to the other devices.
So...any ideas? Would love to hear them. Are there people who could utilize such functionality for a netbook/laptop combination? Spill your comments, questions, concerns.
Developers, feel free to chime in at any time Thanks.
~NerveBand
try BlueNMEA witch is avaible on the market, it send NMEA over bluetooth.
So does anyone use BlueNMEA and if so can you help set mine up. I cant seem to find any real documentation.
Are there any other options for utilizing the gps on a program like streets and trips?
Can anyone confirm blueNEMA and CM-4.1.9999?
Has anyone successfully gotten this blueNEMA working with a G1 + Bluetooth + Laptop and Streets and Trips?
Love to get this working too... I have the BlueNMEA installed, paird with my laptop over BT but I cant get MS Streets and Trips to see it, if I scan it doesnt see it either... weird.
Here's a bit of documentation I found: http://git.snow-crash.org/?p=blue-nmea.git;a=blob_plain;f=README
Sorry for the bump, but...
Is there any possibility of this ever working over USB rather than bluetooth?

How To?: Use Fuze as external GPS to Laptop over Bluetooth

I cannot believe how difficult it has been to find a solution to this problem.
My, seemingly basic, need is to use the internal gps of my fuze as an external gps on my laptop. I already have my laptop teathered to my phone over a bluetooth PAN and use this as my primary internet connection seeing as I live out of my truck.
I have found GPS2Blue which seems like it was made for exactly what I need, but I can't get it to work and there are virtually no instructions provided. I have seen other people say they got it to work, but without explanation.
I have also found GPSProxy, which claims to do what I need but isn't free. I would be willing to pay for this solution, but their instructions say you can't share your GPS and also have other bluetooth activity, which means my internet connection would go down.
I think, but am unsure, that the heart of my problem is that I need to "Create Outgoing Port" on the Com Ports page of the Bluetooth settings page. However, there is no such buttton on that screen.
Can anyone please help if you have successfully shared your Raphael internal GPS with a laptop over bluetooth.
Thanks

Bluetooth GPS Receiver

Will it ever be possible for Android to be able to interface to a Bluetooth GPS Receiver for use in programs like Google Maps?
What sounds like such a simple thing which would give me some respite on my Samsung Galaxy S.
Cheers
Simon
I am curious also.
i need that too
I know that most of the Bluetooth GPS receivers use a simulated Comm port. As long as Android can use the Comm port and receive position data through ASCII sentences, then it should be fine.
i'm gonna try BlueNMEA (it's on the market)
i'll report back
edit: the app seems to be broken :\
If there is an app for NMEA data, that is a good sign. NMEA uses ASCII text strings to send data. To be honest, I know that Garmin's Bluetooth receivers will send NMEA data to the phone.
Sent from my Garminfone using XDA App
Any news on this topic?
Sent from my HTC Desire using Tapatalk
Look for "Bluetooth GPS Provider" or "Bluetooth GPS mouse" in the market...
I didn't want to pay for something like that and I did not understand why I should give phone call or network access for such an application...
So I've have developed mine:
it' free,
it's open-source (you can verify what it's really doing and you can improve it!),
it just asks for needed permissions.
The application allows to use an external bluetooth GPS on Android devices:
The application starts a service, then connects to a Bluetooth device (NMEA GPS) and creates a mock GPS provider which can be used to replace the internal GPS.
It's also possible to log the external GPS NMEA data in a file on the device.
The app need the following permissions:
bluetooth and bluetooth admin (connection to the GPS device),
location and mock location (replace the GPS location provider by a new one using the bluetooth GPS device),
write external storage (if you want to log the NMEA data into a file on the sdcard).
It should run on all android devices (2.0 and above) and NMEA bluetooth devices.
I have tested it with a GlobalSat BT-338 bluetooth GPS (SiRF III), a Galaxy S (I9000) and a HTC Sapphire (Froyo CM-6).
It works with Google Maps, Wikitude, GoPenS and my own personal navigation app. It should work with all applications that use Android official location API.
Note: in order to install the app:
enable Settings/Applications/Unknown sources,
enable Settings/Applications/Development/Allow mock locations,
download and install the apk.
Project page:
Bluetooth GPS for Android on SourceForge
BlueGPS4Droid apk: BlueGps4Droid_1.0.apk
herbert1 said:
I didn't want to pay for something like that and I did not understand why I should give phone call or network access for such an application...
So I've have developed mine:
it' free,
it's open-source (you can verify what it's really doing and you can improve it!),
it just asks for needed permissions.
Click to expand...
Click to collapse
Wow, went from zero of these to three or more.. More is good I guess! Does yours reconnect to the GPS when the connection is lost (walk away from the GPS, GPS accidentally gets turned off in pocket, etc)? What happens if you turn off the phone (hit power button.. standby), does it disconnect? Reconnect? What happens to apps while running, do they pick back up, or reconnect to the internal GPS?
EDIT: It disconnects. You should have it reconnect, especially if the signal was just lost watch for the device to become available again, and it'd also be really nice if it could do it automatically even if not just used; ie I get in the car, fire up the Holux 236 and a few seconds later your program connects to it.
Very very nice start, worked as well as the Bluetooth GPS Mouse program I've been using for a few weeks.. No sat or fix info, but that's a limitation of the Mock interface of course. Not much to be done there.
And it will be great if supports usb gps too. I have an android device with usb host and a usb gps, so will be great if we can attach a serial port to the mock gps in your app.
Thanks.
Corvus.
I actually have stopped using this, as about 50% of the time my phone is freezing when entering Waze with it enabled, 0% of the time without it or using Bluetooth GPS Mouse.
But it is a new program, it has room to grow.
khaytsus said:
Wow, went from zero of these to three or more.. More is good I guess! Does yours reconnect to the GPS when the connection is lost (walk away from the GPS, GPS accidentally gets turned off in pocket, etc)? What happens if you turn off the phone (hit power button.. standby), does it disconnect? Reconnect? What happens to apps while running, do they pick back up, or reconnect to the internal GPS?
EDIT: It disconnects. You should have it reconnect, especially if the signal was just lost watch for the device to become available again,
Click to expand...
Click to collapse
I don't have this kind of problems in my car, so I haven't planned anything for that. For now, I have preferred that, in case of problems, everything stops properly. However I will verify what I can do (if I can find a simple way to do this).
and it'd also be really nice if it could do it automatically even if not just used; ie I get in the car, fire up the Holux 236 and a few seconds later your program connects to it.
Click to expand...
Click to collapse
A priori, no good way for doing this with the sdk. If we have a background task, which runs looking for the GPS mouse to often it won't be good for the battery.
Generally you have to switch on the GPS, so It should not really be a problem to start the service at the same time, especially if, as I do, you plug the android device in a car dock...
Very very nice start, worked as well as the Bluetooth GPS Mouse program I've been using for a few weeks.. No sat or fix info, but that's a limitation of the Mock interface of course. Not much to be done there.
Click to expand...
Click to collapse
You can use the extra info in the location to have the number of sat used.
However, if Google has made a better Mock API, we should be able to use GPS Test directly...
Thanks for your comments,
Herbert
Hello,
I downloaded the file but that is not apk but zip and does not include any apy files.
Where can i download the bluegps4droid.apk file from? or How can I use the zip file in the android unit?
Thanks for the help
Sandor
Any Hope for Android 1.6?
I just tried Bluetooth GPS for Android but sadly found out it won't work with Android 1.6 such as used by my Archos 5 Internet Tablet.
Any hope for 1.6 support? Is it even possible?
I imagine the other two solutions suggested here were not found in my Market because they are 2.x only as well. Boo. I was so looking forward to this solving all my problems of the craptastic GPS in that device.
herbert1 said:
I didn't want to pay for something like that and I did not understand why I should give phone call or network access for such an application...
So I've have developed mine:
it' free,
it's open-source (you can verify what it's really doing and you can improve it!),
it just asks for needed permissions.
The application allows to use an external bluetooth GPS on Android devices:
The application starts a service, then connects to a Bluetooth device (NMEA GPS) and creates a mock GPS provider which can be used to replace the internal GPS.
It's also possible to log the external GPS NMEA data in a file on the device.
The app need the following permissions:
bluetooth and bluetooth admin (connection to the GPS device),
location and mock location (replace the GPS location provider by a new one using the bluetooth GPS device),
write external storage (if you want to log the NMEA data into a file on the sdcard).
It should run on all android devices (2.0 and above) and NMEA bluetooth devices.
I have tested it with a GlobalSat BT-338 bluetooth GPS (SiRF III), a Galaxy S (I9000) and a HTC Sapphire (Froyo CM-6).
It works with Google Maps, Wikitude, GoPenS and my own personal navigation app. It should work with all applications that use Android official location API.
Note: in order to install the app:
enable Settings/Applications/Unknown sources,
enable Settings/Applications/Development/Allow mock locations,
download and install the apk.
Project page:
Bluetooth GPS for Android on SourceForge
BlueGPS4Droid apk: BlueGps4Droid_1.0.apk
Click to expand...
Click to collapse
Any way you could port this to android 1.6 ? everyone with an archos needs this app cause the gps that is in it is terrible . Please please please port it to android 1.6 .
I've been in touch with a developer of one of these programs and unfortunately it is not possible to port these apps to 1.6 since 1.6 lacks some of the Bluetooth APIs/libraries needed for the functionality. Without a whole lot of messy programming it isn't possible for these apps to work on 1.6.
Can I use an USB GPS receivier instead of a Bluetooth one?
Stefem said:
Can I use an USB GPS receivier instead of a Bluetooth one?
Click to expand...
Click to collapse
I am not sure that such app exists...
Some devices (some tablets for example) have usb host capabilities, but not all of them.
If you can read the NMEA sentences from the USB GPS, it should be feasible (At least to adapt one of the app used with bluetooth GPS).
Thanks for this great App!
Wow!
Thanks Herbert1, this was exactly what I was looking for. I am using you app with a Samsung Galaxy S and a Columbus v900 BT GPS reciever. The reciever does the logging and is WAY faster and more accurate then the internal GPS android gives me.

Categories

Resources