bluetooth library for linux OSes using DBus and bluez.
This project was inspired by tinyb, but does not require any wrapper library as it is based on a newer version of dbus-java which uses jnr-unixsocket.
This library has been tested with Ubuntu 16.04.4 (AMD64) and bluez library 5.54.
Starting with version 0.1.0 of this library Java 8 is required (previous version used Java 7).
If you want to use filedescriptor passing in any bluez method, you have to add Robert Middleton's dbus-java-nativefd library to your project:
<dependency>
<groupId>com.rm5248</groupId>
<artifactId>dbus-java-nativefd</artifactId>
<version>1.0</version>
</dependency>
- Download new bluez library from http://www.bluez.org/download/
- Install Ubuntu build essentials:
sudo apt-get install build-essential - Install required additional dependencies:
sudo apt-get install libdbus-1-dev libudev-dev libical-dev libreadline-dev checkinstall libglib2.0-dev
- Extract the downloaded bluez-tarball:
tar xfvJ bluez-5.50.tar.xz
- Run ./configure in the extracted bluez tarball:
./configure --prefix=/usr --libexecdir=/usr/lib --enable-manpages
- run checkinstall in bluez tarball directory:
sudo checkinstall
- Answer 'y' to question if default docs should be created
- Enter a description (e.g.
New bluez library
), press enter and then CTRL+D - In checkinstall:
Go to Menu option 13 (Replaces)
Enter:bluez-obexd, bluez-cups, bluez-hcidump, bluez-btsco, bluez-tools
- Press Enter to start the build
- Install the generated .deb files:
sudo dpkg -i bluez_5.50-1_amd64.deb
- Multi module maven project
- Provide a new artifact for usage with OSGi (bluez-java-osgi)
- Changed visibility of some methods to public
- Smaller bugfixes
- Updated interface classes to match with bluez 5.54 - Please note: mesh classes are still missing, PRs welcome