BlueZ

BlueZ

Información
Primera versión 2001
Última versión 5,58 (3 de abril de 2021)
Depositar git.kernel.org/pub/scm/bluetooth/bluez.git
Escrito en VS
Sistema de explotación Linux
Tipo Pila de protocolos
Licencia Licencia pública general GNU versión 2 y Licencia pública general reducida GNU versión 2.0 ( d )
Sitio web www.bluez.org

BlueZ es un software que implementa la tecnología inalámbrica Bluetooth en el sistema operativo Linux . Fue creado originalmente por Max Krasnyansky de la empresa Qualcomm . En 2001, la empresa decidió lanzarlo bajo una licencia GNU GPL . Luego, BlueZ se convirtió en la implementación de Bluetooth de referencia para Linux y se integró en el kernel de Linux .

La primera pila Bluetooth de código abierto para Linux fue desarrollada por Axis Communication y se llamó OpenBT, pero en 2005 este proyecto se suspendió.

En 2005, el proyecto BlueZ ganó el premio TuxMobil GNU / Linux por su contribución a la mejora de las conexiones de red en máquinas portátiles equipadas con Linux .

Instalación

BlueZ ya está integrado en el kernel de la serie Linux versión 2.4 y 2.6. Para kernels más antiguos, hay parches que se pueden descargar en la siguiente dirección: http://www.bluez.org/patches.html Para algunas distribuciones de Linux ( Debian o RedHat, por ejemplo), también se incluyen paquetes para actualizar algunas bibliotecas y utilidades. disponible.

Arquitectura

Antes de la versión 2.3 de BlueZ, la capa RFCOMM estaba en el espacio de usuario y usaba el puerto serie del espacio de usuario (USSP). Fue creado para funcionar con la interfaz de socket L2CAP de BlueZ. El kernel RFCOMM ahora se ha implementado en el kernel de Linux y está ubicado en el espacio del kernel de la pila BlueZ (más precisamente en BlueZ-utils ).

HCI , que es parte del corazón del módulo Bluetooth, y el protocolo de transporte de host están separados en diferentes módulos. Por ejemplo, hci_usb.ko para implementar la capa de transporte USB y hci_uart.ko para la capa de transporte UART . L2CAP es implementado por el módulo del kernel l2cap.ko . Esto proporciona enchufes BSD. RFCOMM tiene dos aspectos en BlueZ. Uno es la interfaz basada en socket. Como TCP, una conexión RFCOMM es una secuencia. La otra es una emulación TTY que proporciona nodos.


Virtual HCI , por tanto, es un virtual HCl dispositivo que le permite simular dispositivos Bluetooth.

Composición de software

BlueZ se compone de diferentes módulos:

BlueZ tiene un módulo central llamado bluez-kernel que contiene todas las instalaciones del núcleo Bluetooth . Construye la abstracción HCI , los protocolos L2CAP y LMP / LC. En el código bluez-kernel se incluye el controlador HCI UART , los controladores HCI PCMCIA y el protocolo RFCOMM, así como cosas para BNEP.

Bluez-libs instala una biblioteca de acceso bluetooth utilizada por otras utilidades y herramientas.

Bluez-utils contiene las utilidades que se utilizan para manipular los dispositivos del kernel y el módulo creado por la pila de Bluetooth . La utilidad hciconfig instalada por el paquete es casi el equivalente a ifconfig. Hasta que la pila instale una nueva familia de direcciones, necesitamos esta utilidad para manipular interfaces. La red Bluetooth tiene posibilidades muy diferentes en comparación con otras redes más tradicionales. Este paquete también es útil para actualizar dispositivos HCI, por ejemplo.

Bluez-sdp proporciona un demonio y acceso a la biblioteca utilizada con SDP. Es un protocolo básico que se utiliza entre dos dispositivos Bluetooth para determinar cómo pueden comunicarse entre sí.

Bluez-pan habilita PAN (redes de área personal Bluetooth) . Esto incluye pand , el demonio de perfil PAN y dund , el demonio de perfil de acceso LAN. PAN permite que los dispositivos Bluetooth funcionen como dispositivos de red Linux.

Bluez-hcidump es el tcpdump del mundo de Bluetooth. HCI es la interfaz de control del host. HCI proporciona una abstracción de interfaz estándar para hardware Bluetooth, que dicta las operaciones que el kernel de la pila bluetooth debe realizar para cada controlador de hardware específico.Al proporcionar un elemento adicional en esta capa, esta herramienta proporciona una vista de todo el tráfico entrante y saliente de la interfaz bluetooth. sin preocuparse por la interfaz USB , PCMCIA o UART. RFCOMM es un estándar para puertos serie de estilo RS-232 a través de Bluetooth.

CVS

Como el código BlueZ está abierto al público, se ha configurado un CVS que permite a cada uno de los participantes en el desarrollo del proyecto agregar su modificación. Aquí están los principales directorios presentes en CVS BlueZ así como su caracterización.

Notas y referencias

  1. "  http://www.bluez.org/about/history/  "
  2. Versión 5.58  "

Ver también

enlaces externos