# Pila Bluetooth

Una pila Bluetooth es una aplicación que gestiona todos los servicios del puerto Bluetooth. Las pilas Bluetooth pueden clasificarse en dos grandes grupos:
* Implementaciones de propósito general, escritas con énfasis en la amplitud de características y la flexibilidad, típicamente para ordenadores personales. Se puede añadir soporte para perfiles Bluetooth específicos por medio de drivers.
* Implementaciones empotradas para su uso en dispositivos donde los recursos son limitados y la demanda es baja, tales como periféricos Bluetooth.
En general, sólo puede usarse una pila en un momento dado. Los cambios suelen requerir la desinstalación de la pila previa, aunque una traza de las pilas usadas en el pasado permanezca en el registro. Existen casos en los que dos pilas pueden usarse en el mismo ordenador, cada una de ellas con su propia radio Bluetooth independiente.

## Implementaciones de propósito general
### Winmac
#### Widcomm

Widcomm es la primera pila que salió para el sistema operativo Windows. Inicialmente desarrollada por Widcomm Inc., ésta fue adquirida por Broadcom Corporation en abril de 2004, que continúa vendiendo licencias para su uso en multitud de dispositivos Bluetooth.
Existe una API para interactuar con la pila a través de una aplicación genérica.

#### Pila de Windows

Windows XP incluye una pila integrada a partir del Service Pack 2. Previamente, Microsoft lanzó un QFE de su pila en el Service Pack 1, con la referencia QFE323183. No obstante, sólo fue distribuida a compañías y no directamente al público. Estas compañías podían utilizar el QFE como parte de los instaladores de sus dispositivos Bluetooth, aunque ya no está soportado por Microsoft.
Windows Vista incluye también una pila integrada que es una expansión de la pila presente en Windows XP. Además del soporta para más perfiles Bluetooth, también permite el desarrollo de drivers que permite que los desarrolladores externos den soporte a perfiles adicionales, un aspecto que no estaba presente en la pila de Windows XP y sólo permitía el desarrollo por encima de la pila de Microsoft (lo que según algunos retrasó su adopción).
Microsoft no ha lanzado una pila oficial para versiones anteriores de su sistema operativo como Windows 2000 o Windows ME.
Windows Vista y Windows 7 ofrecen una renovación y mejora de la pila presente en sus anteriores sistemas operativos.

#### Pila Toshiba

Toshiba ha desarrollado su propia pila para Microsoft Windows. Ésta es una pila distinta a la integrada en el sistema operativo. Toshiba vende licencias a OEM's y se ha utilizado en algunos portátiles de Dell y Sony. Debe firmarse un acuerdo de confidencialidad para tener acceso a la API.

#### BlueSoleil

BlueSoleil está desarrollada por IVT Corporation, que se dedica al desarrollo de pilas para dispositivos empotrados y sistemas de escritorio. Está disponible en versiones estándar y VoIP para Microsoft Windows. La versión de escritorio soporta DUN, FAX, HFP, HSP, LAP, OBEX, OPP, PAN SPP, AV, BIP, FTP, GAP, HID, SDAP, and SYNC. La API se puede obtener sin coste alguno, y se provee una interfaz de usuario que monitoriza la actividad de la API en tiempo real, lo que ofrece apoyo al desarrollo de software. Actualmente la aplicación es de tipo shareware, por lo que está limitada. Si se desea funcionalidad completa se ha de pagar licencia.

### Linux

Actualmente hay dos implementaciones principales para Linux:
* BlueZ, incluida oficialmente en el núcleo y desarrollada inicialmente por Qualcomm.
* Affix, desarrollada por Nokia Research Center.

#### BlueZ

BlueZ es la pila Bluetooth oficial de Linux. Su meta es lograr una implementación de los estándares inalámbricos Bluetooth para Linux. En 2006, la pila soporta todos los protocolos y niveles de la especificación de base. Está disponible a partir de la versión 2.4.6 del núcleo.

## Implementaciones embebidas o empotradas
### lwBT

lwBT es una implementación ligera de código abierto de la pila de protocolos Bluetooth para su uso en sistemas embebidos. Actúa como interfaz de red para la pila lwIP.
Soporta algunos protocolos y niveles Bluetooth como los niveles UART H4 y BCSP. Entre los niveles superiores soportados están: HCI, L2CAP, SDP, BNEP, RFCOMM y PPP.
Los perfiles que soporta son: PAN (NAP, GN, PANU), LAP, DUN y puerto serie.
lwBT se ha portado a las líneas de microcontroladores Renesas M16C y Atmega AVR, sobre Linux y Windows.

### Windows CE

Windows CE es el sistema operativo embebido de Microsoft, que también ofrece soporte para Bluetooth.

### BlueLet

Otro producto de IVT Corporation, que actualmente admite DUN, FAX, HFP, HSP, LAP, OBEX, OPP, PAN y SPP.