Bluetooth

Bluetooth is a wireless technology standard for exchanging data over short distances from fixed and mobile devices, and building personal area networks ... Wikipedia

Opkg Packages

blink-led-dbg_0.1-r0_core2-32.ipk
blink-led-dev_0.1-r0_core2-32.ipk
blink-led_0.1-r0_core2-32.ipk
bluetooth-rfkill-event-dbg_1.0-r0_core2-32.ipk
bluetooth-rfkill-event-dev_1.0-r0_core2-32.ipk
bluetooth-rfkill-event_1.0-r0_core2-32.ipk
bluez5-dbg_5.37-r0_core2-32.ipk
bluez5-dev_5.37-r0_core2-32.ipk
bluez5-doc_5.37-r0_core2-32.ipk
bluez5-obex_5.37-r0_core2-32.ipk
bluez5-testtools_5.37-r0_core2-32.ipk
bluez5_5.37-r0_core2-32.ipk

Kernel Integration

BlueZ. Official Linux Bluetooth Protocol Stack

Bluetooth tools and daemons. This package contains tools and system daemons for using Bluetooth devices. BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source project distributed under GNU General Public License (GPL). Bluez Homepage

Bluetooth Kernel Subsystem

Bluez Tools

  • hciconfig - HCI device configuration utility

  • hciattach - HCI UART driver initialization utility

  • l2ping - L2CAP ping

  • hcidump - HCI packet analyzer

  • hcitool - Generic writing and monitoring to the HCI interface

  • bluetooth-agent

  • bluetoothctl

Kernel Display Message

Bluetooth Built-In Controller

Bluetooth USB Dongle

Applications / Libraries

ConnMan

Daemon for managing Internet connections within embedded device and integrates a vast range of communication features usually split between many daemons such as DHCP, DNS and NTP. The result of this consolidation is low memory consumption with a fast, coherent, synchronized reaction to changing network conditions. ConnMan Homepage

RFKill

A small userspace tool to query the state of the rfkill switches, buttons and subsystem interfaces. Some devices come with a hard switch that lets you kill different types of RF radios: 802.11 / Bluetooth / NFC / UWB / WAN / WIMAX / FM. Some times these buttons may kill more than one RF type. The Linux kernel rfkill subsystem exposes these hardware buttons and lets userspace query its status and set its status through a /dev/rfkill. Given that at times some RF devices do not have hardware rfkill buttons rfkill the Linux kernel also exposes software rfkill capabilities that allows userspace to mimic a hardware rfkill event and turn on or off RF. Rfkill Homepage

Python interface to Bluetooth LE on Linux Github

Setup

Opkg

Pip

Apt-Get

Programs

Python

Npm

Install "Locate Beacon" Android App

Usage Models

Device Pairing

Text

SPP

SPP Rfcomm

Connect from Android device from BlueTerm application

Write data from Android device from BlueTerm application

BlueTooth Headsets

Bluetooth Sound

Serial Port Profile (SPP)

Libraries

For C Bluetooth Development:

For Python Bluetooth Development:

For Python Bluetooth in Edison (using pip, if for some reason you don't have it, learn How-To Install Pip):

There are two common ways to test SPP, one is by using D-BUS, the other is by using RFCOMM transport protocol.

To test using D-Bus we can use this python script, copy it to Edison, enable the bluetooth device and run it:

Then in an android device install a Bluetooth SPP Manager.

At this point you need to pair the Intel Edison with your android device (see example above on how to use bluetoothctl, hcicontrol or any other user level application in your Edison).

Once paired, open the Bluetooth SPP Manager app, hit search, and when the Intel Edison appears tap on in to connect. now you can send text messages to Edison which can be seen on the terminal window of the Edison.

I know this need a lil' bit further explanation. just dropped here so i won't forget. Also what is going to be added is how to programmatically do the device discovering, pairing and SPP using c and python

Audio

Last updated