Bluetooth Low-Energy on Linux API

Using Bluetooth low energy in linux command line

SDP is absent in BLE. Broadcast/advertise frame and GATT client/server are used instead.

Several links:

  • BlueZ gatttool: command line tool to run common GATT procedures
  • BlueZ GATT's ready profiles
  • hint: DBUS
  • GATT and DBUS example
  • How can I connect to the FitBit Zip over Bluetooth 4.0 LE on Linux with bluez?
  • Bluetooth Low Energy: listening for notifications/indications in linux
  • http://comments.gmane.org/gmane.linux.bluez.kernel/29547

Bluetooth Low Energy: listening for notifications/indications in linux

Try this...

Run gatttool -b <MAC Address> --interactive like you did before. You'll get a prompt and then you type connect. You should see a CON in the prompt indicating that you've connected to the device. Then type char-read-uuid 2902. You should get a list of all CCC (Client Characteristic Configuration) attributes on the device. You can try setting them all to 0100 to get notifications, 0200 for indications, 0300 for both, or 0000 for everything off. Type help to see all the commands and their arguments.

EDIT:

The use of the --listen argument requires you to couple it with other commands to turn on the notifications and/or indications. So here's an example that works in Bluez 4.101:

gatttool -b <MAC Address> --char-write-req --handle=0x0031 --value=0100 --listen

Obviously you need to change the handle to the handle of the CCC that you want to turn on notifications for. However, I still find it way easier to just use the interactive mode.



Related Topics



Leave a reply



Submit