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 The icon was created by David Vignoni for the Nuvola icon theme, and is licensed under LGPL 2.1.