Skip to content

Commit

Permalink
bluez-tools-0.2.0 |Documentation Autotools| Added update to readme an…
Browse files Browse the repository at this point in the history
…d updated autotools scripts.
  • Loading branch information
orangejackolantern committed Aug 4, 2014
1 parent 171181b commit c741acb
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 47 deletions.
2 changes: 2 additions & 0 deletions AUTHORS
@@ -1 +1,3 @@
Alexander Orlenko <zxteam@gmail.com>
Scott Conover <scottjconover@yahoo.com>
Daniel Sills <masterdanconqueror@yahoo.com>
69 changes: 51 additions & 18 deletions README
@@ -1,31 +1,41 @@
bluez-tools
===========

This is a GSoC'10 project to implement a new command line tools for bluez
(bluetooth stack for linux). The project implemented in C and uses the D-Bus
interface of bluez.
See "Installation" for compile instructions.

This was a GSoC'10 project to implement a new command line tools for bluez (bluetooth stack for linux). It is currently an active open source project.

The project is implemented in C and uses the D-Bus interface of bluez.

The project is still a work in progress, and not all APIs from Bluez have been implemented as a part of bluez-tools. The APIs which have been implemented in bluez-tools are adapter, agent, device, network and obex. Other APIs, such as interfaces for medical devices, pedometers and other specific APIs have not been ported to bluez-tools.

Some bluez-tool source relied on the previous version of bluez (4), and have been deprecated, dropped and removed from the code. If such functionality exists in another form in bluez (5), a developer should feel free to clone the project, make the changes and send a merge request. If this is a major change, perhaps requiring multiple eyes, a developer should consider registering a change request at the project git repository. We support the project and welcome changes :)

The project is currently a beta version, and hiccups will still be present in the code. Register bugs at the project git repository.

Project website: http://code.google.com/p/bluez-tools/
Project Git repository: http://gitorious.org/bluez-tools/


bt-adapter
==========

- List available adapters
- Show information about adapter (incl properties)
- Discover remote devices (with remote device name resolving)
- Change adapter properties (eg. Name, Discoverable, Pairable, etc)


bt-agent
========

- Manage incoming Bluetooth requests (eg. request of pincode, request of
authorize a connection/service request, etc)

bt-audio
========
- Connecting to audio devices

bt-device
=========

- List added devices
- Connect to the remote device by his MAC, retrieve all SDP records and then
initiate the pairing
Expand All @@ -35,36 +45,59 @@ bt-device
- Service discovery
- Change device properties (eg. Name, Trusted, Blocked, etc)

bt-input
========
- Connecting to input devices

bt-monitor
==========
- Capturing D-Bus signals of bluetoothd

bt-network
==========

- Connect to the network device
- Register network server for the provided UUID (gn/panu/nap)

bt-serial
=========
- Connects to a specific RFCOMM based service on a remote device and then
creates a RFCOMM TTY device for it

bt-obex
=======

- Agent (to accept/reject incoming bluetooth object push requests) for OBEXD
(OPP/FTP profile)
- Send local file to the specified remote device using object push profile
- Start FTP session with remote device


Installation
============

Run `./autogen.sh' at the project root directory. This will generate the missing files you need to compile. Then run `./configure' followed by `make' and then `make install' to compile and install bluez-tools. `make install' requires root access. You can read `INSTALL' for detailed instructions on how to use `./configure'.


Requirements
============
bluez-tools pre v0.2 uses bluez-4.69 and obexd-0.30 API's

bluez-tools post v0.2 uses bluez-5.20 API.
Due to the removal of DiscoverServices in the BlueZ 5 device API, bt-device requires `sdptool' (included in bluez-utils) for service discovery.


Release Notes
============

For information regarding the changes of bluez-tools, please refer to the `ChangeLog' file included in the project.


License
============

bluez-tools is released under the GNU General Public License version 2 (GPLv2). Refer to the `COPYING' file for details regarding the license.


Known Issues
============

- Discovery mode on `bt-adapter' has no default timeout, which means it will last indefinitly. Using SIGINT (control-c) turns off the discovery scan and exits `bt-adapter'.
- `bt-agent' does not recieve a `unregistered' callback signal in BlueZ 5, even when the agent manager successfully unregisters the agent. You will need to use SIGINT (control-c) twice to exit `bt-agent'.
- Running `bt-agent' as a daemon process is currently broken.'
- bt-network and bt-obex FTP has been implemented but it is largely untested with BlueZ 5.


Unaddressed Issues From Pre v0.2
============

- FTP session closes unexpectedly after the command "ls" (bug in OBEXD?)
- Copy/Move methods not yet implemented (OBEXD)
46 changes: 17 additions & 29 deletions configure.ac
Expand Up @@ -20,55 +20,43 @@ AC_PROG_CC_C99

if test "x$remember_set_CFLAGS" = "x"
then
if test "$CFLAGS" = "-g -O2"
then
CFLAGS="-O2"
elif test "$CFLAGS" = "-g"
then
CFLAGS=""
fi
if test "$CFLAGS" = "-g -O2"
then
CFLAGS="-O2"
elif test "$CFLAGS" = "-g"
then
CFLAGS=""
fi
fi

AC_PROG_INSTALL
AM_PROG_CC_C_O

# Handle --disable-obex
AC_ARG_ENABLE(obex,
AS_HELP_STRING([--disable-obex],
[disable obex support]),
, enable_obex=yes)

# Checks for header files.
AC_HEADER_STDC

# Check for the availability of dbus and glib libs
PKG_PROG_PKG_CONFIG

PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.24.0])
PKG_CHECK_MODULES([DBUS_GLIB], [dbus-glib-1 >= 0.84])
PKG_CHECK_MODULES([GIO], [gio-2.0 >= 2.26.0])

# Check for the availability of libreadline
AC_CHECK_HEADERS([readline/readline.h], [HAVE_READLINE_H=1])
AC_CHECK_HEADERS([readline/history.h], [HAVE_HISTORY_H=1])
AC_CHECK_LIB([readline], [readline], [HAVE_LIB_READLINE=1])

if test "$enable_obex" = "yes"; then
AC_DEFINE([OBEX_SUPPORT], [], [
Define to allow bluez-tools to be compiled with obex support.])

if test "$HAVE_READLINE_H" != "1"; then
echo "** readline/readline.h was not found."
exit 1
fi
if test "$HAVE_HISTORY_H" != "1"; then
echo "** readline/history.h was not found."
exit 1
fi
LIBREADLINE="-lreadline"
if test "$HAVE_READLINE_H" != "1"; then
echo "** readline/readline.h was not found."
exit 1
fi
AC_SUBST(LIBREADLINE)
if test "$HAVE_HISTORY_H" != "1"; then
echo "** readline/history.h was not found."
exit 1
fi
LIBREADLINE="-lreadline"

AM_CONDITIONAL(OBEX, test "$enable_obex" = "yes")
AC_SUBST(LIBREADLINE)

AC_CONFIG_FILES([Makefile src/Makefile])
AC_OUTPUT

0 comments on commit c741acb

Please sign in to comment.