Una pila Bluetooth es un software que es una implementación de la pila de protocolo Bluetooth .
Las pilas Bluetooth se pueden dividir aproximadamente en dos categorías distintas:
La pila Bluetooth de FreeBSD se implementa utilizando el marco Netgraph . [2] El controlador ng_ubt admite una amplia variedad de adaptadores USB Bluetooth. [3]
La implementación se realizó en 2002 y se lanzó por primera vez con FreeBSD 5.0 . [4]
NetBSD tiene su propia implementación de Bluetooth, comprometida en 2006 y lanzada por primera vez con NetBSD § 4.0 . [5]
OpenBSD ha tenido la implementación de NetBSD durante algún tiempo, pero fue eliminado en 2014 debido a la falta de mantenimiento y la descomposición del código . [6] [7]
DragonFly BSD cuenta con la implementación de Bluetooth de NetBSD desde la versión 1.11 (2008), publicada por primera vez con DragonFly BSD § 1.12 . [8]
Una implementación basada en netgraph de FreeBSD también ha estado disponible en el árbol desde 2008, que data de una importación de Netgraph desde el marco temporal de FreeBSD 7 a DragonFly, pero posiblemente estuvo deshabilitada hasta el 15 de noviembre de 2014 y aún puede requerir más trabajo. [9] [10]
BlueALSA es un backend ALSA de audio Bluetooth que permite el uso de dispositivos de audio conectados por Bluetooth sin el uso de PulseAudio o PipeWire . [11] [12]
BlueZ , desarrollado inicialmente por Qualcomm , [13] es una pila Bluetooth, incluida en las distribuciones oficiales del kernel de Linux , [14] para la familia de sistemas operativos basados en el kernel de Linux . Su objetivo es programar una implementación de las especificaciones de estándares inalámbricos Bluetooth para Linux. A partir de 2006, la pila BlueZ admite todos los protocolos y capas principales de Bluetooth. [ cita requerida ] Fue desarrollado inicialmente por Qualcomm y está disponible para las versiones del kernel de Linux 2.4.6 y posteriores. [15] Además de la pila básica, los paquetes bluez-utils y bluez-firmware contienen utilidades de bajo nivel como dfutool que pueden interrogar al chipset del adaptador Bluetooth para determinar si su firmware se puede actualizar. BlueZ tiene licencia GNU General Public License (GPL), pero se informa que está en camino de cambiar a GNU Lesser General Public License (LGPL). [16]
hidd es el demonio del dispositivo de interfaz humana (HID) Bluetooth . [17]
Android cambió de BlueZ a su propia pila BlueDroid , creada por Broadcom , a fines de 2012. [16] Desde entonces, BlueDroid pasó a llamarse Fluoride. [18] Marcel Holtmann, del Centro de Tecnología de Código Abierto de Intel, insinuó que Google tomó una mala decisión al cambiar a BlueDroid, durante una presentación de BlueZ para Android en la Cumbre de Constructores de Android en 2014. [16]
Con Android 13, Google habilitó de forma predeterminada la pila Bluetooth recientemente desarrollada Gabeldorsche . [19]
El nombre Gabeldorsche se relaciona muy indirectamente con Sweyn Forkbeard , el hijo y sucesor de Harald Bluetooth . [20]
Desde la versión 10.2, Mac OS X de Apple Inc. incluye una pila Bluetooth integrada. [21] Los perfiles incluidos son DUN, SPP, FAX, HID, HSP, SYNC, PAN, BPP y OBEX. La versión 10.5 agrega compatibilidad con A2DP y AVRCP.
Antes de Windows 8, Microsoft Bluetooth Stack solo admitía dispositivos Bluetooth externos o integrados conectados a través de USB . No admite conexiones de radio Bluetooth a través de PCI , I2C , serial , PC Card u otras interfaces. [22] Además, solo admite una única radio Bluetooth. [22] Windows 8 tiene un modelo de transporte extensible que permite la compatibilidad con radios Bluetooth en buses que no sean USB. [23]
Generalmente, solo se puede utilizar una única pila a la vez: para cambiar de pila, normalmente es necesario desinstalar la pila actual, aunque queda un rastro de las pilas anteriores en el registro de Windows. Sin embargo, hay algunos casos en los que se pueden utilizar dos pilas en el mismo sistema Microsoft Windows, cada una de las cuales utiliza su propio hardware de radio Bluetooth.
Versiones de Windows: [24]
Nota: La pila Bluetooth de Windows XP/Vista/Windows Vista/Windows 7 admite de forma nativa los siguientes perfiles Bluetooth: PANU, SPP, DUN, OPP, OBEX, HID, HCRP. [22] [23] [26] Windows 8 agrega compatibilidad con los perfiles HFP, A2DP, GATT y AVRCP. [23]
La pila Windows 7/Vista/8/10 proporciona API de modo kernel y modo usuario para su pila Bluetooth, de modo que los proveedores de hardware y software pueden implementar perfiles adicionales. [23]
Windows 10 (versión 1803) y versiones posteriores admiten la versión 5.0 de Bluetooth y varios perfiles de Bluetooth. [29]
Los perfiles Bluetooth expuestos por el dispositivo pero no compatibles con la pila de Windows se mostrarán como "Dispositivo periférico Bluetooth" en el Administrador de dispositivos .
WIDCOMM fue la primera pila Bluetooth para el sistema operativo Windows . La pila fue desarrollada inicialmente por una empresa llamada WIDCOMM Inc., que fue adquirida por Broadcom Corporation en abril de 2004. [30] Broadcom sigue otorgando licencias para la pila para su inclusión en muchos dispositivos de usuario final con tecnología Bluetooth, como Qualcomm Atheros, Realtek y Ralink.
Hay una API disponible para interactuar con la pila desde una aplicación personalizada. Para los desarrolladores, también hay una utilidad llamada BTServer Spy Lite incluida con la pila (excluidas algunas versiones vinculadas a proveedores) que monitorea la actividad de Bluetooth en la pila a un nivel muy bajo, aunque la categoría y el nivel de seguimiento son configurables. Esta pila también permite el uso de RFCOMM sin crear un puerto serial virtual en el sistema operativo.
En 2001, Toshiba anunció por primera vez un diseño de notebook que integraría una antena Bluetooth dentro de la tapa. Luego, Toshiba lanzó los dos primeros modelos de notebook que ofrecían integración dual Bluetooth/ Wi-Fi . [31]
Toshiba ha creado su propia pila Bluetooth para su uso en Microsoft Windows. Toshiba concede licencias de su pila a otros fabricantes de equipos originales (OEM) y la ha distribuido con algunas computadoras portátiles Fujitsu Siemens , ASUS , Dell y Sony . Se debe firmar un acuerdo de confidencialidad para obtener la API . La pila Toshiba también está disponible con ciertos accesorios Bluetooth que no son OEM, como adaptadores Bluetooth USB y tarjetas PCMCIA de varios proveedores.
La pila Toshiba admite una de las listas más completas de perfiles Bluetooth, incluidos: SPP , DUN , FAX , LAP , OPP , FTP , HID , HDP , HCRP , PAN , BIP , HSP , HFP (incluido soporte para Skype), A2DP , AVRCP .
La última versión de la pila Toshiba es 9.20.02(T), lanzada el 30 de septiembre de 2016.
En 2010, CSR plc (anteriormente Cambridge Silicon Radio) creó su propia pila Bluetooth. [32] Se basaba en la pila de host CSR Synergy BT. CSR fue adquirida por Qualcomm en agosto de 2015. [33]
BlueSoleil (comercializado como 1000Moons en China ) es un producto de IVT Corporation, que produce pilas para dispositivos integrados y sistemas de escritorio. La pila está disponible tanto en versiones estándar como VOIP. Admite los perfiles A2DP, DUN, FAX, HFP, HSP, LAP, OBEX, OPP, PAN, SPP, AV, BIP, FTP, HID y SYNC.
Hay un SDK para desarrolladores de aplicaciones de terceros disponible para uso no comercial en el sitio de descarga de BlueSoleil, pero esta API solo funcionará con la versión no gratuita de la pila, BlueSoleil 6.4 y superior.
A partir de abril de 2018, la última versión del stack global BlueSoleil es la 10.0.497.0, lanzada el 8 de enero de 2018. El stack chino 1000Moons está en la versión 10.2.497.0, lanzada el 9 de enero de 2018.
BlueFRITZ! era la pila que se suministraba con los adaptadores USB Bluetooth del fabricante alemán AVM GmbH . Admitía los perfiles SPP, DUN, FTP, FAX y algunos más. No se admitía HID. Esta pila se podía desactivar y utilizar en su lugar la pila Microsoft. El desarrollo de esta pila se ha interrumpido.
Digianswer era una subsidiaria de Motorola, Inc. desde 1999. [34] Digianswer Bluetooth Software Suite (BTSWS) se comercializó y vendió a través de clientes OEM como Motorola , Dell e IBM , que agrupaban productos PCMCIA y USB junto con BTSWS. El producto está disponible desde agosto de 2000. [35]
Apache Mynewt NimBLE es una pila de protocolos Bluetooth Low Energy 4.2 y 5.0 de código abierto y con todas las funciones escrita en C para sistemas integrados . NimBLE es una de las pilas de protocolos más completas, que admite funciones de la versión 5.0, como alta velocidad de datos y publicidad extendida. La implementación admite todas las capas del protocolo Bluetooth. Los primeros puertos para la parte del controlador son para los SoC de la serie nRF51 y nRF52 de Nordic Semiconductor. NimBLE también admite interfaces HCI estándar para trabajar con controladores, incluidos los chipsets ST, Dialog y Em Micro. Aprovecha el sistema operativo Apache Mynewt de código abierto , que está diseñado para admitir múltiples arquitecturas de microcontroladores. [36] NimBLE también puede ejecutarse con FreeRTOS y es portátil a otros sistemas operativos en tiempo real. La implementación permite que la parte del controlador Mynewt NimBLE se use con un host que no sea Mynewt NimBLE.
BlueCode+ es la pila de protocolos Bluetooth de capa superior portátil de Stollmann E+V GmbH. BlueCode+ 4.0 está calificado para la versión 3.0 de Bluetooth. [37] La pila de protocolos es independiente del chipset y del sistema operativo y admite cualquier chip HCI Bluetooth disponible. Las API ofrecen control de los perfiles y funciones de la pila, así como acceso directo a funciones de nivel inferior. BlueCode+ 4.0 admite los protocolos L2CAP, eL2CAP, RFCOMM, SDP Server and Client, MCAP, HCI-Host Side y AVDTP. Los perfiles admitidos son Generic Access (GAP), Service Discovery Application (SDAP), Serial Port Profile (SPP), Health Device Profile (HDP), Device Identification Profile (DID), Dial-up Networking (DUN), Fax, Headset (HSP), Handsfree (HFP), SIM Access (SAP), Phone Book Access (PBAP), Advanced Audio Distribution Profile (A2DP), Audio/Video Remote Control (AVRCP) y OBEX. La pila se ha adaptado a una amplia gama de diferentes microcontroladores y sistemas operativos.
El software host BCHS o BlueCore de CSR (ahora llamado CSR Synergy) proporciona las capas superiores de la pila de protocolos Bluetooth (por encima de HCI u opcionalmente RFCOMM), además de una gran biblioteca de perfiles, lo que proporciona una solución de software de sistema completa para aplicaciones BlueCore integradas. Los perfiles calificados actuales disponibles con BCHS son: A2DP, AVRCP, PBAP, BIP, BPP, CTP, DUN, FAX, FM API, FTP GAP, GAVDP, GOEP, HCRP, Headset, HF1.5, HID, ICP, JSR82, LAP Message Access Profile, OPP, PAN, SAP, SDAP, SPP, SYNC, SYNC ML. [38]
Bluelet es una pila de protocolos Bluetooth portátil e integrada de Barrot Technology Limited con funciones eficientes, fiables y de pequeño tamaño. Bluelet es perfectamente compatible con los perfiles BREDR/LE. Bluelet se puede trasladar fácilmente a diferentes plataformas, es decir, Linux, RTOS, Android. Esta oferta incluye la última implementación completa del host Bluetooth 5.3 utilizando ANSI C, implementando todos los perfiles/servicios de audio LE (BAP, PACS, ASCS, BASS; CSIP/CSIS; CCP/TBS; MCP/MCS; MICP/MICS; VCP/VCS/VOCS/AICS; TMAP, HAP/HAS; CAP) y la pila MESH. [39]
BlueMagic 3.0 es la pila de protocolos Bluetooth integrada y altamente portátil de Qualcomm (anteriormente Open Interface North America ) que alimenta el iPhone de Apple y los dispositivos con tecnología Qualcomm, como el Motorola RAZR. BlueMagic también se distribuye en productos de Logitech, Samsung, LG, Sharp, Sagem y más. BlueMagic 3.0 fue la primera pila de protocolos Bluetooth totalmente certificada (todos los protocolos y perfiles) en el nivel 1.1. [40]
La pila de protocolos Bluetooth de OpenSynergy (Blue SDK) actualmente proporciona perfiles A2DP, AVRCP, VDP, BIP, BPP, CTN, FTP, GPP, HFP, HSP, HCRP, HDP, HID, MAP, OPP, PAN, PBAP, SAP, DUN, FAX, DID y GATT. Tiene licencia del Grupo de Interés Especial (SIG) de Bluetooth y cumple con los estándares de seguridad esperados en productos de grado automotriz. El Kit de Desarrollo de Software Bluetooth (Blue SDK) se puede integrar fácilmente en cualquier sistema operativo. Admite operaciones BR/EDR (clásicas) y de bajo consumo de energía; los perfiles clásicos y de bajo consumo de energía utilizan el mismo software de pila de protocolos subyacente. [41]
Bluetopia es la implementación de Stonestreet One de las capas superiores de la pila de protocolos Bluetooth por encima de la interfaz HCI y ha sido calificada para la versión 4.0 y versiones anteriores de la especificación Bluetooth. La interfaz de programación de aplicaciones (API) proporciona acceso a todos los protocolos y perfiles de capa superior y puede interactuar directamente con los chips Bluetooth más populares de Broadcom, CSR, TI y otros. Bluetopia ha sido portado a múltiples sistemas operativos como Windows Mobile/Windows CE, Linux, QNX, Nucleus, uCOS, ThreadX, NetBSD y otros. Bluetopia se distribuye actualmente en dispositivos de empresas como Motorola, Kodak, Honeywell, Garmin, VTech y Harris.
Stonestreet One fue adquirido por Qualcomm en 2014. Texas Instruments ofrece su versión de la pila Bluetopia para su uso con chips Bluetooth TI.
BlueWiseLE es el producto de software de pila de protocolos con certificación Bluetooth Low Energy de Alpwise. Incluye la capa de enlace [42] y también la pila de host (es decir, las capas superiores por encima de la HCI). [43] La capa de enlace controla la radio y la sincronización de la comunicación Bluetooth en tres posibles configuraciones de chipset: SoC, coprocesador o HCI. También hay disponibles varios perfiles BLE propietarios, incluidos Voice over BLE y Firmware update Over the Air (FOTA). [44]
Subsistema host Bluetooth de Clarinox Technologies. Compatible con Windows 7/8/10, WinCE, Linux/AGL Linux, Android, AutoSAR, Integrity, SafeRTOS, QNX, μITRON, FreeRTOS, μC/OS, Azure RTOS ThreadX, Nucleus, MQX, RTX, embOS, TI-RTOS, DSP/BIOS, eCos y μ-velOSity. Apto para las especificaciones Bluetooth 5.2, 5.0 y todas las especificaciones anteriores, incluye todos los perfiles/protocolos clásicos y perfiles/servicios LE, incluidos BT y LE Audio. ClarinoxBlue admite el transporte HCI para SDIO, UART 3-Wire, UART-BCSP, UART-H4, USB. La pila se ha adaptado a muchas familias de CPU y MCU, incluidas NXP i.MX6/i.MX7/i.MX8/i.MX RT, Kinetis K6x/7x, LPC 18xx/43xx/54xxx STMicro; STM32F4x, STM32H7, STM32WB55, STM32MP157; Texas Instruments TI MSP432, DSP 5xxx, OMAP/Davinci, Tiva TM4C123x, Sitara 3xxx; Renesas Synergy S5/S7, RH850, R-Car M3/H3; Xilinx PowerPC, SPARC LEON de núcleo blando. El sistema host Bluetooth ClarinoxBlue se proporciona con la herramienta de depuración ClariFi, analizador de protocolo integrado, admite una depuración más rápida de dispositivos inalámbricos complejos. ClariFi ofrece subprocesamiento, uso de memoria, análisis de fugas de memoria y análisis de audio para respaldar el ajuste de aplicaciones y ayudar en la comunicación de problemas. [45]
dotstack, una pila Bluetooth de modo dual de SEARAN, es una buena opción para dispositivos integrados de bajo costo y bajo consumo, probado con iPhone (usa IAP de SEARAN), Android y otras plataformas móviles. dotstack está calificado como V2.1 + EDR, V4.1, V4.2 y 5.0, con SPP, GAP, HID, Headset, HFP, FTP, HDP, PBAP, Simple Secure Pairing, A2DP, AVRCP, PAN, MAP, BLE (GATT) con ANP/ANS, FMP, HIDS, HOGP, PASP/PASS, PXP, TIP, BAS, DIS, IAS, LLS, TPS, ANCS, BLP/BLS, GP, HTP, HRP/HRS. dotstack se ha portado a plataformas de ST Micro (STM32L1/4, STM32F0/1/2/3/4), Microchip (PIC24, dsPIC, PIC32), NXP (LPC), Energy Micro (EFM32), TI (MSP430, C5000, etc.), Renesas (RX, SH-2A, M2 ARM Cortex A15, R-Car), y se ha probado con controladores Bluetooth RF, CSR8811/8311/8510, BlueCore 4 y 6, TI CC2560/2564, Intel/Infineon PMB8753, Marvell Avastar 88w8777, 88W8790, Toshiba TC35661, Microchip/ISSC IS1662. dotstack tiene integración con FreeRTOS, uOS, Linux, Android, QNX, MQX, ThreadX y no tiene RTOS. Requisito mínimo de RAM para SPP 3 KB con RTOS y aplicación. [46]
EtherMind de MINDTREE Ltd es una oferta de IP de perfil y pila Bluetooth calificada por BT-SIG. [47]
La pila EtherMind de Mindtree es compatible con todas las versiones populares de las especificaciones Bluetooth (2.1+EDR, v4.0, v4.1, v4.2, 5.0, 5.1 y 5.2) e incluye todas las características obligatorias y opcionales de la pila principal y todos los perfiles adoptados son compatibles como parte de EtherMind. La pila es compatible con la última versión adoptada de 23 perfiles clásicos de Bluetooth [48], como A2DP, AVRCP, etc.; y 54 perfiles y servicios de Bluetooth de bajo consumo [49], como perfil de ubicación y navegación, perfil/servicio de báscula, etc. La oferta incluye las últimas capacidades de Mesh [50] e IPv6 Stack [51] sobre Bluetooth Smart.
La pila de protocolos Bluetooth de Jungo BTware permite a los fabricantes de dispositivos incorporar fácilmente la conectividad Bluetooth estándar en sus diseños, incluidos teléfonos móviles, sistemas de información y entretenimiento para automóviles , decodificadores y dispositivos médicos. BTware admite HCI estándar y HCI propietario. Protocolos compatibles: L2CAP, RFCOMM, AVDTP, AVCTP, BNEP, MCAP. Perfiles compatibles: GAP, A2DP, AVRCP, HSP, HFP, SPP, DUN, HID, PAN, HDP, PBAP, OPP, FTP, MAP y otros. Jungo ha dejado de distribuir BTware.
lwBT es una pila de protocolos Bluetooth ligera y de código abierto para sistemas integrados de blue-machines. Actúa como una interfaz de red para la pila de protocolos lwIP.
Admite algunos protocolos y capas de Bluetooth, como las capas UART H4 y BCSP. Las capas superiores compatibles incluyen: HCI , L2CAP , SDP, BNEP, RFCOMM y PPP . Los perfiles compatibles son: PAN (NAP, GN, PANU), LAP, DUN y puerto serie.
lwBT se ha adaptado al Renesas M16C , utilizado en la plataforma Mulle, la línea de microcontroladores y Linux, además de Windows. El código fuente también estaba disponible para su uso.
Se puede encontrar una bifurcación de lwBT en el repositorio de GitHub porque Googlecode ya no está. [52]
Mecel Betula es compatible con x86. También se ha adaptado a una amplia gama de sistemas operativos, como Windows , Linux , Android o con o sin un sistema operativo personalizado. Tiene soporte para la versión 4.0 de Bluetooth, incluido el nuevo Bluetooth Low Energy. [53] Los perfiles compatibles son HSP, DUN, FAX, HFP, PBAP, MAP, OPP, FTP, BIP, BPP, SYNC, GAVDP, A2DP, AVRCP, HID, SAP, PAN.
Silvair Mesh Stack es una implementación del perfil y los modelos Bluetooth MESH , desarrollados principalmente para aplicaciones de iluminación inteligente . Además de las características principales del nodo de malla, implementa el modelo Light Lightness Server, el modelo Light Controller y el modelo Sensor Server para que pueda usarse para construir luminarias de atenuación y sensores de aprovechamiento de la luz natural . Proporciona salida PWM / 0-10 V para control de atenuación directo e interfaz UART para fines de integración. La salida DALI está marcada como planificada. [54]
Silvair Mesh Stack ha sido calificado por Bluetooth SIG el 18 de julio de 2017 con QDID 98880, como la primera implementación de un nodo de malla Bluetooth. [55]
Implementación del punto de acceso blue2net por parte de Siemens .
Symbian OS era un sistema operativo para teléfonos móviles que incluía una pila Bluetooth. Todos los teléfonos basados en la plataforma S60 de Nokia y la plataforma UIQ de UIQ Technology utilizan esta pila. La pila Bluetooth de Symbian se ejecuta en el espacio de usuario en lugar de en el espacio del núcleo y tiene API públicas para L2CAP, RFCOMM, SDP, AVRCP, etc. Los perfiles compatibles con el sistema operativo incluyen GAP, OBEX, SPP, AVRCP, GAVDP, PAN y PBAP. [56] Los perfiles adicionales compatibles con la combinación de plataforma OS + S60 incluyen A2DP, HSP, HFP1.5, FTP, OPP, BIP, DUN, acceso a SIM e ID de dispositivo. [57] [58]
El RTOS del Proyecto Zephyr incluye una pila de protocolos completa, de código abierto , compatible con Bluetooth Low Energy v5.3 [59] escrita en C para sistemas integrados . Contiene un controlador BLE y un host con capacidad BLE y BR/EDR que se ejecuta en los SoC nRF51 Series y nRF52 de Nordic Semiconductor.
El soporte para Bluetooth no funciona y no desaparecerá.
De estos, es posible que eche de menos la compatibilidad con Bluetooth. Lamentablemente, el código actual no funciona y no está estructurado adecuadamente para fomentar un mayor desarrollo futuro.
Los primeros pasos para dar soporte a Bluetooth con Linux los dio Axis Communications y lanzaron su pila OpenBT Bluetooth en abril de 1999. IBM también lanzó su BlueDrekar, que solo estaba disponible como módulos binarios... El 3 de mayo de 2001, la pila de protocolos Bluetooth llamada BlueZ, escrita por Qualcomm, se lanzó bajo GPL. Esta nueva pila siguió el enfoque basado en sockets. Un mes después, Linus Torvalds la retomó y la integró en el núcleo Linux 2.4.6-pre2. El Centro de Investigación de Nokia en Helsinki lanzó otra pila Bluetooth para Linux llamada Affix. La comunidad de código abierto ya decidió dar soporte a BlueZ como pila de protocolo Bluetooth oficial para Linux y se convirtió en una de las mejores implementaciones de la especificación Bluetooth.
BlueZ para Android (BfA) proporciona un "reemplazo directo" para BlueDroid, lo que significa que las aplicaciones no necesitan cambiar... La larga lista de deficiencias de BlueDroid también se redujo a casi cero al reemplazar a BlueZ... Además, BfA se ha desarrollado como parte del proyecto de código abierto BlueZ... También es notable que BlueZ esté en camino de cambiar a la LGPL. Aproximadamente el 80% del código ya tiene licencia de esa manera, y se agregará más, aunque no quedó claro cuándo se terminaría ese trabajo. Si bien nunca se dijo en la presentación, la implicación clara de la charla de Holtmann fue que Google tomó una mala decisión al cambiar a BlueDroid.
{{cite web}}
: CS1 maint: bot: estado de URL original desconocido ( enlace )