Skip to content

MaxKellermann/BlueNMEA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BlueNMEA for Android
====================

 http://max.kellermann.name/projects/blue-nmea/

BlueNMEA is an Android application which sends location data over
Bluetooth (RFCOMM) or TCP in the NMEA format.

I wrote this program to feed my PDA running XCSoar
(http://www.xcsoar.org/).


Compiling the sources
---------------------

You need:

- Android SDK 1.5
- Android NDK r4b
- Apache Ant and a Java SDK
- GNU make
- libbluetooth compiled for Android

Add the Android SDK to your PATH.  Run:

 make SDK_ROOT=/path/to/android-sdk NDK_ROOT=/path/to/android-ndk LIBBLUETOOTH_BASE=/path/to/libbluetooth

This builds bin/.BlueNMEA-debug.apk


Compiling libbluetooth
----------------------

libbluetooth was part of the 1.5 NDK, but was removed in later
versions.  This means that we need to compile our own version of that
library - which is tricky, because Android uses a non-standard build
system.

The BlueNMEA git repository contains a build script for libbluetooth
in the according branch.  Run "ndk-build", then copy the headers
(./lib/*.h) to $LIBBLUETOOTH_BASE/include/bluetooth and
./obj/local/armeabi/libbluetooth.a to $LIBBLUETOOTH_BASE/libs/armeabi.


BlueNMEA as a RFCOMM server
---------------------------

This mode is only available on Android 2.x.

BlueNMEA acts as a server, and provides a serial port other devices
can connect to.

Instructions:

Launch BlueNMEA.  Pair your Android handset with the other device
(using the Android settings menu).

As long as BlueNMEA runs, paired devices will see that your Android
handset offers a serial port, which they may now connect to.
Concurrent connections from multiple devices are possible.


BlueNMEA as a RFCOMM client
---------------------------

This mode was a hack to make BlueNMEA work on Android 1.5 and 1.6.  It
is deprecated, but may still be useful if your Android handset is not
upgraded yet.  It may or may not be available on newer handsets.

Make the remote device listen for RFCOMM.  On Windows Mobile, create
an incoming COM port, and make the Bluetooth adapter visible.

In BlueNMEA, select the GPS source, and click on "connect".  It
attempts to discover nearby Bluetooth devices (no pairing required).
Click on the desired remote device.

Once connected and location information is available, BlueNMEA starts
sending NMEA records.


Using BlueNMEA over TCP
-----------------------

If your Android handset is connected to a WiFi network, any host on
the network can connect to its IP address on TCP port 4352.


Using BlueNMEA over USB
-----------------------

Needs the Android SDK.

Connect your phone to a computer with the USB data cable.  On the
computer, type "adb forward tcp:4352 tcp:4352".  Now you can get NMEA
data by connecting to TCP 4352 on your computer.


Authors
-------

Max Kellermann <[email protected]>

The icon was created by David Vignoni for the Nuvola icon theme, and
is licensed under LGPL 2.1.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published