Skip to content

hypfvieh/bluez-dbus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bluez-dbus Maven Central

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 22.04 (AMD64) and bluez library 5.64.

Starting with version 0.2.0 of this library Java 11 is required (versions before 0.1.x used Java 7, 0.1.x used Java 8).

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>2.0</version>
</dependency>
To build a newer bluez-library for Ubuntu (16.04 has an older version than 5.50):

  1. Download new bluez library from http://www.bluez.org/download/
  2. Install Ubuntu build essentials:
        sudo apt-get install build-essential
  3. Install required additional dependencies:
        sudo apt-get install libdbus-1-dev libudev-dev libical-dev libreadline-dev checkinstall libglib2.0-dev
  4. Extract the downloaded bluez-tarball:
        tar xfvJ bluez-5.50.tar.xz
  5. Run ./configure in the extracted bluez tarball:
        ./configure --prefix=/usr --libexecdir=/usr/lib --enable-manpages
  6. run checkinstall in bluez tarball directory: sudo checkinstall
  7. Answer 'y' to question if default docs should be created
  8. Enter a description (e.g. New bluez library), press enter and then CTRL+D
  9. In checkinstall:
      Go to Menu option 13 (Replaces)
      Enter: bluez-obexd, bluez-cups, bluez-hcidump, bluez-btsco, bluez-tools
  10. Press Enter to start the build
  11. Install the generated .deb files:
        sudo dpkg -i bluez_5.50-1_amd64.deb

Changelog:

Version 0.2.0 (not yet released):

  • Requires Java 11
  • Uses dbus-java 4.x
  • Updated interfaces to comply with bluez 5.64
  • Issue #48 allow unregistering of signal handlers
  • Issue #51 added mesh interface classes

Version 0.1.3:

  • Various bugfixes: #35, #36, #38
  • Updated dependency versions

Version 0.1.2:

  • 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

Sponsor this project

Packages

No packages published

Languages