Okay, I have successfully connected my new TomTom One with my Mac laptop via bluetooth, such that the GPS data can be read by applications. It was not quite the way I wanted to do it, but it works well enough. Here then are instructions if you want to do the same (complete with how to get Macstumbler to read the GPS data).
Safety first: Do not follow these instructions until you have backed up your SD card safely, and have tested the restore process. Restore to a new SD Card and keep your original SD card safe. The details on this web page do not constitute a recommendation that you should follow them. You do so entirely at your own risk.
Okay, with those disclaimers over, and if you want to proceed, then you need to do the following:
1) Install the rfcomm executable onto your SD card
2) Install a startup script that will create the rfcomm bluetooth connection(s)
3) Tell your Mac to listen for the connections
4) Tell Macstumbler and other applications where to find the GPS data feed
There is an easy method and a hard method to do this. I’ll detail the easy method first.
You can install the missing rfcomm executable and some pre-built scripts by downloading the Wildtom package (tt-bt-net2.zip from Roberto Piola’s site). If you want to connect to a Linux box with bluetooth, this is all you need. Just follow the instructions in the package.
However, if you have a Mac, then you have some more work to do. Copy the files in the Wildtom package onto your SD card, and then edit the gpsproxylistener file in the wildtom folder on the card. You are going to alter this so that it no longer listens for incoming connections, but tries to open a connection to your Apple mac.
Why?
Unfortunately the Mac does not provide the tools for creating a direct RFCOMM connection to the TomTom one. It tries to do everything through the GUI interface. This would be great, except that the RFCOMM serial ports on the TomTom are not discoverable, and it resists pairing. If you could pair to the TomTom one from a Mac (using the Pairing key of 0000) you could theoretically just connect up the serial ports, but I couldn’t make this work unfortunately.
Right, so we have to get the TomTom to initiate the bluetooth serial connection to your Mac. How do we do that? Well, the first step is to discover the MAC (Media Access Control) address of your Mac’s bluetooth adaptor. click the “Apple” menu, choose “About This Mac” and click the “More Info” button. Under “hardware”, click “Bluetooth” and your Bluetooth Mac address is listed in the address field. It is a six byte number that looks something like this: 00-14-51-00-01-02. Note this down.
Okay, so we have the MAC address. Now plug in your TomTom One to your Mac and let it connect to the computer so that you can access the SD Card. Navigate into the “wildtom” folder on the SD card and edit the file called “gpsproxylistener”. Change the “rfcomm listen … ” line to read:
/mnt/sdcard/wildtom/rfcomm connect 1 00:14:51:00:01:02 3 &
Substituting your bluetooth MAC address for the one above of course. Technically, this is no longer a gpsproxylistener, but don’t worry about that detail!
And that is it. You are ready now to connect your TomTom. Disconnect from your computer, and click your way through te menus to find the newly installed “start BT services” button. Click this and click Okay to the following question, and your TomTom should now try to connect with your Macintosh. The gps data feed should appear on rfcomm channel 3, which should be your Bluetooth-PDA-Sync serial port (if you use a PDA, you may wish to modify the rfcomm cahnnel from 3 to 1 and add in a new incoming serial port).
Try it out. Fire up Macstumbler, or some other GPS aware application. In Macstumbler, choose preferences and choose to enable GPS support, and select /dev/tty.Bluetooth-PDA-Sync as the GPS device.
Make sure the TomTom One is not in your house (if your car is out the front, lock the TomTom in the car and go inside. Because we are using Bluetooth you don’t need to be right next to the GPS when testing). Once you get a GPS lock, “Show GPS status” in Macstumbler will give you your GPS location in NMEA format.
You are now ready to go for a drive and collect some test data!
This article is long enough now. Watch out for the next installment: How to convert NMEA data and Macstumbler output into something you can use on Google maps.
What was the software you used in the lecture on friday?
I used Kismac to search for wireless networks. This is a port of Kismet for Linux, and it does much more than scan for networks. One useful feature is that it puts a Mac airport card into wireless monitor mode for you (creating a virtual interface called wlt1, on which you can then capture wireless traffic).
Packet capture and analysis was done with ethereal. This has to run under X11 on a Mac, so you will have to install X11 first, and then use Fink or apt-get to install ethereal.
The wireless router was a linksys wrt54g running the dd-wrt firmware.
The google map was made with Macstumbler and the information in the post above.
I think that was everything.
Regards,
Stephen
Hi,
I’ve installed “tt-bt-net2.zip”. Tom tom works fine, but
I can see “rfcomm listen /dev/rfcomm1 1 etc..” on TomTom..
Which is your tomtom one version?
My version is:
appl. 6.520(7690/061002) SO:1387
GPS v1.21, Boot 4.86
Thank you very much,
Sergio
Hi Sergio,
My version is the same as yours (OS:1387 rather than SO – but I guess that was just a typo).
I am not sure I understand the problem you are having though.
Regards,
Stephen
Hello,
I managed to make it work following your instructions and pairing it using “no key” (I found it to be needed, otherwise it just woudln’t work), and everything seems okay although I haven’t tried it in the field yet. It can find my own network’s position, so I think there should be no problem. The only issue is that while it’s connected to my Mac I get a shell-like black screen on the Tomtom, with the BT connection status. I don’t mind not being able to use it as usual (with the maps and the like), but how exactly am I supposed to get out of that mode? I ended up forcing a reset using the button on the bottom, because even turning the unit off and on brings back the BT connection status. Is that how it’s supposed to be? I suppose that you use the “Stop BT network” menu item after forcing the Tomtom reboot, to help save on battery life when you don’t have the computer around… am I wrong?
Thank you
Hi Daniele,
I’m glad you got it working. Unfortunately, yes – unless you do a bit of extra work to hook up a shell session, the only way to stop the bluetooth service is to reset the device. I keep a paperclip taped to the back of the unit for this purpose.
Thanks for the feedback.
Stephen
Thanks to you for putting the tutorial online.
I suppose that with some hacking the BT service could made to work in the background, but I’m not sure if that would leave enough cpu power for the Tomtom to do its usual work.
Anyway, good stuff. I still haven’t had the chance to try it on the road, but I can’t wait to do it.
Thank you again!
The solution is really simple:
Add this line to startbt script:
sdptool add –channel 2 SP
and this line to btstop script:
sdptool del 0×10004
——————————–
In this way the bluetooth channel 2 (console) is discoverable by windows and any other OS
Many thanks for taking the time to post this.
Regards,
Stephen
hi, just wondering if anyone has gotten this to work on the TomTom 700 unit? Ive tried many times without success (different directory structure because of hard drive instead of SD?) any help is appreciated!
Hello,
What a great tutorial. I’ve been fighting some problems with the new bluetooth software on Mac OS X 10.4 Tiger, but I can consistently set a connection now.
Can someone please post on the next steps on setting up the shell to get to the console. I added the lines to the start up script.
Thanks!
I have a tomtom one (4n00.001) sitting on the desk. Yes I can connect to it… however, it seems to like rebooting when you try to use the bluetooth. This is not instant it takes a few minutes. I’m using the updated software … app 6.560 (7914/061211ish) os 1713 and 29mb ram. Oh and GPS v1.21, boot 5.05
So is this a real v1 or a v2 or something else – could be a regional thing…
I am using linux- gpsd and I am connecting to its rfcommm ports and opening kismet after i get a lock. Any suggestions ?
Purchased a GO730 a few days ago. For some reason so far, it appears that putting the SDKRegistry and wildtom directories onto the SD card doesn’t work. That is to say, the menu options do not appear until SDKRegistry is moved to the internal memory, and said menu options have no effect until the wildtom directory is also placed on the internal memory. It seems as if the path in the .cap file is being partially ignored. I haven’t gotten far enough yet to test KisMac, but hopefully this will help someone else’s confusion.
On the computer side, MacStumbler crashes as soon as it loads on my Leopard macbook. I have a copy of KisMac, and the most current site for that seems to be http://trac.kismac-ng.org/ (other sites either lead to dead ends or older versions)