Bluetooth Introduction

Bluetooth Introduction


Table of Contents

  • 1 What's Bluetooth?
  • 2 Bluetooth stacks
  • 3 Bluetooth profiles

1 What's Bluetooth?

Bluetooth is a wireless communication technology.
Its name comes from an ancient Denmark king, Harald Blatand, in the tenth century, who united the dissonant Danish tribes into a single kingdom. Because he likes to eat blueberry, his tooth was always colored to blue, people gave him a nickname Harald Bluetooth instead. And also, the Bluetooth's logo comes from this king's first two names and the band of the ancient North Europe characters. 

How many parts did a Bluetooth system consisted of? The following figures illustrate the basic parts of a Bluetooth system.
   +----------+     +----------+
   |          |     |  Host    |
   |  host    |     |          |
   +----+-----+     +----+-----+
   +----+-----+     +----+-----+
   |    LE    |     |   BR/EDR |
   |Controller|     |Controller|
   +----------+     +----------+
                              
    +--------------------------+
    |                          |
    |         Host             |
    |                          |
    +------------+-------------+
    +------------+-------------+
    |            |             |
    |   BR/EDR   |   AMP       |
    |  Controller|  Controller |
    +------------+-------------+
    
    +--------------------------+
    |                          |
    |         Host             |
    |                          |
    +--------------------------+
    |         BR/EDR           |
    |           LE             |
    |        Controller        |
    +--------------------------+


    +--------------------------+
    |                          |
    |        Host              |
    |                          |
    +------------+-------------+
    |   BR/EDR   |    AMP      |
    |     LE     | Controller  |
    |  Controller|             |
    +------------+-------------+
                                
                                
So the Bluetooth core system must consist of a Host, a primary controller, and zero or more secondary Controllers. It still seems a mess right, just to keep your mind that a workable Bluetooth system must have a host part and controller part, the host part running the application level program while the controller part is baseband, RF, physical or hardware related.

2 Bluetooth stacks

Now let's talk about the Bluetooth protocols, the set of the Bluetooth protocols can be called Bluetooth stack. the Bluetooth stack split into two parts: controller stack and host stack. The host stack is running in the host part, and controller stack is running in the controller part of the system, apparently. For example, the USB Bluetooth adapter we used in our PC is the controller part and running a controller stack inside, while the host part is our PC and a host stack is running in our PC, if you are running Linux system, the host stack named bluez. 

For integrated devices such as Bluetooth headsets, the host stack and controller stack can be running on the same processor, this is known as the hostless system. 

The controller stack related protocols including ACL, SCO, LMP, HCL, LELL.
While host stack related protocols are be designed in application level. That's what I am interested in as a Bluetooth application programmer. The related protocols including L2CAP BNEP RFCOMM SDP AVCTP AVDTP OBEX ATT SMP….

3 Bluetooth profiles

I consider the Bluetooth profiles as the applications in Bluetooth stacks. Those profiles were built on the top of host's basic protocols like L2CAP, RFCOMM, ATT. 
Next, I will introduce some basic Bluetooth programming API. 

Comments

Popular posts from this blog

Bluedroid stack in android

How to setup a NAT server?

Network programming in elisp