Difference between revisions of "How to scan BLE devices"

The provided diff revision is invalid.



This page lists the different operations needed to scan, connect and display BLE device information. BLE stands for Bluetooth Low Energy

1 Packages needed[edit]

  • bluez5

2 Configuration[edit]

Init file modification for automatic Bluetooth start
/etc/udev/rules.d/10-local.rules:

# Set bluetooth power up
ACTION=="add", KERNEL=="hci0", RUN+="/usr/bin/hciconfig hci0 up"

3 Existing tool selection[edit]

Bluez provides some tools, by default, to analyze Bluetooth networks.
hciconfig to configure hci connections
hcitool to scan, find a device, connect to a device, manage a device list.. deviceS may be normal or low energy
gatttool for BLE device management

3.1 BLE device connection step-by-step[edit]

Command to scan all low-energy Bluetooth hardware:

Board $> hciconfig hci0 up
Board $> hcitool lescan

To scan available BLE devices:

Board $> hcitool lewladd <BLE_MAC_ADDRRESS>

To add BLE device in the white list (optional):

Board $> hcitool lecc <BLE_MAC_ADDRESS>

To connect a BLE device:

Once a BLE device is identified, its characteristics (attibutes) can be discovered, read and modified using GATTTOOL.
GATTTOOL offers two working modes: interractive and non-interractive

3.1.1 Gatttool Interractive mode[edit]

Board $> gatttool -b <MAC Address> --interactive

In interractive mode, a new prompt is available to perform BLE commands.
connect: to connect to a specified device
primary: to disable all primary attributes
char-read-hnd <handle> to read specified handle/attribute values
char-write-cmd <handle> <value> to modify handle values

3.1.2 Gatttool Non-interractive mode:[edit]

In non-interractive mode, commands are issued one by one. At each command, GATTTOOL performs device connection, action and disconnection.
Few a few examples are given below:

Board $> gatttool -b <Mac Address> --primary 
Board $> gatttool -b <MAC Address> --characteristics
Board $> gatttool -b <MAC Address> --char-read
Board $> gatttool -b <MAC Address> --char-desc

Bluetooth Low Energy .

Attachments

Discussions