Edison + Bluetooth

Bluetooth controllers are handled in Linux via interfaces accesible by the rfkill and hci utilities provided by BlueZ, which is the official Linux Bluetooth protocol stack.

Intel Edison Bluetooth Guide

Utilities description

  • rfkill: Turns the chip on/off.
  • hcitools: A series of utilities that manage controllers:
    • hcidump: Retrieves the trace of the HCI device.
    • hciconfig: Configures Bluetooth* devices.
    • hcitool: Configures Bluetooth connections and sends commands to Bluetooth devices.
    • hciattach: Attaches an HCI device to a dev interface, like USB or UART; usually used to download patchram to the Bluetooth* controller.

BlueZ

BlueZ provides support for the core Bluetooth layers and protocols. It is flexible, efficient and uses a modular implementation.

BlueZ

Figure 2 shows the BlueZ workflow and how its utilities interact within user and kernel space.

Serial Port Profile (SPP)

SPP (Serial Port Profile) defines how two Bluetooth-enabled devices create a virtual/emulated serial port connection and communicate with each other.

Serial Port Profile

SPP Workflow

  • SDP is the Bluetooth Service Discovery Protocol that allows devices to provide browsing services to each other.

  • Devices accepting an incoming connection over RFCOMM expose a record in SDP for SPP indicating that the RFCOMM channel is listening.

  • Devices initiating a connection will first search for SPP records on the peer device database and in turn may initiate a connection to the RFCOMM server channel on a peer device.

results matching ""

    No results matching ""