Showing posts with label bluetooth. Show all posts
Showing posts with label bluetooth. Show all posts

Friday, November 12, 2010

Nokia 5230 and Internet over Bluetooth Software - "Baps"


PROGRESS UPDATE 4 17/03/11:
Work has stopped until I have some significantly free time. HTTP errors and traffic timeouts are causing the main problems and will require a lot more than a few hours of an evening which my other projects take, especially to make it easy for Joe User to install and configure. This is the next project on my todo list but I have a lot of other pressing things I need to deal with over the next 6-8 months. Sorry.
PROGRESS UPDATE 3 27/11/10:
Success! The proxy on both sides is very fast and very minimal. I'm now fixing transfer length issues (HTTP 1.0 support), need to add disconnection protection as well as a decent configuration UI, installer and do some code cleaning and QA. Multiple app connections are possible but data is sent via a single synchronous link to the Baps server (on Windows), i.e. both sides process multiple requests at the same time but data is ordered again for sending between the phone and PC.
PROGRESS UPDATE 2 25/11/10:
End to end transmission is almost complete, I'm having some minor trouble with the data passed back to the phone (and displayed by the proxy on the phone during testing) actually being passed back to the calling app and numerous requests at once going out of sync but this is something I know how to fix :)
PROGRESS UPDATE 19/11/10:
I can now send a single preformatted HTTP request from the phone to the PC and receive a response on the phone (admittedly the reponse is usually a HTTP 301 or 400 error probably caused by incorrect request packet formatting). This is taking longer than I anticipated especially as I have a busy weekend coming up and it is still very much proof of concept (no gui or configuration yet). I'm re-estimating *at least* another 2 weekends.

ORIGINAL TEXT FOLLOWS:
So I've purchased a Nokia 5230 which is a fine touch screen phone and has a built in GPS. The only problem is that it has no WIFI so all net access is charged at premium 3G rates even when I'm at home and have broadband.

I'm now working on a proxy along the lines of the Hiisi Suite and MiniBTProxy called "Baps" (Bluetooth Access Point Service) that will allow an Internet connection over Bluetooth for Nokia mobile phones using Microsoft Windows XP/Vista/7 with a broadband connection.

I've already implemented a simple proxy on Windows and will shortly be adding Bluetooth functionality to it courtesy of the Marge Bluetooth API.

The goals of this mini project are to:
  • Make it easy to install (installer and guide).
  • Proxy only HTTP (no secure HTTPS connections).
  • Support multiple connections (allowing many mobile apps to run at once - a problem for the existing Bluetooth proxies).
  • Provide seamless as possible connection restoring functionality in the event of Bluetooth dropout.

Optional long run goals are:
  • Improve mobile device compatibility.
  • Add Linux server support.
  • Improve performance.

As usual source code will also be made available on release sometime before or around the 21st of November.

Monday, November 23, 2009

FollowMe 1.2 - Free Java ME GPS Tracking Software


FollowMe 1.2 Free Open Source GPS tracking software for MIDP 2.0+ phones

FollowMe is the new name for Silent Software's LocateMe, this small (45K) application requires a mobile phone with an integrated GPS or a separate Bluetooth GPS and will show you the direction to given locations ("targets") without maps, using a pulsing direction arrow. You can request the location of other FollowMe users by text message, send your own position, or just simply save locations ("targets") for directions back to them later. Targets can even later be imported into Google Earth or Maps.

The Features
  • "Target" other FollowMe users' positions via a text message
  • Save multiple locations (targets "waypoints") with names (NEW for 1.2)
  • Stores your targets as Google Earth/Maps KML (NEW for 1.2)
  • Send your current position to other FollowMe users via text message
  • Connects to any mobile phone integrated GPS or Bluetooth GPS
  • View all the satellites around you on a "radar" style view
  • Display RAW GPS data (suitable for testing)
  • Complete integrated GPS support (some features may not be available depending on phone GPS capability).

For developers the fully commented source code provides
  • Design patterns, i.e. lazy initialization, command, strategy patterns
  • An example of a 2 tier system
  • How to use PushRegistry and File Connector (JSR 118)
  • How to use the Record Store (JSR 118)
  • How to use Bluetooth (JSR 82)
  • How to use Text Messaging (JSR 120)
  • How to use the PIM (and hack to minimise the security notices - JSR 75)
  • How to use the Location Based API (JSR 179 - Nokia lapi.jar included for use on non GPS integrated phones)
  • How to use simple graphics (not using a Game Canvas however)
  • How to multi thread effectively
  • How to process raw NMEA GPS data
  • Basic usage of the NanoXML parser
  • Basic understanding of graphical and GPS trigonometry

Known Issues
  • The application is not security signed (this costs money!), so you will be shown numerous security popups when you start it.
  • As your phone is not a compass the direction target arrow will only point to the correct direction once you start walking, and the phone can determine which way relative to North you are going, i.e. when you are stood still your phone doesn't know which direction you are facing! :) On startup, until the GPS gets an accurate fix, the direction arrow to the target WILL NOT BE SHOWN.
  • On first run there can be some delay discovering the Bluetooth devices in busy areas (i.e. it may display "Waiting for GPS..." on first run for some time). This is down to the Bluetooth device discovery picking up a large number of devices and querying them. Once you have located your GPS, future connections to the GPS do not require this discovery period and will be relatively quick.

Compatibility
This software has been tested on Nokia Series 40 3rd edition phones at a minimum resolution of 128x128 pixels and Sun WTK emulator at 240x320. It has also been successfully tested on a Nokia N95 and Nokia 6650 with integrated GPS', and the INQ1 phone with separate Bluetooth GPS.

