Общее описание
HCI представляет собой командный интерфейс контроллера Baseband и менеджера связи, а так же предоставляет доступ к параметрам конфигурации устройства Bluetooth . Этот интерфейс предоставляет единообразный способ доступа к параметрам Baseband.
Нижние программные уровни стека Bluetooth
Хост – устройство, к которому подключен модуль Bluetooth.
На рисунке изображен обзор нижних программных уровней. Аппаратное ПО (микропрограмма) HCI преобразует команды интерфейса контроллера хоста в команды для физического оборудования Bluetooth (для Baseband и менеджера связей), а так же управляет статусными регистрами, регистрами управления и регистрами событий.
Между драйвером HCI и аппаратным ПО HCI могут существовать несколько слоев. Эти промежуточные слои не контролируют данные, передаваемые транспортным уровнем хост контроллера.
Драйвер HCI осуществляет обмен данными и командами с аппаратным ПО HCI. Для обеспечения передачи этих данных служит драйвер транспортного уровня хост контроллера (драйвер физической шины).
Хост получает асинхронные уведомления о событиях HCI независимо от того, как используется транспортный уровень. Когда хост обнаруживает, что произошло событие, он анализирует пакеты полученных событий для того, чтобы определить, какое событие произошло.
Транспортный уровень контроллера хоста
Стек драйверов хоста имеет транспортный уровень между драйвером контроллера хоста и хостом. Транспортный уровень прозрачен для передачи данных. Драйвер контроллера хоста, являющийся интерфейсом к контроллеру, должен быть независимым от способа передачи данных. К способу передачи данных не должны предъявляться требования знания данных, передаваемых драйвером контроллера самому контроллеру. Это позволяет изменять интерфейс (HCI) или контроллер, не влияя на транспортный уровень.
Обзор команд и событий HCI
Общие события — события могут возникать от команд или других событий, возникающий в любое время.
Установка устройства — команды используются для переключения контроллера в определенное состояние.
Контроллер управления потоком — эти команды совместно с событиями используются для управления потоком от хоста к контроллеру.
Информация контроллера — эти команды позволяют хосту обнаруживать локальную информацию об устройстве.
Конфигурация контроллера — эти команды совместно с событиями позволяют настраивать общие конфигурационные параметры.
Обнаружение устройств — эти команды совместно с событиями позволяют устройству обнаруживать другие устройства.
Установка соединения — эти команды совместно с событиями позволяют устройству подключаться к другому устройству.
Информация о другом устройстве — эти команды совместно с событиями позволяют обнаруживать информацию о других устройствах.
Синхронные соединения — эти команды совместно с событиями позволяют создавать синхронные соединения.
Состояние соединения — эти команды совместно с событиями позволяют настраивать связь, преимущественно для операций, уменьшающих энергопотребление.
Структура сети Piconet — эти команды совместно с событиями позволяют обнаруживать и настраивать сеть Piconet.
Качество обслуживания — эти команды совместно с событиями позволяют настраивать параметры качества обслуживания.
Физические связи — эти команды совместно с событиями позволяют настраивать физическую связь.
Управление потоком хоста — эти команды совместно с событиями позволяют использовать управление потоком данных совместно с хостом.
Информация о связи — эти команды совместно с событиями позволяют читать информацию о связи.
Аутентификация и шифрование — эти команды совместно с событиями позволяют аутентифицировать другое устройство и зашифровать связь с ним.
Тестирование — эти команды совместно с событиями позволяют переводить устройство в тестовый режим.
Управление потоком HCI
Управление потоком от хоста к контроллеру
Управление потоком в этом направлении используется для предотвращения переполнения буфера данных контроллера с данными ACL, направляющимися на другое устройство (используя хендл соединения), которое не отвечает. Хост управляет буферами данных контроллера.
Управление потоком от контроллера к хосту
В некоторых реализациях может быть необходимым управление потоком в направлении от контроллера к хосту. Данный набор команд может использоваться для включения или отключения управления потоком в данном направлении.
Bluetooth-стек (англ. Bluetooth stack ) — реализация стека протоколов Bluetooth.
Bluetooth-стеки можно условно разделить на две группы:
- Универсального назначения. Написаны с упором на функциональность и гибкость, как правило, для настольных компьютеров. Поддержка дополнительных профилей Bluetooth может быть добавлена через драйверы.
- Для встроенных систем. Предназначены для использования в периферийных Bluetooth-устройствах, где ресурсы ограничены, а требования ниже.
Содержание
- Содержание
- Универсального назначения [ править | править код ]
- Для встроенных систем [ править | править код ]
- BlueMagic [ править | править код ]
- BlueCore Host Software (BCHS) [ править | править код ]
- lwBT [ править | править код ]
- BlueLet [ править | править код ]
- ClarinoxBlue [ править | править код ]
- Bluetopia [ править | править код ]
- Symbian OS [ править | править код ]
- BlueCode+ [ править | править код ]
- Jungo’s BTware [ править | править код ]
- 27.4.2. рПДЛМАЮЕОЙЕ ХУФТПКУФЧБ
- рТЙНЕЮБОЙЕ:
- 27.4.3. Host Controller Interface (HCI)
- 27.4.4. Logical Link Control and Adaptation Protocol (L2CAP)
- 27.4.5. рТПФПЛПМ RFCOMM
- 27.4.6. Pairing of Devices
- 27.4.7. Service Discovery Protocol (SDP)
- 27.4.8. дПУФХР Л УЕФЙ РП ЛПННХФЙТХЕНПК МЙОЙЙ УЧСЪЙ (DUN) Й РП РТПФПЛПМХ PPP (LAN)
- 27.4.9. OBEX Object Push (OPUSH) Profile
- 27.4.10. рТПЖЙМШ РПУМЕДПЧБФЕМШОПЗП РПТФБ (SPP)
- 27.4.11. тЕЫЕОЙЕ РТПВМЕН
- Рекомендуем к прочтению
Содержание
Универсального назначения [ править | править код ]
Windows [ править | править код ]
Widcomm [ править | править код ]
Реализация компании W >[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, H >[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, включенный в официальное ядро в дистрибутивах Linux, первоначально разработанный Qualcomm.
- Affix, разработанная Исследовательским центром Nokia (Nokia Research Center).
BlueZ [ править | править код ]
BlueZ — канонический стек технологии Bluetooth для Linux. Его цель состоит в том, чтобы сделать реализацию спецификаций стандартов технологии Bluetooth для Linux. Стек BlueZ поддерживает все основные протоколы и уровни Bluetooth. Был первоначально разработан Qualcomm, и доступен для ядра Linux версии 2.4.6 и выше.
В дополнение к основному стеку, пакеты bluez-utils и bluez-firmware содержат низкоуровневые утилиты. Например, dfutool может опросить чипсет адаптера Bluetooth, чтобы определить может ли его прошивка быть обновлена.
Программы, использующие BlueZ [ править | править код ]
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, H >[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 >[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).
Bluetooth СЧМСЕФУС ВЕУРТПЧПДОПК ФЕИОПМПЗЙЕК ДМС УПЪДБОЙС РЕТУПОБМШОЩИ УЕФЕК ОБ ТБУУФПСОЙЙ ОЕ ВПМЕЕ 10 НЕФТПЧ, ТБВПФБАЭЕК ОБ ЮБУФПФЕ 2.4 ззГ, ЛПФПТБС ОЕ РПДМЕЦЙФ МЙГЕОЪЙТПЧБОЙА. пВЩЮОП ФБЛЙЕ УЕФЙ ЖПТНЙТХАФУС ЙЪ РПТФБФЙЧОЩИ ХУФТПКУФЧ, ФБЛЙИ, ЛБЛ УПФПЧЩЕ ФЕМЕЖПОЩ, лрл Й МЬРФПРЩ. ч ПФМЙЮЙЕ ПФ Wi-Fi, ДТХЗПК РПРХМСТОПК ВЕУРТПЧПДОПК ФЕИОПМПЗЙЙ, Bluetooth РТЕДПУФБЧМСЕФ ВПМЕЕ ЧЩУПЛЙК ХТПЧЕОШ УЕТЧЙУБ, ОБРТЙНЕТ, ЖБКМПЧЩЕ УЕТЧЕТЩ ФЙРБ FTP, РЕТЕДБЮХ ЖБКМПЧ, ЗПМПУБ, ЬНХМСГЙА РПУМЕДПЧБФЕМШОПЗП РПТФБ Й ДТХЗЙЕ.
уФЕЛ РТПФПЛПМПЧ Bluetooth ЧП FreeBSD ТЕБМЙЪПЧБО ОБ ПУОПЧЕ ФЕИОПМПЗЙЙ Netgraph (ПВТБФЙФЕУШ Л netgraph (4) ). ыЙТПЛЙК УРЕЛФТ USB-ХУФТПКУФЧ Bluetooth РПДДЕТЦЙЧБЕФУС ДТБКЧЕТПН ng_ubt (4) . хУФТПКУФЧБ Bluetooth ОБ ПУОПЧЕ ОБВПТБ НЙЛТПУИЕН Broadcom BCM2033 РПДДЕТЦЙЧБЕФУС ДТБКЧЕТПН ng_bt3c (4) . хУФТПКУФЧБ Bluetooth, ТБВПФБАЭЙЕ ЮЕТЕЪ РПУМЕДПЧБФЕМШОЩЕ Й UART-РПТФЩ, РПДДЕТЦЙЧБАФУС ДТБКЧЕТБНЙ sio (4) , ng_h4 (4) Й hcseriald (8) . ч ЬФПН ТБЪДЕМЕ ПРЙУЩЧБЕФУС ЙУРПМШЪПЧБОЙЕ Bluetooth-ХУФТПКУФЧ, РПДЛМАЮБЕНЩИ ЮЕТЕЪ USB.
27.4.2. рПДЛМАЮЕОЙЕ ХУФТПКУФЧБ
рП ХНПМЮБОЙА ДТБКЧЕТЩ ХУФТПКУФЧ Bluetooth РПУФБЧМСАФУС Ч ЧЙДЕ НПДХМЕК СДТБ. рЕТЕД РПДЛМАЮЕОЙЕН ХУФТПКУФЧБ ЧБН ОЕПВИПДЙНП РПДЗТХЪЙФШ ДТБКЧЕТ Ч СДТП:
еУМЙ Bluetooth-ХУФТПКУФЧП Ч НПНЕОФ ЪБРХУЛБ УЙУФЕНЩ РПДЛМАЮЕОП, ФП ЪБЗТХЦБКФЕ НПДХМШ ЙЪ ЖБКМБ /boot/loader.conf :
рПДЛМАЮЙФЕ ЧБЫЕ USB-ХУФТПКУФЧП. оБ ЛПОУПМЙ (ЙМЙ Ч ЦХТОБМЕ syslog) РПСЧЙФУС РТЙНЕТОП ФБЛПЕ УППВЭЕОЙЕ:
рТЙНЕЮБОЙЕ:
уФЕЛ РТПФПЛПМПЧ Bluetooth ЪБРХУЛБЕФУС ЧТХЮОХА ЧП FreeBSD 6.0, Й ЧП FreeBSD 5.X, РЕТЕД 5.5. ьФП ДЕМБЕФУС БЧФПНБФЙЮЕУЛЙ ЮЕТЕЪ devd (8) ЧП FreeBSD 5.5, 6.1 Й Ч ВПМЕЕ ОПЧЩИ ЧЕТУЙСИ.
уЛПРЙТХКФЕ ЖБКМ /usr/share/examples/netgraph/bluetooth/rc.bluetooth Ч ЛБЛПЕ-ОЙВХДШ РПДИПДСЭЕЕ НЕУФП, ОБРТЙНЕТ, Ч ЖБКМ /etc/rc.bluetooth . ьФПФ УЛТЙРФ ЙУРПМШЪХЕФУС ДМС ЪБРХУЛБ Й ПУФБОПЧЛЙ ТБВПФЩ Bluetooth-УФЕЛБ. рЕТЕД ПФЛМАЮЕОЙЕН ХУФТПКУФЧБ ТЕЛПНЕОДХЕФУС ПУФБОПЧЙФШ ЕЗП ТБВПФЩ, ИПФС (ПВЩЮОП) ЬФП ОЕ ЖБФБМШОП. рТЙ ЪБРХУЛЕ УФЕЛБ ЧЩ РПМХЮЙФЕ УППВЭЕОЙС, РПДПВОЩЕ УМЕДХАЭЙН:
27.4.3. Host Controller Interface (HCI)
Host Controller Interface (HCI) РТЕДПУФБЧМСЕФ ЙОФЕТЖЕКУ ДМС ХРТБЧМЕОЙС ЛПОФТПММЕТПН РЕТЕДБФЮЙЛБ Й НЕОЕДЦЕТПН УПЕДЙОЕОЙК, Б ФБЛЦЕ ДПУФХР Л ДБООЩН П УПУФПСОЙЙ ПВПТХДПЧБОЙС Й ЕЗП ХРТБЧМСАЭЙН ТЕЗЙУФТБН. ьФПФ ЙОФЕТЖЕКУ РТЕДПУФБЧМСЕФ ХОЙЖЙГЙТПЧБООЩК НЕФПД ДПУФХРБ Л РЕТЕДБАЭЙН ЧПЪНПЦОПУФСН Bluetooth. хТПЧЕОШ HCI ОБ ХРТБЧМСАЭЕК НБЫЙОЕ ПВНЕОЙЧБЕФУС ДБООЩНЙ Й ЛПНБОДБНЙ У НЙЛТПЛПДПН HCI Ч ПВПТХДПЧБОЙЙ Bluetooth. дТБКЧЕТ ДМС Host Controller Transport Layer (ФП ЕУФШ ЖЙЪЙЮЕУЛПК ЫЙОЩ) РТЕДПУФБЧМСЕФ ПВПЙН УМПСН HCI ЧПЪНПЦОПУФШ ПВНЕОЙЧБФШУС ДБООЩНЙ ДТХЗ У ДТХЗПН.
дМС ПДОПЗП Bluetooth-ХУФТПКУФЧБ УПЪДБЈФУС ПДЙО ХЪЕМ Netgraph ФЙРБ hci . HCI-ХЪЕМ ПВЩЮОП РПДЛМАЮБЕФУС Л ХЪМХ ДТБКЧЕТБ ХУФТПКУФЧБ Bluetooth (ЧИПДСЭЙК РПФПЛ) Й Л ХЪМХ L2CAP (ЙУИПДСЭЙК РПФПЛ). чУЕ ПРЕТБГЙЙ У HCI ДПМЦОЩ ЧЩРПМОСФШУС ОБ ХЪМЕ HCI, ОП ОЕ ОБ ХЪМЕ ДТБКЧЕТБ ХУФТПКУФЧБ. ч ЛБЮЕУФЧЕ ЙНЕОЙ РП ХНПМЮБОЙА ДМС ХЪМБ HCI ЙУРПМШЪХЕФУС devicehci >> . дПРПМОЙФЕМШОЩЕ РПДТПВОПУФЙ НПЦОП ОБКФЙ ОБ УРТБЧПЮОПК УФТБОЙГЕ ng_hci (4) .
пДОПК ЙЪ УБНПК ЮБУФП ЧЩРПМОСЕНПК ЪБДБЮ СЧМСЕФУС ПВОБТХЦЕОЙЕ Bluetooth-ХУФТПКУФЧ Ч ТБДЙХУЕ RF-ДПУФХРОПУФЙ. ьФБ ПРЕТБГЙС ОБЪЩЧБЕФУС ПРТПУПН (inquiry). пРТПУ Й ДТХЗЙЕ ПРЕТБГЙЙ, УЧСЪБООЩЕ У HCI, ЧЩРПМОСАФУС РТЙ РПНПЭЙ ХФЙМЙФЩ hccontrol (8) . рТЙНЕТ ОЙЦЕ РПЛБЪЩЧБЕФ, ЛБЛ ОБКФЙ ДПУФХРОЩЕ ХУФТПКУФЧБ Bluetooth. уРЙУПЛ ФБЛЙИ ХУФТПКУФЧ ДПМЦЕО ВЩФШ РПМХЮЕО Ч ФЕЮЕОЙЕ ОЕУЛПМШЛЙИ УЕЛХОД. ъБНЕФШФЕ, ЮФП ХДБМЈООЩЕ ХУФТПКУФЧБ ВХДХФ ПФЧЕЮБФШ ОБ ПРТПУ, ЕУМЙ ФПМШЛП ПОЙ ОБИПДСФУС Ч ТЕЦЙНЕ ПВОБТХЦЙЧБЕНПУФЙ (discoverable).
BD_ADDR СЧМСЕФУС ХОЙЛБМШОЩН БДТЕУПН ХУФТПКУФЧБ Bluetooth, ЧТПДЕ MAC-БДТЕУПЧ УЕФЕЧЩИ БДБРФЕТПЧ. ьФПФ БДТЕУ ОЕПВИПДЙН ДМС ДБМШОЕКЫЕК ТБВПФЩ У ХУФТПКУФЧПН. бДТЕУХ BD_ADDR НПЦОП РТЙУЧПЙФШ ХДПВОПЕ ДМС ЮФЕОЙС ЙНС. жБКМ /etc/bluetooth/hosts УПДЕТЦЙФ ЙОЖПТНБГЙА ПВ ЙЪЧЕУФОЩИ ИПУФБИ Bluetooth. ч УМЕДХАЭЕН РТЙНЕТЕ РПЛБЪБОП, ЛБЛ РПМХЮЙФШ ЙНС, ОБЪОБЮЕООПЕ ХДБМЈООПНХ ХУФТПКУФЧХ:
еУМЙ ЧЩ ЧЩРПМОЙФЕ ПРТПУ ОБ ДТХЗПН Bluetooth-ХУФТПКУФЧЕ, ОП ЧБЫ ЛПНРШАФЕТ ВХДЕФ ПРПЪОБО ЛБЛ your.host.name (ubt0) >> . йНС, ОБЪОБЮБЕНПЕ МПЛБМШОПНХ ХУФТПКУФЧХ, НПЦЕФ ВЩФШ Ч МАВПК НПНЕОФ ЙЪНЕОЕОП.
уЙУФЕНБ Bluetooth РТЕДПУФБЧМСЕФ ХУМХЗЙ РП УПЕДЙОЕОЙСН ФЙРБ ФПЮЛБ-ФПЮЛБ (РТЙ ЬФПН ЪБДЕКУФЧПЧБОЩ ФПМШЛП ДЧБ ХУФТПКУФЧБ Bluetooth) ЙМЙ ФПЮЛБ-ЛП-НОПЗЙН-ФПЮЛБН. ч РПУМЕДОЕН УМХЮБЕ УПЕДЙОЕОЙЕ ЙУРПМШЪХЕФУС УПЧНЕУФОП ОЕУЛПМШЛЙНЙ ХУФТПКУФЧБН Bluetooth. ч УМЕДХАЭЕН РТЙНЕТЕ РПЛБЪЩЧБЕФУС, ЛБЛ РПМХЮЙФШ УРЙУПЛ БЛФЙЧОЩИ ДМС МПЛБМШОПЗП ХУФТПКУФЧБ УПЕДЙОЕОЙК:
йДЕОФЙЖЙЛБФПТ УПЕДЙОЕОЙС ( connection handle ) РПМЕЪЕО, ЛПЗДБ ОЕПВИПДЙНП РТЕЛТБФЙФШ УПЕДЙОЕОЙЕ. ъБНЕФШФЕ, ЮФП ПВЩЮОП ОЕФ ОХЦДЩ ДЕМБФШ ЬФП ЧТХЮОХА. уФЕЛ ВХДЕФ БЧФПНБФЙЮЕУЛЙ ТБЪТЩЧБФШ ОЕБЛФЙЧОЩЕ УПЕДЙОЕОЙС.
пВТБФЙФЕУШ Л РПНПЭЙ РПУТЕДУФЧПН hccontrol help ДМС РПМХЮЕОЙС РПМОПЗП УРЙУЛБ ДПУФХРОЩИ HCI-ЛПНБОД. вПМШЫЙОУФЧП ЛПНБОД HCI ДМС ЧЩРПМОЕОЙС ОЕ ФТЕВХАФ РТБЧ БДНЙОЙУФТБФПТБ УЙУФЕНЩ.
27.4.4. Logical Link Control and Adaptation Protocol (L2CAP)
рТПФПЛПМ L2CAP (Logical Link Control and Adaptation Protocol) РТЕДПУФБЧМСЕФ ХУМХЗЙ РП ТБВПФЕ У ДБООЩНЙ, ЛБЛ ПТЙЕОФЙТПЧБООЩЕ ОБ УПЕДЙОЕОЙС, ФБЛ Й ВЕЪ ПТЙЕОФБГЙЙ ОБ ОЙИ, РТПФПЛПМБН ВПМЕЕ ЧЩУПЛПЗП ХТПЧОС У ЧПЪНПЦОПУФСНЙ НХМШФЙРМЕЛУЙТПЧБОЙС Й ПВЕУРЕЮЕОЙЕН ПРЕТБГЙК РП УЕЗНЕОФБГЙЙ Й ПВТБФОПК УВПТЛЕ. L2CAP РПЪЧПМСЕФ РТПФПЛПМБН ВПМЕЕ ЧЩУПЛПЗП ХТПЧОС Й РТЙМПЦЕОЙСН РЕТЕДБЧБФШ Й РПМХЮБФШ РБЛЕФЩ ДБООЩИ L2CAP ДМЙОПК ДП 64 лВБКФ.
L2CAP ПУОПЧБО ОБ ЛПОГЕРГЙЙ ЛБОБМПЧ . лБОБМПН СЧМСЕФУС МПЗЙЮЕУЛПЕ УПЕДЙОЕОЙЕ РПЧЕТИ УПЕДЙОЕОЙС РП ТБДЙПЛБОБМХ. лБЦДЩК ЛБОБМ РТЙЧСЪБО Л ОЕЛПФПТПНХ РТПФПЛПМХ РП РТЙОГЙРХ НОПЗЙЕ-Л-ПДОПНХ. оЕУЛПМШЛП ЛБОБМПЧ НПЗХФ ВЩФШ РТЙЧСЪБОЩ Л ПДОПНХ Й ФПНХ ЦЕ РТПФПЛПМХ, ОП ЛБОБМ ОЕ НПЦЕФ ВЩФШ РТЙЧСЪБО Л ОЕУЛПМШЛЙН РТПФПЛПМБН. лБЦДЩК РБЛЕФ L2CAP, РПМХЮБЕНЩК ЛБОБМПН, РЕТЕОБРТБЧМСЕФУС Л УППФЧЕФУФЧХАЭЕНХ РТПФПЛПМХ ВПМЕЕ ЧЩУПЛПЗП ХТПЧОС. оЕУЛПМШЛП ЛБОБМПЧ НПЗХФ УПЧНЕУФОП ЙУРПМШЪПЧБФШ ПДОП Й ФП ЦЕ ТБДЙПУПЕДЙОЕОЙЕ.
дМС ПДОПЗП Bluetooth-ХУФТПКУФЧБ УПЪДБЕФУС ПДЙО ХЪЕМ Netgraph ФЙРБ l2cap . хЪЕМ L2CAP ПВЩЮОП РПДЛМАЮБЕФУС Л ХЪМХ Bluetooth HCI (ОЙЦЕУФПСЭЙК) Й ХЪМБН Bluetooth-УПЛЕФПЧ (ЧЩЫЕУФПСЭЙЕ). рП ХНПМЮБОЙА ДМС ХЪМБ L2CAP ЙУРПМШЪХЕФУС ЙНС devicel2cap >> . дМС РПМХЮЕОЙС ДПРПМОЙФЕМШОПК ЙОЖПТНБГЙЙ ПВТБФЙФЕУШ Л УРТБЧПЮОПК УФТБОЙГЕ РП ng_l2cap (4) .
рПМЕЪОПК СЧМСЕФУС РТПЗТБННБ l2ping (8) , ЛПФПТБС НПЦЕФ ЙУРПМШЪПЧБФШУС ДМС РТПЧЕТЛЙ УЧСЪЙ У ДТХЗЙНЙ ХУФТПКУФЧБНЙ. оЕЛПФПТЩЕ ТЕБМЙЪБГЙЙ Bluetooth НПЗХФ ОЕ ЧПЪЧТБЭБФШ ЧУЕ ДБООЩЕ, РПУЩМБЕНЩЕ ЙН, ФБЛ ЮФП 0 bytes Ч УМЕДХАЭЕН РТЙНЕТЕ — ЬФП ОПТНБМШОП.
хФЙМЙФБ l2control (8) ЙУРПМШЪХЕФУС ДМС ЧЩРПМОЕОЙС ТБЪМЙЮОЩИ ПРЕТБГЙК У ХЪМБНЙ L2CAP. ч ЬФПН РТЙНЕТЕ РПЛБЪБОП, ЛБЛ РПМХЮЙФШ УРЙУПЛ МПЗЙЮЕУЛЙИ УПЕДЙОЕОЙК (ЛБОБМПЧ) Й РЕТЕЮЕОШ ТБДЙПУПЕДЙОЕОЙК МПЛБМШОПЗП ХУФТПКУФЧБ:
еЭЈ ПДОЙН ДЙБЗОПУФЙЮЕУЛЙН ЙОУФТХНЕОФПН СЧМСЕФУС btsockstat (1) . пОБ ЧЩРПМОСЕФ ДЕКУФЧЙС, РПДПВОЩЕ ФЕН, ЮФП ПВЩЮОП ЧЩРПМОСЕФ netstat (1) , ОП УП УФТХЛФХТБНЙ ДБООЩИ, УЧСЪБООЩИ У ТБВПФПК Ч УЕФЙ Bluetooth. ч РТЙНЕТЕ ОЙЦЕ ПРЙУЩЧБЕФУС ФП ЦЕ УБНПЕ МПЗЙЮЕУЛПЕ УПЕДЙОЕОЙЕ, ЮФП Й У l2control (8) ЧЩЫЕ.
27.4.5. рТПФПЛПМ RFCOMM
рТПФПЛПМ RFCOMM ЬНХМЙТХЕФ РПУМЕДПЧБФЕМШОЩЕ РПТФЩ РПЧЕТИ РТПФПЛПМБ L2CAP. пО ПУОПЧБО ОБ ETSI-УФБОДБТФЕ TS 07.10. RFCOMM РТЕДУФБЧМСЕФ УПВПК РТПУФПК ФТБОУРПТФОЩК РТПФПЛПМ, У ДПРПМОЙФЕМШОЩНЙ ЧПЪНПЦОПУФСНЙ РП ЬНХМСГЙЙ 9 ГЕРЕК РПУМЕДПЧБФЕМШОЩИ РПТФПЧ RS-232 (EIATIA-232-E). рТПФПЛПМ RFCOMM РПДДЕТЦЙЧБЕФ ПДОПЧТЕНЕООП ДП 60 УПЕДЙОЕОЙК (ЛБОБМПЧ RFCOMM) НЕЦДХ ДЧХНС ХУФТПКУФЧБНЙ Bluetooth.
ч ТБНЛБИ RFCOMM РПМОЩК ЛПННХОЙЛБГЙПООЩК НБТЫТХФ ЧЛМАЮБЕФ ДЧБ РТЙМПЦЕОЙС, ТБВПФБАЭЙЕ ОБ ТБЪОЩИ ХУФТПКУФЧБИ (ЛПОЕЮОЩЕ ЛПННХОЙЛБГЙПООЩЕ ФПЮЛЙ) У ЛПННХОЙЛБГЙПООЩН УЕЗНЕОФПН НЕЦДХ ОЙНЙ. RFCOMM РТЕДОБЪОБЮЕО ДМС УПЛТЩФЙС РТЙМПЦЕОЙК, ЙУРПМШЪХАЭЙИ РПУМЕДПЧБФЕМШОЩЕ РПТФЩ ХУФТПКУФЧ, Ч ЛПФПТЩИ ПОЙ ТБУРПМПЦЕОЩ. лПННХОЙЛБГЙПООЩК УЕЗНЕОФ РП УХФЙ СЧМСЕФУС Bluetooth-УЧСЪША ПФ ПДОПЗП ХУФТПКУФЧБ Л ДТХЗПНХ (РТСНПЕ УПЕДЙОЕОЙЕ).
RFCOMM ЙНЕЕФ ДЕМП У УПЕДЙОЕОЙЕН НЕЦДХ ХУФТПКУФЧБНЙ Ч УМХЮБЕ РТСНПЗП УПЕДЙОЕОЙС, ЙМЙ НЕЦДХ ХУФТПКУФЧПН Й НПДЕНПН Ч УЕФЕЧПН УМХЮБЕ. RFCOMM НПЦЕФ РПДДЕТЦЙЧБФШ Й ДТХЗЙЕ ЛПОЖЙЗХТБГЙЙ, ФБЛЙЕ, ЛБЛ НПДХМЙ, ТБВПФБАЭЙЕ ЮЕТЕЪ ВЕУРТПЧПДОХА ФЕИОПМПЗЙА Bluetooth У ПДОПК УФПТПОЩ Й РТЕДПУФБЧМСАЭЙЕ РТПЧПДОПЕ УПЕДЙОЕОЙЕ У ДТХЗПК УФПТПОЩ.
чП FreeBSD РТПФПЛПМ RFCOMM ТЕБМЙЪПЧБО ОБ ХТПЧОЕ УПЛЕФПЧ Bluetooth.
27.4.6. Pairing of Devices
рП ХНПМЮБОЙА УЧСЪШ Bluetooth ОЕ БХФЕОФЙЖЙГЙТХЕФУС, РПЬФПНХ МАВПЕ ХУФТПКУФЧП НПЦЕФ ПВЭБФШУС У МАВЩН ДТХЗЙН. хУФТПКУФЧП Bluetooth (ОБРТЙНЕТ, УПФПЧЩК ФЕМЕЖПО) НПЦЕФ ЪБДБФШ ПВСЪБФЕМШОПУФШ БХФЕОФЙЖЙЛБГЙЙ ДМС РТЕДПУФБЧМЕОЙС ПРТЕДЕМЈООПЗП УЕТЧЙУБ (Ч ЮБУФОПУФЙ, ХУМХЗХ ДПУФХРБ РП ЛПННХФЙТХЕНПК МЙОЙЙ). Bluetooth-БХФЕОФЙЖЙЛБГЙС ПВЩЮОП ЧЩРПМОСЕФУС ЮЕТЕЪ PIN-ЛПДЩ . PIN-ЛПД РТЕДУФБЧМСЕФ ЙЪ УЕВС ASCII-УФТПЛХ ДМЙОПК ДП 16 УЙНЧПМПЧ. рПМШЪПЧБФЕМШ ПВСЪБО ЧЧЕУФЙ ПДЙО Й ФПФ ЦЕ PIN-ЛПД ОБ ПВПЙИ ХУФТПКУФЧБИ. лБЛ ФПМШЛП ПО ЧЧЕДЈФ PIN-ЛПД, ПВБ ХУФТПКУФЧБ УЗЕОЕТЙТХАФ ЛМАЮ УЧСЪЙ . рПУМЕ ЬФПЗП ЛМАЮ НПЦЕФ ВЩФШ УПИТБОЈО МЙВП Ч УБНПН ХУФТПКУФЧЕ, МЙВП ОБ РПУФПСООПН ОПУЙФЕМЕ. ч УМЕДХАЭЙК ТБЪ ПВБ ХУФТПКУФЧБ ВХДХФ ЙУРПМШЪПЧБФШ ТБОЕЕ УЗЕОЕТЙТПЧБООЩК ЛМАЮ УПЕДЙОЕОЙС. рТПГЕДХТБ, ПРЙУБООБС ЧЩЫЕ, ОПУЙФ ОБЪЧБОЙЕ РПДЗПОЛЙ РБТЩ (pairing). ъБНЕФШФЕ, ЮФП ЕУМЙ ЛМАЮ УЧСЪЙ РПФЕТСО МАВПК ЙЪ УФПТПО, ФП РПДВПТ РБТЩ ДПМЦЕО ВЩФШ РПЧФПТЕО.
ъБ ПВТБВПФЛХ ЧУЕИ ЪБРТПУПЧ ОБ Bluetooth-БХФЕОФЙЖЙЛБГЙА ПФЧЕЮБЕФ ДБЕНПО hcsecd (8) . рП ХНПМЮБОЙА ЖБКМ ЛПОЖЙЗХТБГЙЙ ОБЪЩЧБЕФУС /etc/bluetooth/hcsecd.conf . рТЙНЕТ ТБЪДЕМБ, УПДЕТЦБЭЕЗП ЙОЖПТНБГЙА П УПФПЧПН ФЕМЕЖПОЕ У СЧОП ЪБДБООЩН PIN-ЛПДПН 1234 >> РТЙЧЕДЕО ОЙЦЕ:
лТПНЕ ДМЙОЩ, ОБ PIN-ЛПДЩ ОЕ ОБЛМБДЩЧБЕФУС ОЙЛБЛЙИ ПЗТБОЙЮЕОЙК. оЕЛПФПТЩЕ ХУФТПКУФЧБ (ОБРТЙНЕТ, Bluetooth-ЗБТОЙФХТЩ) НПЗХФ ЙНЕФШ ЖЙЛУЙТПЧБООЩК ЧУФТПЕООЩК PIN-ЛПД. рБТБНЕФТ -d РПЪЧПМСЕФ ЪБРХУФЙФШ hcsecd (8) ЛБЛ ОЕЖПОПЧЩК РТПГЕУУ, ЮФП ПВМЕЗЮБЕФ РТПУНПФТ РТПЙУИПДСЭЙИ УПВЩФЙК. ъБДБКФЕ РПМХЮЕОЙЕ РБТОПЗП ЛМАЮБ ОБ ХДБМЈООПН ХУФТПКУФЧЕ Й ЙОЙГЙЙТХКФЕ Bluetooth-УПЕДЙОЕОЙЕ У ЬФЙН ХУФТПКУФЧПН. хДБМЈООПЕ ХУФТПКУФЧП ДПМЦОП РПДФЧЕТДЙФШ РПМХЮЕОЙЕ РБТЩ Й ЪБРТПУЙФШ PIN-ЛПД. чЧЕДЙФЕ ФПФ ЦЕ УБНЩК ЛПД, ЮФП ОБИПДЙФУС Ч hcsecd.conf . фЕРЕТШ ЧБЫ рл Й ХДБМЈООПЕ ХУФТПКУФЧП УРБТЕОЩ. бМШФЕТОБФЙЧОЩН УРПУПВПН СЧМСЕФУС ЙОЙГЙБГЙС РТПГЕУУБ УПЪДБОЙС РБТЩ ОБ ХДБМЈООПН ХУФТПКУФЧЕ.
чП FreeBSD 5.5, 6.1 Й Ч ВПМЕЕ ОПЧЩИ, УМЕДХАЭБС УФТПЛБ НПЦЕФ ВЩФШ ДПВБЧМЕОБ Л /etc/rc.conf , ЮФПВЩ hcsecd ЪБРХУЛБМУС БЧФПНБФЙЮЕУЛЙ ЧП ЧТЕНС УФБТФБ УЙУФЕНЩ:
оЙЦЕ ДБЈФУС РТЙНЕТ ЧЩДБЮЙ РТПФПЛПМБ ЛПНБОДЩ hcsecd :
27.4.7. Service Discovery Protocol (SDP)
рТПФПЛПМ ПВОБТХЦЕОЙС УЕТЧЙУПЧ SDP ДБЈФ ЧПЪНПЦОПУФШ ЛМЙЕОФУЛЙН РТЙМПЦЕОЙСН ПУХЭЕУФЧМСФШ РПЙУЛ ХУМХЗ, РТЕДПУФБЧМСЕНЩИ УЕТЧЕТОЩНЙ РТЙМПЦЕОЙСНЙ, Б ФБЛЦЕ ИБТБЛФЕТЙУФЙЛ ЬФЙИ ХУМХЗ. ч РЕТЕЮЕОШ БФТЙВХФПЧ УЕТЧЙУБ ЧЛМАЮБЕФУС ФЙР ЛМБУУБ РТЕДМБЗБЕНПЗП УЕТЧЙУБ Й ЙОЖПТНБГЙС П НЕИБОЙЪНЕ ЙМЙ РТПФПЛПМЕ, ФТЕВХЕНПН ДМС ЙУРПМШЪПЧБОЙС УЕТЧЙУБ.
SDP РПДТБЪХНЕЧБЕФ ЛПННХОЙЛБГЙЙ НЕЦДХ SDP-УЕТЧЕТПН Й SDP-ЛМЙЕОФПН. уЕТЧЕТ РПДДЕТЦЙЧБЕФ УРЙУПЛ УЕТЧЙУПЧ, Ч ЛПФПТПН ПРЙУЩЧБАФУС РБТБНЕФТЩ УЕТЧЙУПЧ, УЧСЪБООЩИ У УЕТЧЕТПН. лБЦДБС ЪБРЙУШ ПВ ХУМХЗЕ УПДЕТЦЙФ ЙОЖПТНБГЙА ПВ ПДОПН УЕТЧЙУЕ. лМЙЕОФ НПЦЕФ ЪБРТПУЙФШ ЙОЖПТНБГЙА ПВ ПРТЕДЕМЈООПН УЕТЧЙУЕ, ПВУМХЦЙЧБЕНПН SDP-УЕТЧЕТПН, ЧЩДБЧБС SDP-ЪБРТПУ. еУМЙ ЛМЙЕОФ ЙМЙ РТЙМПЦЕОЙЕ, УЧСЪБООПЕ У ЛМЙЕОФПН, ТЕЫБФ ЧПУРПМШЪПЧБФШУС УЕТЧЙУПН, ФП ДМС ЕЗП ЙУРПМШЪПЧБОЙС ОЕПВИПДЙНП ПФЛТЩФШ ПФДЕМШОПЕ УПЕДЙОЕОЙЕ Л ХУФТПКУФЧХ, РТЕДПУФБЧМСАЭЕНХ УЕТЧЙУ. SDP РТЕДПУФБЧМСЕФ НЕИБОЙЪН ПВОБТХЦЕОЙС ХУМХЗ Й ЙИ РБТБНЕФТПЧ, ОП ОЕ ДБЈФ НЕИБОЙЪНБ ЙУРПМШЪПЧБОЙС ЬФЙИ УЕТЧЙУПЧ.
пВЩЮОП SDP-ЛМЙЕОФ ЧЩРПМОСЕФ РПЙУЛ ХУМХЗ ОБ ПУОПЧЕ ОЕЛПФПТЩИ ЦЕМБЕНЩИ ИБТБЛФЕТЙУФЙЛ ХУМХЗ. пДОБЛП ЙОПЗДБ ЧПЪОЙЛБЕФ ОЕПВИПДЙНПУФШ ЧЩСУОЙФШ РПМОЩК РЕТЕЮЕОШ ФЙРПЧ ХУМХЗ, РТЕДПУФБЧМСЕНЩИ SDP-УЕТЧЕТПН, ОЕ ЙНЕС ОЙЛБЛПК ЙОЖПТНБГЙЙ ПВ ЙНЕАЭЙИУС УЕТЧЙУБИ. фБЛПК РТПГЕУУ ЧУЕИ РТЕДМБЗБЕНЩИ УЕТЧЙУПЧ ОБЪЩЧБЕФУС ПВЪПТПН (browsing).
Bluetooth SDP УЕТЧЕТ sdpd (8) Й ЛМЙЕОФ У ЙОФЕТЖЕКУПН ЛПНБОДОПК УФТПЛЙ sdpcontrol (8) ЧЛМАЮЕОЩ Ч УФБОДБТФОХА РПУФБЧЛХ FreeBSD. ч УМЕДХАЭЕН РТЙНЕТЕ РПЛБЪБОП, ЛБЛ ЧЩРПМОСФШ ЪБРТПУ ОБ SDP-ПВЪПТ.
. Й ФБЛ ДБМЕЕ. ъБНЕФШФЕ, ЮФП ЛБЦДЩК УЕТЧЙУ ЙНЕЕФ РЕТЕЮЕОШ БФТЙВХФПЧ (ОБРТЙНЕТ, ЛБОБМ RFCOMM). ч ЪБЧЙУЙНПУФЙ ПФ УЕТЧЙУБ ЧБН НПЦЕФ РПФТЕВПЧБФШУС ЗДЕ-ФП УПИТБОЙФШ ЬФЙ БФТЙВХФЩ. оЕЛПФПТЩЕ ТЕБМЙЪБГЙЙ Bluetooth ОЕ РПДДЕТЦЙЧБАФ РТПУНПФТ УЕТЧЙУПЧ Й НПЗХФ ЧПЪЧТБЭБФШ РХУФПК УРЙУПЛ. ч ЬФПН УМХЮБЕ ЧПЪНПЦЕО РПЙУЛ ЛПОЛТЕФОПК ХУМХЗЙ. ч РТЙНЕТЕ ОЙЦЕ РПЛБЪБОП, ЛБЛ ЧЩРПМОЙФШ РПЙУЛ УМХЦВЩ OBEX Object Push (OPUSH):
чП FreeBSD РТЕДПУФБЧМЕОЙЕ УЕТЧЙУПЧ ЛМЙЕОФБН Bluetooth ПУХЭЕУФЧМСЕФУС УЕТЧЕТПН sdpd (8) . чП FreeBSD 5.5, 6.1 Й Ч ВПМЕЕ ОПЧЩИ, УМЕДХАЭБС УФТПЛБ НПЦЕФ ВЩФШ ДПВБЧМЕОБ Ч ЖБКМ /etc/rc.conf :
рПУМЕ ЬФПЗП sdpd ДБЕНПО НПЦЕФ ВЩФШ ЪБРХЭЕО У РПНПЭША:
чП FreeBSD 6.0, Й ЧП FreeBSD 5.X РЕТЕД 5.5, sdpd ОЕ ЙОФЕЗТЙТПЧБО Ч УЛТЙРФЩ ЪБЗТХЪЛЙ УЙУФЕНЩ. пО ДПМЦЕО ЪБРХУЛБФШУС БЧФПНБФЙЮЕУЛЙ ЛПНБОДПК:
рТЙМПЦЕОЙЕ ОБ МПЛБМШОПН УЕТЧЕТЕ, ЦЕМБАЭЕЕ РТЕДПУФБЧЙФШ УЕТЧЙУ Bluetooth ХДБМЕООЩН ЛМЙЕОФБН, ТЕЗЙУФТЙТХЕФ УЕТЧЙУ ЮЕТЕЪ МПЛБМШОПЗП ДБЕНПОБ SDP. рТЙНЕТ ФБЛПЗП РТЙМПЦЕОЙС — rfcomm_pppd (8) . рПУМЕ ЪБРХУЛБ ПОП ТЕЗЙУФТЙТХЕФ Bluetooth LAN УЕТЧЙУ ЮЕТЕЪ МПЛБМШОПЗП ДБЕНПОБ SDP.
уРЙУПЛ УЕТЧЙУПЧ, ЪБТЕЗЙУФТЙТПЧБООЩИ ЮЕТЕЪ МПЛБМШОЩК SDP УЕТЧЕТ, НПЦЕФ ВЩФШ РПМХЮЕО РХФЕН ЧЩДБЮЙ ЪБРТПУБ ОБ РТПУНПФТ SDP ЮЕТЕЪ МПЛБМШОЩК ЛПОФТПМШОЩК ЛБОБМ:
27.4.8. дПУФХР Л УЕФЙ РП ЛПННХФЙТХЕНПК МЙОЙЙ УЧСЪЙ (DUN) Й РП РТПФПЛПМХ PPP (LAN)
нПДХМШ ТБВПФЩ У ЛПННХФЙТХЕНЩН ДПУФХРПН Л УЕФЙ (DUN — Dial-Up Networking) Ч ВПМШЫЙОУФЧЕ УМХЮБЕЧ ЙУРПМШЪХЕФУС У НПДЕНБНЙ Й УПФПЧЩНЙ ФЕМЕЖПОБНЙ. ьФПФ НПДХМШ РПЛТЩЧБЕФ УМЕДХАЭЙЕ УМХЮБЙ:
УПФПЧЩК ФЕМЕЖПО ЙМЙ НПДЕН ЙУРПМШЪХЕФУС ЧНЕУФЕ У ЛПНРШАФЕТПН Ч ЛБЮЕУФЧЕ ВЕУРТПЧПДОПЗП НПДЕНБ ДМС РПДЛМАЮЕОЙС Л УЕТЧЕТХ ЛПННХФЙТХЕНПЗП ДПУФХРБ Ч йОФЕТОЕФ, ЙМЙ ДТХЗПК ЛПННХФЙТХЕНПК ХУМХЗЕ;
УПФПЧЩК ФЕМЕЖПО ЙМЙ НПДЕН ЙУРПМШЪХЕФУС ЛПНРШАФЕТПН ДМС РТЙЈНБ ЧИПДСЭЙИ УПЕДЙОЕОЙК.
нПДХМШ ДПУФХРБ Л УЕФЙ РП РТПФПЛПМХ PPP (Network Access with PPP — LAN) НПЦЕФ ЙУРПМШЪПЧБФШУС Ч УМЕДХАЭЙИ УЙФХБГЙСИ:
ДПУФХР Л мчу ДМС ПДОПЗП Bluetooth-ХУФТПКУФЧБ;
ДПУФХР Л мчу ДМС ОЕУЛПМШЛЙИ Bluetooth-ХУФТПКУФЧ;
УЧСЪШ НЕЦДХ ДЧХНС рл (РТЙ РПНПЭЙ РТПФПЛПМБ PPP РПЧЕТИ ЬНХМЙТХЕНПЗП РПУМЕДПЧБФЕМШОПЗП ЛБОБМБ УЧСЪЙ).
чП FreeBSD ПВБ УМХЮБС ТЕБМЙЪХАФУС РТЙ РПНПЭЙ УЕТЧЙУОЩИ РТПЗТБНН ppp (8) Й rfcomm_pppd (8) — ЬФП ПВТБВПФЮЙЛ, РТЕПВТБЪХАЭЙК RFCOMM-УПЕДЙОЕОЙС Bluetooth Ч ОЕЮФП, У ЮЕН НПЦЕФ ТБВПФБФШ PPP. рЕТЕД ФЕН, ЛБЛ ЙУРПМШЪПЧБФШ МАВПК НПДХМШ, Ч ЖБКМЕ /etc/ppp/ppp.conf ДПМЦОБ ВЩФШ УПЪДБОБ ОПЧБС PPP-НЕФЛБ. рТЙНЕТЩ ЙУРПМШЪПЧБОЙС НПЦОП ОБКФЙ Ч УРТБЧПЮОПК УФТБОЙГЕ Л rfcomm_pppd (8) .
ч УМЕДХАЭЕН РТЙНЕТЕ rfcomm_pppd (8) ВХДЕФ ЙУРПМШЪПЧБФШУС ДМС ПФЛТЩФЙС RFCOMM-УПЕДЙОЕОЙС Л ХДБМЈООПНХ ХУФТПКУФЧХ У BD_ADDR 00:80:37:29:19:a4 ОБ DUN RFCOMM-ЛБОБМЕ. тЕБМШОЩК ОПНЕТ RFCOMM-ЛБОБМБ ВХДЕФ РПМХЮБФШУС У ХДБМЈООПЗП ХУФТПКУФЧБ ЮЕТЕЪ SDP. чПЪНПЦОП ХЛБЪБФШ RFCOMM-ЛБОБМ ЧТХЮОХА, Й Ч ЬФПН УМХЮБЕ rfcomm_pppd (8) ОЕ ВХДЕФ ЧЩРПМОСФШ SDP-ЪБРТПУ. дМС ОБИПЦДЕОЙС RFCOMM-ЛБОБМБ ОБ ХДБМЈООПН ХУФТПКУФЧЕ ЙУРПМШЪХКФЕ ХФЙМЙФХ sdpcontrol (8) .
дМС ФПЗП, ЮФПВЩ ПТЗБОЙЪПЧБФШ УЕТЧЙУ Network Access with PPP (LAN), ОЕПВИПДЙНП ЪБРХУФЙФШ УЕТЧЕТ sdpd (8) . ч ЖБКМЕ /etc/ppp/ppp.conf ДПМЦОБ ВЩФШ УПЪДБОБ ОПЧБС ЪБРЙУШ ДМС ЛМЙЕОФПЧ LAN. рТЙНЕТЩ НПЦОП ОБКФЙ Ч УРТБЧЛЕ РП rfcomm_pppd (8) . оБЛПОЕГ, ЪБРХУФЙФЕ RFCOMM PPP УЕТЧЕТ ОБ УХЭЕУФЧХАЭЕН ОПНЕТЕ ЛБОБМБ RFCOMM. уЕТЧЕТ RFCOMM PPP БЧФПНБФЙЮЕУЛЙ ЪБТЕЗЙУФТЙТХЕФ Bluetooth LAN УЕТЧЙУ ЮЕТЕЪ МПЛБМШОЩК SDP ДБЕНПО. ч РТЙНЕТЕ ОЙЦЕ РПЛБЪБОП, ЛБЛ ЪБРХУФЙФШ УЕТЧЕТ RFCOMM PPP.
27.4.9. OBEX Object Push (OPUSH) Profile
OBEX СЧМСЕФУС ЫЙТПЛП ЙУРПМШЪХЕНЩН РТПФПЛПМПН ДМС РТПУФПК РЕТЕДБЮЙ ЖБКМПЧ НЕЦДХ НПВЙМШОЩНЙ ХУФТПКУФЧБНЙ. ч ПУОПЧОПН ПО ЙУРПМШЪХЕФУС Ч ЛПННХОЙЛБГЙСИ ЮЕТЕЪ ЙОЖТБЛТБУОЩК РПТФ ДМС РЕТЕДБЮЙ ЖБКМПЧ НЕЦДХ ОПХФВХЛБНЙ ЙМЙ лрл, Б ФБЛЦЕ ДМС РЕТЕУЩМЛЙ ЧЙЪЙФОЩИ ЛБТФПЮЕЛ ЙМЙ ЛБМЕОДБТОЩИ РМБОПЧ НЕЦДХ УПФПЧЩНЙ ФЕМЕЖПОБНЙ Й ДТХЗЙНЙ ХУФТПКУФЧБНЙ У РЕТУПОБМШОЩНЙ ЙОЖПТНБГЙПООЩНЙ НЕОЕДЦЕТБНЙ.
уЕТЧЕТ Й ЛМЙЕОФ OBEX ТЕБМЙЪПЧБОЩ Ч ЧЙДЕ РБЛЕФБ УФПТПООЕЗП ТБЪТБВПФЮЙЛБ obexapp , ЛПФПТЩК ДПУФХРЕО Ч ЧЙДЕ РПТФБ comms/obexapp.
лМЙЕОФ OBEX ЙУРПМШЪХЕФУС ДМС РПУЩМЛЙ ЙМЙ РТЙЈНБ ПВЯЕЛФПЧ У УЕТЧЕТБ OBEX. пВЯЕЛФПН, Л РТЙНЕТХ, НПЦЕФ ВЩФШ ЧЙЪЙФОБС ЛБТФПЮЛБ ЙМЙ ХЛБЪБОЙЕ. лМЙЕОФ OBEX НПЦЕФ РПМХЮЙФШ ОПНЕТ RFCOMM-ЛБОБМБ, ХЛБЪБЧ ЧНЕУФП ОЕЗП ЙНС УЕТЧЙУБ. рПДДЕТЦЙЧБАФУС УМЕДХАЭЙЕ ЙНЕОБ УЕТЧЙУБ: IrMC, FTRN Й OPUSH. лБОБМ RFCOMM НПЦОП ЪБДБФШ ЕЗП ОПНЕТПН. оЙЦЕ ДБЈФУС РТЙНЕТ УЕБОУБ OBEX, ЗДЕ У УПФПЧПЗП ФЕМЕЖПОБ ЪБВЙТБЕФУС ПВЯЕЛФ У ЙОЖПТНБГЙЕК ПВ ХУФТПКУФЧЕ, Б ОПЧЩК ПВЯЕЛФ (ЧЙЪЙФОБС ЛБТФПЮЛБ) РЕТЕДБЈФУС Ч ЛБФБМПЗ УПФПЧПЗП ФЕМЕЖПОБ.
дМС ФПЗП, ЮФПВЩ РТЕДПУФБЧЙФШ УЕТЧЙУ OBEX Push, ДПМЦЕО ВЩФШ ЪБРХЭЕО УЕТЧЕТ sdpd (8) . дПМЦЕО ВЩФШ УПЪДБО ЛПТОЕЧПК ЛБФБМПЗ, Ч ЛПФПТПН ВХДХФ УПИТБОСФШУС ЧУЕ РПУФХРБАЭЙЕ ПВЯЕЛФЩ. рП ХНПМЮБОЙА ЛПТОЕЧЩН ЛБФБМПЗПН СЧМСЕФУС /var/spool/obex . оБЛПОЕГ, ЪБРХУФЙФЕ OBEX УЕТЧЕТ ОБ УХЭЕУФЧХАЭЕН ОПНЕТЕ ЛБОБМБ RFCOMM. OBEX УЕТЧЕТ БЧФПНБФЙЮЕУЛЙ ЪБТЕЗЙУФТЙТХЕФ УЕТЧЙУ OBEX Object Push ЮЕТЕЪ МПЛБМШОПЗП ДБЕНПОБ SDP. ч РТЙНЕТЕ ОЙЦЕ РПЛБЪБОП, ЛБЛ ЪБРХУФЙФШ OBEX-УЕТЧЕТ.
27.4.10. рТПЖЙМШ РПУМЕДПЧБФЕМШОПЗП РПТФБ (SPP)
рТПЖЙМШ РПУМЕДПЧБФЕМШОПЗП РПТФБ (SPP — Serial Port Profile) РПЪЧПМСЕФ Bluetooth-ХУФТПКУФЧБН ПУХЭЕУФЧМСФШ ЬНХМСГЙА РПУМЕДПЧБФЕМШОПЗП РПТФБ RS232 (ЙМЙ РПДПВОПЗП). ьФПФ РТПЖЙМШ РПЛТЩЧБЕФ УМХЮБЙ, ЛБУБАЭЙЕУС ТБВПФЩ ХОБУМЕДПЧБООЩИ РТЙМПЦЕОЙК У Bluetooth Ч ЛБЮЕУФЧЕ ЪБНЕОЩ ЛБВЕМШОПНХ УПЕДЙОЕОЙА, РТЙ ЬФП ЙУРПМШЪХЕФУС БВУФТБЛГЙС ЧЙТФХБМШОПЗП РПУМЕДПЧБФЕМШОПЗП РПТФБ.
хФЙМЙФБ rfcomm_sppd (1) ТЕБМЙЪХЕФ РТПЖЙМШ РПУМЕДПЧБФЕМШОПЗП РПТФБ. ч ЛБЮЕУФЧЕ ЧЙТФХБМШОПЗП РПУМЕДПЧБФЕМШОПЗП РПТФБ ЙУРПМШЪХЕФУС РУЕЧДП-ФЕТНЙОБМ. ч РТЙНЕТЕ ОЙЦЕ РПЛБЪБОП, ЛБЛ РПДЛМАЮЙФШУС Л УЕТЧЙУХ Serial Port ХДБМЈООПЗП ХУФТПКУФЧБ. ъБНЕФШФЕ, ЮФП ЧЩ ОЕ ХЛБЪЩЧБЕФЕ RFCOMM-ЛБОБМ — rfcomm_sppd (1) НПЦЕФ РПМХЮЙФШ ЕЗП У ХДБМЈООПЗП ХУФТПКУФЧБ ЮЕТЕЪ SDP. еУМЙ ЧЩ ИПФЙФЕ РЕТЕПРТЕДЕМЙФШ ЬФП, ХЛБЦЙФЕ RFCOMM-ЛБОБМ СЧОП Ч ЛПНБОДОПК УФТПЛЕ.
рПУМЕ РПДЛМАЮЕОЙС РУЕЧДП-ФЕТНЙОБМ НПЦОП ЙУРПМШЪПЧБФШ ЛБЛ РПУМЕДПЧБФЕМШОЩК РПТФ:
27.4.11. тЕЫЕОЙЕ РТПВМЕН
27.4.11.1. хДБМЈООПЕ ХУФТПКУФЧП ОЕ РПДЛМАЮБЕФУС
оЕЛПФПТЩЕ УФБТЩЕ Bluetooth-ХУФТПКУФЧБ ОЕ РПДДЕТЦЙЧБАФ РЕТЕЛМАЮЕОЙЕ ТПМЕК. рП ХНПМЮБОЙА, ЛПЗДБ FreeBSD РПДФЧЕТЦДБЕФ ОПЧПЕ УПЕДЙОЕОЙЕ, ПОБ РЩФБЕФУС ЧЩРПМОЙФШ РЕТЕЛМАЮЕОЙЕ ТПМЙ Й УФБФШ ЧЕДХЭЙН ХУФТПКУФЧПН. хУФТПКУФЧБ, ЛПФПТЩЕ ЬФП ОЕ РПДДЕТЦЙЧБАФ, ОЕ УНПЗХФ РПДЛМАЮЙФШУС. ъБНЕФШФЕ, ЮФП РЕТЕЛМАЮЕОЙЕ ТПМЕК ЧЩРПМОСЕФУС РТЙ ХУФБОПЧМЕОЙЙ ОПЧПЗП УПЕДЙОЕОЙС, РПЬФПНХ ОЕЧПЪНПЦОП ЧЩСУОЙФШ, РПДДЕТЦЙЧБЕФ МЙ ХДБМЈООПЕ ХУФТПКУФЧП РЕТЕЛМАЮЕОЙЕ ТПМЕК. оБ МПЛБМШОПК НБЫЙОЕ ЙНЕЕФУС ЧПЪНПЦОПУФШ ПФЛМАЮЙФШ РЕТЕЛМАЮЕОЙЕ ТПМЕК РТЙ РПНПЭЙ HCI-РБТБНЕФТБ:
27.4.11.2. юФП-ФП ЙДЈФ ОЕ ФБЛ, НПЦОП МЙ РПУНПФТЕФШ, ЮФП Ч ФПЮОПУФЙ РТПЙУИПДЙФ?
дБ, НПЦОП. чПУРПМШЪХКФЕУШ РБЛЕФПН УФПТПООЕЗП ТБЪТБВПФЮЙЛБ, hcidump ЛПФПТЩК ДПУФХРЕО Ч ЧЙДЕ РПТФБ comms/hc >hcidump РПИПЦБ ОБ tcpdump (1) . пОБ НПЦЕФ ВЩФШ ЙУРПМШЪПЧБОБ ДМС ЧЩЧПДБ ОБ ФЕТНЙОБМ УПДЕТЦЙНПЗП Bluetooth-РБЛЕФПЧ Й УВТБУЩЧБФШ РБЛЕФЩ Bluetooth Ч ЖБКМ.
| рТЕД.љ | оБЧЕТИ | љуМЕД. |
| 27.3. вЕУРТПЧПДОЩЕ УЕФЙљ | оБЮБМП | љ27.5. нПУФЩ |
рП ЧПРТПУБН, УЧСЪБООЩН У FreeBSD, РТПЮЙФБКФЕ ДПЛХНЕОФБГЙА РТЕЦДЕ ЮЕН РЙУБФШ Ч .
рП ЧПРТПУБН, УЧСЪБООЩН У ЬФПК ДПЛХНЕОФБГЙЕК, РЙЫЙФЕ Ч ТБУУЩМЛХ .





