Bluetooth
Bluetooth is a standard for Personal Area Networking (PAN) based on IEEE802.15.4 and typically running in the 2.4GHz ISM radio frequency spectrum.
Contents |
Bluetooth with Linux
Bluetooth support in Linux is divided into the kernel space code, which includes support for most of the protocols as well as all the Bluetooth interface (radio) devices, and the userspace utilities.
The main project supporting Bluetooth on Linux is the bluez project.
Bluetooth support in the Linux Kernel
Bluetooth support has been in the Linux kernel since some of the 2.4 kernels starting in around 2003 or so.
Most Bluetooth radios connect using USB, including:
- Allcom Corp. Bluetooth V2.0 Dongle based on Broadcom Corp. BCM2035 Bluetooth dongle (idVendor: 0x0a5c, idProduct: 0x200a)
USB Bluetooth dongles use USB DeviceClass: Wireless, DeviceSubClass: Radio Frequency and DeviceProtocol: Bluetooth.
Bluetooth support in Linux Userspace
The main Bluetooth userspace project is bluez. In Debian, this can be installed with:
apt-get install bluez
Most GUI based distributions include a GNOME or KDE app for configuring Bluetooth devices.
Bluetooth on the Linux command line
From the command line, things are a little more complicated.
- hciconfig - to find local BT interface(s)
- hcitool scan - to find remote discoverable BT devices
- l2ping - to "ping" a remote BT device by MAC address
More tips:
RFCOMM
RFCOMM is a Bluetooth profile for an asynchronous serial link, which runs over the lower-level L2CAP protocol.
Setting up an RFCOMM connection in Ubuntu requires editing the /etc/bluetooth/rfcomm.conf file.
Broadcom BCM20702 chipset support
see Plugable USB Bluetooth Adapter: Solving HFP/HSP and A2DP Profile Issues on Linux for instructions on acquiring the Broadcom firmware to enable these BT 4.0 USB dongles to work.
Bluetooth Low Energy
aka BLE and also known as Bluetooth Smart
Brilliant Trackit
Uses iTrackEasy app on Android (and iPhone) and reports all your location and other identity data to servers in China.
Android Development
- Bluetooth Low Energy at developer.android.com
- Android Bluetooth Low Energy Tutorial at toastdroid.com
- Android Bluetooth Low Energy (BLE) Example at truiton.com
External links
- Working with Eddystone -- Bluetooth Low-Energy Beacon
- nRF51822 Evaluation Kit
- TrackR-Eddystone -- it's alive!
- Capturing BLE in Wireshark
see also
External Links
- Official Bluetooth site
- Bluetooth at Wikipedia
- About BNAP at opensecurityresearch.com
- Bluetooth Non-significant Address Part (BNAP) list
- Bluetooth at developer.android.com