BlueCove Linux module

BlueCove-gpl is additional module for BlueCove to support bluecove on Linux. This module distributed as different jar because of the License differences.

Compiled for i386 and x86-64 versions of the native code (jni shared library) is included in jar distribution. Native shared library have been tested and should work on Ubuntu, OpenSUSE and Fedora. For other Linux distributions you may need to compile it yourself.

N.B. Another module bluecove-bluez (Apache Software License) that is based on BlueZ D-Bus interface available. Help us make it.

Usage

java -cp bluecove-2.1.1-SNAPSHOT.jar:bluecove-gpl-2.1.1-SNAPSHOT.jar:yourApp.jar org.your.app.Main

Requirements

  • BlueCove library of the same mojor version
  • Package bluez-libs 3.7 or later should be installed on your system
  • We linked JNI library with libbluetooth.so (Not libbluetooth.so.3 or libbluetooth.so.2) to be able to use same build with Bluez Version 3 and Version 4
    • You need package/rpm that creates a link libbluetooth.so to already installed libbluetooth.so.3 or libbluetooth.so.2
    • libbluetooth-dev on Ubuntu
    • bluez-libs-devel on Fedora
    • bluez-devel on openSUSE
  • To change Discoverable mode of the device you should be root
  • On 64-bit Linux platform 64-bit java should be used

Standard Linux Distribution that can be used with binary BlueCove distribution

  • Ubuntu 7.04 feisty (bluez 3.8) and later
  • OpenSUSE 10.2 (bluez-libs-3.7) and later
  • Fedora Core 6 (bluez-libs-3.7) and later
  • Debian 4.0r3 ARM on the Linksys NSLU2 (bluez-libs-3.7)
  • This is not complete list! For other Linux distributions you may need to compile it yourself using maven or ant.

Compile it yourself

You may build BlueCove JNI library on your system using ant or maven. See developer-read-me.txt in sources folder for details.

Configuration options

System properties:

  • `bluecove.deviceID=1` bluecove supports multiple local devices, this will force it to select second one.
  • `bluecove.deviceID=hci1` this will force BlueCove to select second adapter.
  • `bluecove.deviceAddress=btaddr` select local devices by Bluetooth address

Documentation

API-Documentation for BlueCove Java docs. For application it is not recommended to use any classes or API other than defined in JSR-82.

API that enables the use of Multiple Adapters and Bluetooth Stacks in parallel in the same JVM is BlueCove specific, documentation can be found here.

JSR-82 extension bluecovepsm enables the use of specific PSM channel in L2CAP service. btl2cap://localhost;name=...;bluecovepsm=1007

BlueCove Installation and configuration instructions here.

Legal

BlueCove-gpl is licensed under GNU General Public License.