Стек Bluetooth
Bluetooth-стек (англ. Bluetooth stack) — реализация стека протоколов Bluetooth.
Bluetooth-стеки можно условно разделить на две группы:
- Универсального назначения. Написаны с упором на функциональность и гибкость, как правило, для настольных компьютеров. Поддержка дополнительных профилей Bluetooth может быть добавлена через драйверы.
- Для встроенных систем. Предназначены для использования в периферийных Bluetooth-устройствах, где ресурсы ограничены, а требования ниже.
Универсального назначения
Widcomm
Реализация компании Widcomm Inc. была первой для операционной системы Windows. Widcomm Inc. прошла слияние с Broadcom Corporation в апреле 2004 года.[1] Компания Broadcom продолжает лицензировать стек для включения со многими Bluetooth-устройствами конечного пользователя.
API доступен для взаимодействия со стеком из пользовательских приложений. Для разработчиков существует утилита BTServer Spy Lite в комплекте со стеком (исключенная некоторыми поставщиками), которая контролирует деятельность Bluetooth-стека на низком уровне. Этот стек также позволяет использовать RFCOMM без создания виртуальных последовательных портов в операционной системе.
Стек Microsoft Windows
В реализации Microsoft (Microsoft Windows Bluetooth stack) поддерживается только встроенные Bluetooth-адаптеры или внешние, присоединённые через интерфейс USB. Не поддерживается соединение Bluetooth через PCI, I²C, Последовательный порт, PC Card и другие интерфейсы.[2] Также поддерживается только один передатчик Bluetooth.[2] Только один стек может использоваться единовременно: переключение обычно требует деинсталлирования текущего стека, хотя след предыдущих стеков остается в системном реестре Windows. Однако, есть некоторые случаи, когда два стека могут использоваться в одной системе Windows Microsoft, каждый, используя их собственные отдельные аппаратные средства технологии Bluetooth.
Microsoft не выпустила официального Bluetooth-стека для ранних версий Windows, таких как Windows 2000 или Windows Me.
Для Windows XP Service Pack 1 Microsoft выпустила свой Bluetooth-стек QFE. Маркируется как QFE323183. Microsoft не выпустил его для широкой публики. Сторонним компаниям тогда разрешили выпустить QFE как часть их собственной инсталляции программного обеспечения для устройств Bluetooth. Microsoft больше не поддерживает этот QFE.
Windows XP включает в себя встроенный Bluetooth стек, начиная с Service Pack 2.
Стек Bluetooth в Windows Vista улучшен поддержкой большего количества аппаратных идентификаторов, усовершенствованием производительности EDR, адаптивной скачкообразной перестройки частоты для уверенной работы рядом с точкой Wi-Fi, и поддержкой протокола SCO, который необходим для аудио-профилей.[2] Bluetooth-стек в Windows Vista поддерживает интерфейс драйвера устройства в режиме ядра, кроме интерфейса пользователя в режиме программирования, который дает возможность третьим лицам добавить поддержку дополнительных профилей технологии Bluetooth, таких как SCO, SDP, и L2CAP. Это было недостатком встроенного Bluetooth-стека в Windows XP Service Pack 2, который должен был быть полностью заменен сторонним стеком для дополнительной поддержки профиля. Это также обеспечивает поддержку RFCOMM, используя сокеты помимо виртуальных COM-портов.[3]
Пакет Windows Vista Feature Pack (KB942567) добавляет поддержку Bluetooth 2.1 + EDR и Remote Wake от S3 или S4 автономных модулей Bluetooth.[2] Этот пакет доступен пока только для OEM-производителей включена в Windows Vista Service Pack 2, возможности Feature Pack были включен в каждую версию Windows 7.
Операционные системы Windows XP и Windows Vista изначально поддерживают следующие профили Bluetooth: PAN, SPP, DUN, HID, HCRP.[2]
Windows CE, начиная с CE 5.0, поддерживает UART, USB, SDIO, и BCSP подключения.[4] Стек от сторонних разработчиков также может быть установлен на устройствах Windows CE, включая Widcomm, BlueSoleil и Toshiba, в зависимости от встроенных систем и версии операционной системы.
EtherMind
EtherMind является стеком протокола Bluetooth от MindTree для встраиваемых и ведущих (host) устройств. Для получения документации по API необходимо подписание соглашения о неразглашении информации.
Toshiba
Toshiba создала свой собственный стек Bluetooth для использования на Microsoft Windows. Toshiba лицензирует стек для других производителей оригинального оборудования (OEM) и поставляется вместе с некоторыми Fujitsu Siemens, ASUS, Dell и ноутбуками Sony. Соглашение о неразглашении должно быть подписано, чтобы получить API. Стек Toshiba также доступен с определенными не-OEM устройствами Bluetooth, такими как USB адаптеры Bluetooth и PCMCIA карты от разных поставщиков.
Toshiba стек поддерживает один из наиболее полных перечней профилей Bluetooth: SPP, DUN, FAX, LAP, OPP, FTP, HID, HDP, HCRP, PAN, BIP, HSP, HFP (в том числе поддержкой Skype), A2DP, AVRCP
BlueSoleil
BlueSoleil — это продукт IVT Corporation, которая производит стеки для встраиваемых устройств и настольных систем. Стек доступен в стандартной и VOIP-версии. Он поддерживает профили DUN, FAX, HFP, HSP, LAP, OBEX, OPP, PAN, SPP, А. В., BIP, FTP, HID и синхронизацию.
SDK для сторонних разработчиков приложений доступен для некоммерческого использования на сайте загрузки BlueSoleil, но этот API будет работать только с платной версией стека, BlueSoleil 6.4 и выше.
BlueFritz!
Стек BlueFritz! поставляется с USB адаптерами Bluetooth от немецкого производителя AVM GmbH. Он поддерживает профили SPP, DUN, FTP, факс и некоторые другие. HID, к сожалению, не поддерживается. Этот стек может быть переключен в режим, когда он выключен и стек от Microsoft будет использоваться вместо него.
Linux
У операционной системы Linux в настоящее время есть две широко распространённые реализации стека технологии Bluetooth:
BlueZ
BlueZ — канонический стек технологии Bluetooth для Linux. Его цель состоит в том, чтобы сделать реализацию спецификаций стандартов технологии Bluetooth для Linux. Стек BlueZ поддерживает все основные протоколы и уровни Bluetooth. Был первоначально разработан Qualcomm, и доступен для ядра Linux версии 2.4.6 и выше.
В дополнение к основному стеку, пакеты bluez-utils и bluez-firmware содержат низкоуровневые утилиты. Например, dfutool может опросить чипсет адаптера Bluetooth, чтобы определить может ли его прошивка быть обновлена.
Программы, использующие BlueZ
- Blueman
OS X
Операционная система OS X от Apple Inc., начиная с версии 10.2, содержит интегрированный Bluetooth-стек[5], который включает профили DUN, SPP, FAX, HID, HSP, SYNC, PAN, BPP и OBEX. В версии 10.5 добавлена поддержка A2DP и AVRCP.
Для встроенных систем
BlueMagic
BlueMagic 3.0 открытый интерфейс (теперь Qualcomm) высоко портативный встроенный Bluetooth-стек протоколов, присутствующий в iPhone от Apple и устройствах Qualcomm, таких как Motorola RAZR. Протокол BlueMagic также используется в продуктах Logitech, Samsung, LG, Sharp, Sagem, и многих других. BlueMagic 3.0 был первым полностью сертифицированным (все протоколы и профили) Bluetooth-стеком протоколов в спецификации 1.1.
BlueCore Host Software (BCHS)
CSR’s BCHS или BlueCore Host Software обеспечивает верхние уровни стека протокола Bluetooth (выше HCI, или опционально RFCOMM) и большую библиотеку профилей, предоставляет полное решение системного программного обеспечения для встраиваемых приложений BlueCore. BCHS поддерживает 1.2, 2.0 + EDR и 2.1 + EDR. Текущие профили доступные с BCHS: 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.[6]
lwBT
lwBT является облегченным протоколом Bluetooth-стека для встраиваемых систем с открытым исходным кодом. Он действует как сетевой интерфейс для lwIP стека протоколов.
Этот протокол поддерживает некоторые протоколы Bluetooth и профили, такие, как H4 и BCSP UART. Поддерживаемые более высокие профили включают: HCI, L2CAP, SDP, BNEP, RFCOMM и PPP. Поддерживаемые профили: PAN (NAP, GN, PANU), LAP, DUN и последовательный порт.
lwBT был портирован на Renesas M16C, работающий на платформе Mulle, линейку микроконтроллеров, в Linux, а также в Windows.
BlueLet
Так же продукт IVT Corporation. В настоящее время поддерживает: DUN, FAX, HFP, HSP, LAP, OBEX, OPP, PAN, SPP.
ClarinoxBlue
Продукт хост-подсистемы Bluetooth от Clarinox Technologies. Поддержка WinCE, Embedded Linux, eCos, VelOSity, DSP-BIOS, QNX и ThreadX. Поддерживаются: HCI, L2CAP, RFCOMM, SDP, SDAP, GAP, SPP, DUN, HFP, HSP, OBEX, FTP, AVRCP, A2DP, AVDTP.
Bluetopia
Bluetopia является реализацией от Stonestreet One для верхних слоёв протокола Bluetooth-стека выше интерфейса HCI и отвечает условиям версии 2.1+EDR и более ранним версиям спецификации Bluetooth. Интерфейс прикладного программирования (API) обеспечивает доступ для всех протоколов верхнего уровня и профиля, может напрямую взаимодействовать с наиболее популярными Bluetooth чипами от Broadcom, CSR, TI и другими. Bluetopia была портирована на множество операционных систем, таких как Windows Mobile / Windows CE, Linux, QNX, Nucleus, uCOS, ThreadX, NetBSD, и другие. Bluetopia в настоящее время используется в устройствах таких компаний, как Motorola, Kodak, Honeywell, Garmin, VTech и Harris.
Symbian OS
Symbian OS является операционной системой для мобильных телефонов, которая включает в себя Bluetooth-стек. Все телефоны на базе платформы Nokia S60 и Sony Ericsson / Motorola платформы UIQ используют этот стек. Symbian Bluetooth стек работает в непривилегированном режиме, и имеет публичный API для L2CAP, RFCOMM, SDP, AVRCP и т. д. Поддерживаемые профили в OS включают GAP, OBEX, SPP, AVRCP, GAVDP, PAN, PBAP.[7] Дополнительные профили поддерживаются в OS + платформы S60 и включают A2DP, HSP, HFP1.5, FTP, OPP, BIP, DUN, SIM Access, Device ID.[8]
BlueCode+
BlueCode+ является портативным стеком протокола Bluetooth высших профилей от Stollmann E+V GmbH. BlueCode+ 4.0 аттестирован к Bluetooth версии 3.0.[9] Стек протокола является независимым от микроконтроллера и операционной системы, поддерживает любые доступные Bluetooth HCI чипы. API дает возможность для управления профилями и функциями стека, а также предоставляет прямой доступ к функциям нижнего уровня. BlueCode+ 4.0 поддерживает протоколы L2CAP, eL2CAP, RFCOMM, SDP Сервер и Клиент, MCAP, HCI-Host Side and AVDTP. Поддерживаемые профили: Generic Access Profile (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) и OBEX. Стек был перенесен на широкий диапазон различных микроконтроллеров и операционных систем.
Jungo’s BTware
Bluetooth-стек от Jungo позволяет производителям устройств легко включать стандартное обеспечение связи Bluetooth в свои продукты, которые включают мобильные телефоны, автомобильные развлекательно-информационные системы, абонентские приставки, медицинскую технику, мобильные интернет-устройства и другую бытовую электронику. Поддерживаемые протоколы: Logical Link Control и Adaptation Protocol (L2CAP), Service Discovery Protocol (SDP), RFCOMM, Audio / Video Distribution Transport Protocol (AVDTP), Bluetooth Network Encapsulation Protocol (BNEP) и Multi Channel Adaptation Protocol (MCAP).
Примечания
- Broadcom (2004-04-19). Broadcom to Acquire WIDCOMM, the Industry's Leading Provider of Critical Software for Bluetooth Wireless Devices. Пресс-релиз. Проверено 2007-03-02.
- Bluetooth Wireless Technology FAQ
- USB/1394 on the PC Архивировано 15 февраля 2012 года.
- Bluetooth HCI Transport Layer
- Bluetooth Device Access Guide: Introduction to Bluetooth Device Access Guide
- The Official Bluetooth SIG Member Website
- The Official Bluetooth SIG Member Website
- The Official Bluetooth SIG Member Website
- The Official Bluetooth SIG Member Website