Downloads
Download for mobile phones with an integrated GPS
Download for mobile phones using a separate Bluetooth GPS
Download FollowMe source code (and full javadoc)

Tuesday, September 29, 2009

FollowMe 1.2 Release Delay :(

As happens with other software I write in my free time I've not been able to push FollowMe 1.2 out of the door quickly as I'd like since I've been on holiday and now have a bad head cold (hopefully not the s-flu!) but the software is still on the cards as the next immediate release.

Thanks for your patience.

Monday, August 31, 2009

FollowMe 1.2 (the new name for LocateMe)


Since its release in early 2008 LocateMe 1.1 has been a great program, but is slipping behind the times compared to now many other similar modern hardware tracking solutions.

LocateMe has also unintentionally shared the same name as other similar popular software for iphone and pocket pc (which admittedly has probably helped in its success), so now its name is changing, it's shortly to be called FollowMe.

I'll be releasing a new build with improved phone compatibility within the next few days, and, new to FollowMe 1.2 is the ability to track multiple targets.

The roadmap for FollowMe 2.0 includes a beaconing feature and an innovative (and hush hush) feature that I'll be divulging on the day of release.

Keep an eye on this blog :)

Thursday, February 19, 2009

LocateMe 1.1 Released - Free Java ME GPS Tracking Software

UPDATE: LocateMe 1.1 has been updated and renamed to FollowMe 1.2

LocateMe - Free open source GPS tracking software for MIDP 2.0 mobile phones.

This small (30-35K) application requires a mobile phone with an integrated GPS or a separate Bluetooth GPS and will show you the direction to a given location (a "target") without maps, using a pulsing direction arrow. You can request the location of other LocateMe users by text message, send your own location, or just simply save a location for directions back to it later.

The Features:

* "Target" other LocateMe users' locations via a request text message
* Send your location to other LocateMe users via text message (can use your contacts list)
* Record your last location as a target
* View all the satellites around you on a "radar" style view
* Display RAW GPS data (suitable for testing)
* Connects to any mobile phone integrated GPS or Bluetooth GPS
* Saves your GPS and target settings between runs.

New Features for 1.1:

* Complete integrated GPS support (some features may not be available depending on phone GPS capability).
* Last known target direction shown when stationary (arrow stops pulsing when stationary and an accurate direction cannot be calculated due to GPS fix precision errors)
* Added a new option to invert display colours (you can choose depending on light)
* Fixed the speed error for bluetooth GPS knots to km/h - the value was off by 0.001 km/h per knot
* Fixed the speed bug for integrated GPS (would you believe - integrated GPS use metres/second, normal GPS use knots!)
* Added a warning before setting a new target
* Added support for viewing satellites positions using an integrated GPS (Bluetooth always could) but only if the phone can support this feature
* Moved "Target here" to "Target" which on most devices will now be at the top of the menu or centred
* Sats button is now "Satellites"
* Marquee time is 45 seconds before next reading shown
* Moved "Dist. to target" to start of marquee text
* Distance shown is in km when metres > 1000
* Removed the About menu item (it now shows (C) Silent Software in the marquee on first run)

For developers the fully commented source code is a good example of:

* Design patterns, i.e. lazy initialization, command, strategy patterns
* 2 Tier system
* How to use PushRegistry (JSR 118)
* How to use the Record Store (JSR 118)
* How to use Bluetooth (JSR 82)
* How to use Text Messaging (JSR 120)
* How to use the PIM (and hack to minimise the security notices - JSR 75)
* How to use the Location Based API (JSR 179 - Nokia lapi.jar included)
* How to use simple graphics (not using a Game Canvas however)
* How to multi thread effectively
* How to process raw NMEA GPS data
* Provide a basic understanding into Graphical and GPS trigonometry

Known Issues:

* The application is not security signed (this costs money!), so you will be shown numerous security popups when you start it.
* As your phone is not a compass the direction target arrow will only point to the correct direction once you start walking, and the phone can determine which way relative to North you are going, i.e. when you are stood still your phone doesn't know which direction you are facing! :) On startup, until the GPS gets an accurate fix, the direction arrow to the target will not be shown.
* On first run there can be some delay discovering the Bluetooth devices in busy areas (i.e. it may display "Waiting for GPS..." on first run for some time). This is down to the Bluetooth device discovery picking up a large number of devices and querying them. Once you have located your GPS, future connections to the GPS do not require this discovery period and will be relatively quick

This software has been tested on Nokia Series 40 3rd edition phones at a minimum resolution of 128x128 pixels and Sun WTK emulator at 240x320. It has also been successfully tested on a Nokia N95 and Nokia 6650 with integrated GPS'.

The software is licenced under the modified for UK Law CPL 1.0 licence which is included with the distributions.

Download for mobile phones with an integrated GPS
Download for mobile phones using a separate Bluetooth GPS
Download LocateMe source code (and full javadoc)

Monday, August 11, 2008

LocateMe update for Nokia N95 and phone integrated GPS

Calum at http://calum.org has provided a patch for phone integrated GPS units with a modified version of LocateMe 1.0 which he uses with his Nokia N95. The modification was limited to just showing the location (and setting a target) but I've updated the patch further so it can also send and receive location "target" texts (viewing satellites unfortunately isn't possible yet) but as I don't have a phone with an integrated GPS I don't know if the code works (yep I'm a cheapskate). I'm just waiting for Calum to do a small spot of testing for me (I hoping he'll oblige) and then I'll release the changes, otherwise I'll do it in a couple of weeks.

If anybody else wants to test this for me please drop me a comment - thanks.