Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bluetooth Low Energy: listening for notifications/indications in linux

I'm trying to communicate with a BLE module through a Linux machine (the module is running a heart rate profile). So far, I've been able to do everything I need except listening for Notifications and indications (e.g. listening for the Heart Rate Measurement Notification). I'm using kernel version 3.5 and bluez-5.3.

Succcessful commands used so far:

hcitool lescan hcitool lecc gatttool -b <Mac Address> --primary gatttool -b <MAC Address> --characteristics gatttool -b <MAC Address> --char-read gatttool -b <MAC Address> --char-desc gatttool -b <MAC Address> --interactive 

Failed commands:

gatttool -b <MAC Address> --listen 

Any help is greatly appreciated.

like image 323
Youssif Saeed Avatar asked Mar 27 '13 10:03

Youssif Saeed


People also ask

What is Bluetooth low energy used for?

As the name suggests, Bluetooth low energy (BLE) technology, also known as Bluetooth Smart or Bluetooth 4.0, uses less energy than standard Bluetooth wireless communications. BLE could be used for home automation, wireless medical devices, exercise sensors, retail geofencing and mobile payments.


1 Answers

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.

like image 124
Tim Tisdall Avatar answered Oct 04 '22 18:10

Tim Tisdall