Wishlist/Software:GPS proxy
From Openmoko
(New page: Using bluetooth GPS dongle with any device is in fact nothing more than sending clear text (NMEA protocol) over serial port: 1. BT device (dongle) announces it's serial port (virtual seri...) |
(+cat) |
||
(9 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
+ | == Idea == | ||
Using bluetooth GPS dongle with any device is in fact nothing more than sending clear text (NMEA protocol) over serial port: | Using bluetooth GPS dongle with any device is in fact nothing more than sending clear text (NMEA protocol) over serial port: | ||
1. BT device (dongle) announces it's serial port (virtual serial port - Bluetooth SPP/SP profile) | 1. BT device (dongle) announces it's serial port (virtual serial port - Bluetooth SPP/SP profile) | ||
Line 4: | Line 5: | ||
3. Dongle opens serial connection and send stream of NMEA data. That's all! | 3. Dongle opens serial connection and send stream of NMEA data. That's all! | ||
− | So let's see what NEO can do: | + | '''So let's see what NEO can do:''' |
− | + | * We got device equipped with GPS | |
− | + | * We got very powerful bluez stack and utilities | |
− | + | * We can get NMEA data | |
− | + | * We can announce Serial (SPP/SP) service using bluetooth | |
− | and finally... we can bind GPS port with BT port and redirect NMEA to any BT client that would like to read it :) | + | * and finally... we can bind GPS port with BT port and redirect NMEA to any BT client that would like to read it :) |
− | Profits: | + | '''Profits:''' |
− | + | * We can share GPS data with anyone (Phone/Smartphone/PC/Laptop) | |
− | + | * Maybe sending that data to more than one person (I don't know the exact BT capabilities) | |
− | + | * Whenever you want you can use your PocketPC powered with Automapa or TomTom and don't have to buy another GPS device | |
− | + | * many many more :) | |
I've made few tests on desktop debian and was able to get data with Holux GM-101 Handheld GPS (USB Cable) and Nokia N70 (BT) | I've made few tests on desktop debian and was able to get data with Holux GM-101 Handheld GPS (USB Cable) and Nokia N70 (BT) | ||
Line 23: | Line 24: | ||
0. Prerequisites: connect GPS unit, setup bluez and remember to pair your devices! | 0. Prerequisites: connect GPS unit, setup bluez and remember to pair your devices! | ||
+ | |||
1. Make BT listener: '''rfcomm listen 0''' (on my system it binds connected device to /dev/rfcomm0) | 1. Make BT listener: '''rfcomm listen 0''' (on my system it binds connected device to /dev/rfcomm0) | ||
+ | |||
2. Announce your SP service: '''sdptool add sp 1''' | 2. Announce your SP service: '''sdptool add sp 1''' | ||
+ | |||
3. Run some GPS aware application on your client device | 3. Run some GPS aware application on your client device | ||
+ | |||
4. On successful connection rfcomm will say something like: <br>''Waiting for connection on channel 1 <br>Connection from 00:**:**:**:**:** to /dev/rfcomm0<br>Press CTRL-C for hangup'' | 4. On successful connection rfcomm will say something like: <br>''Waiting for connection on channel 1 <br>Connection from 00:**:**:**:**:** to /dev/rfcomm0<br>Press CTRL-C for hangup'' | ||
+ | |||
5. '''cat /dev/ttyUSB0 >/dev/rfcomm0 ''' (where /dev/ttyUSB0 is my USB to serial converter connected to GPS) | 5. '''cat /dev/ttyUSB0 >/dev/rfcomm0 ''' (where /dev/ttyUSB0 is my USB to serial converter connected to GPS) | ||
+ | |||
6. Should work :D | 6. Should work :D | ||
If you can connect but there is now data: | If you can connect but there is now data: | ||
− | - use "cat /dev/your_gps_device" to see if GPS is sending NMEA data to PC (for examle in holux you have to switch some options in menu)<br>should look something like this:<br>PGSA,A,2,19,18,,,,,,,,,,,0.0,0.0,0.0*32<br>$GPGSV,3,1,11,03,71,207,23,06,66,169,22,22,64,137,31,19,57,289,32*7F<br>$GPGSV,3,2,11,18,46,065,33,21,21,082,00,16,11,193,00,15,11,025,00*75<br>$GPGSV,3,3,11,08,08,319,00,14,05,142,00,26,05,011,00*44<br>$GPRMC,225506.064, | + | |
+ | - use "cat /dev/your_gps_device" to see if GPS is sending NMEA data to PC (for examle in holux you have to switch some options in menu)<br>should look something like this:<br>'''<br>PGSA,A,2,19,18,,,,,,,,,,,0.0,0.0,0.0*32<br>$GPGSV,3,1,11,03,71,207,23,06,66,169,22,22,64,137,31,19,57,289,32*7F<br>$GPGSV,3,2,11,18,46,065,33,21,21,082,00,16,11,193,00,15,11,025,00*75<br>$GPGSV,3,3,11,08,08,319,00,14,05,142,00,26,05,011,00*44<br>$GPRMC,225506.064,''' | ||
+ | |||
- check paring | - check paring | ||
− | In a thew weeks time I should get my new Forerunner, so I will try to move this idea to | + | In a thew weeks time I should get my new Forerunner, so I will try to move this idea to Openmoko platform. |
+ | |||
+ | == FreeRunner as GPS bluetooth device== | ||
+ | This is described here: http://wiki.openmoko.org/wiki/GPS#GTA02 | ||
+ | It allows to use the freerunner as ordinary BT GPS reciever. BT aware devices like navigation systems can then use the freeruners GPS signals. | ||
+ | |||
+ | [[Category:Software ideas]] | ||
+ | [[Category:GPS]] |
Latest revision as of 14:12, 19 July 2009
[edit] Idea
Using bluetooth GPS dongle with any device is in fact nothing more than sending clear text (NMEA protocol) over serial port:
1. BT device (dongle) announces it's serial port (virtual serial port - Bluetooth SPP/SP profile) 2. BT client connects to the dongle 3. Dongle opens serial connection and send stream of NMEA data. That's all!
So let's see what NEO can do:
- We got device equipped with GPS
- We got very powerful bluez stack and utilities
- We can get NMEA data
- We can announce Serial (SPP/SP) service using bluetooth
- and finally... we can bind GPS port with BT port and redirect NMEA to any BT client that would like to read it :)
Profits:
- We can share GPS data with anyone (Phone/Smartphone/PC/Laptop)
- Maybe sending that data to more than one person (I don't know the exact BT capabilities)
- Whenever you want you can use your PocketPC powered with Automapa or TomTom and don't have to buy another GPS device
- many many more :)
I've made few tests on desktop debian and was able to get data with Holux GM-101 Handheld GPS (USB Cable) and Nokia N70 (BT)
Holux----(USB)--->Debian-----(BT)---->Nokia
0. Prerequisites: connect GPS unit, setup bluez and remember to pair your devices!
1. Make BT listener: rfcomm listen 0 (on my system it binds connected device to /dev/rfcomm0)
2. Announce your SP service: sdptool add sp 1
3. Run some GPS aware application on your client device
4. On successful connection rfcomm will say something like:
Waiting for connection on channel 1
Connection from 00:**:**:**:**:** to /dev/rfcomm0
Press CTRL-C for hangup
5. cat /dev/ttyUSB0 >/dev/rfcomm0 (where /dev/ttyUSB0 is my USB to serial converter connected to GPS)
6. Should work :D
If you can connect but there is now data:
- use "cat /dev/your_gps_device" to see if GPS is sending NMEA data to PC (for examle in holux you have to switch some options in menu)
should look something like this:
PGSA,A,2,19,18,,,,,,,,,,,0.0,0.0,0.0*32
$GPGSV,3,1,11,03,71,207,23,06,66,169,22,22,64,137,31,19,57,289,32*7F
$GPGSV,3,2,11,18,46,065,33,21,21,082,00,16,11,193,00,15,11,025,00*75
$GPGSV,3,3,11,08,08,319,00,14,05,142,00,26,05,011,00*44
$GPRMC,225506.064,
- check paring
In a thew weeks time I should get my new Forerunner, so I will try to move this idea to Openmoko platform.
[edit] FreeRunner as GPS bluetooth device
This is described here: http://wiki.openmoko.org/wiki/GPS#GTA02 It allows to use the freerunner as ordinary BT GPS reciever. BT aware devices like navigation systems can then use the freeruners GPS signals.