журнал bluetooth hci что такое

Русские Блоги

Android Bluetooth HCI журнал подробно

0. Введение

Для разработчиков Bluetooth журнал HCI может помочь нам лучше проанализировать проблему и понять протокол Bluetooth, так же как при разработке сети необходимо использовать Wireshark для анализа сетевых протоколов.

Эта статья в основном представляетРоль журнала HCIКак получить копию журнала HCIИ объединитьПрактический примерПроиллюстрироватьКак анализировать журнал HCI

1. Введение в журнал HCI

1.1 Функция журнала HCI

Журнал HCI используется для анализа поведения взаимодействия между устройствами BluetoothСоответствует ли это ожиданиям?Исполните с спецификацией Bluetooth, В повседневной разработке журнал HCI обычно используется для нескольких вещей:

анализ спроса: Мобильный телефон должен быть оснащен селфи-палкой Bluetooth для управления фотосъемкой. Через журнал HCI вы можете наблюдать, какой профиль Bluetooth используется конкурирующими продуктами при реализации этой функции? Пока мы знаем, что профиль Bluetooth используется, у нас есть идея реализовать эту функцию.

Изучение протокола Bluetooth: Используйте журнал HCI, чтобы помочь в изучении протокола Bluetooth, так же, как изучение TCP / IP путем захвата пакетов через wireshark

1.2 Базовая архитектура системы Bluetooth

Сказав так много использований журнала HCI, если мы хотим лучше понять журнал HCI, нам нужно сначала взглянуть на положение HCI во всей архитектуре базовой системы Bluetooth. Для облегчения понимания я буду использовать архитектуру базовой системы Bluetooth3 слоя абстракции

HCI (Host controller Interface): Когда верхний уровень вызывает Bluetooth API,Не будет напрямую манипулировать нижним слоем Bluetooth(Контроллер) связанный интерфейс, ноОтправьте Команду соответствующей операции Контроллеру через HCIИ затем вернуть результат выполнения после того, как нижний уровень выполнит команду,То есть контроллер отправляет событие в HCI, а затем HCI уведомляет прикладной уровеньHCI сыграласредний слойРоль.

Controller: Контроллер находится на самом низком уровне, который можно понимать как чип Bluetooth на нашем мобильном телефоне.

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

Абстрактная архитектура Bluetooth

Полная базовая архитектура системы Bluetooth более сложна, поэтому мы не будем вдаваться в подробности. Заинтересованные студенты могут обратиться к спецификации Bluetooth.Core_v4.2.pdf, Есть подробные определения и введения. Когда мы проанализируем журнал HCI позже, мы также будем ссылаться на контент, определенный в этой спецификации.

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

Полная архитектура Bluetooth

2. Как захватить журнал HCI

Открыть в настройках разработчикаВключить журнал сбора информации Bluetooth HCIПереключатель, система Android будет автоматически собирать журнал HCI и сохранять его на телефоне.

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

Включить журнал сбора информации Bluetooth HCI

Различные платформы хранят журнал HCI по разным путям.MTKПуть для хранения журнала HCI/sdcard/mtklog/btlog/btsnoop_hci.logQualcommПуть хранения/sdcard/btsnoop_hci.log

Если в указанном выше пути нет журнала HCI, мы все равно можем использоватьФайл конфигурации Bluetooth bt_stack.conf для просмотра пути, Bt_stack.conf находится/etc/bluetooth/Под тропой. Путь к журналу HCI пройденBtSnoopFileName=/sdcard/btsnoop_hci.logЧтобы настроить это.

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

Путь регистрации HCI на мобильном телефоне

И bt_stack.conf через исходный код Android/system/bt/conf/bt_stack.confНастроить.

3. Инструмент анализа журнала HCI

Frontline ComProbe Protocol Analysis SystemЭто инструмент анализа журнала протокола Bluetooth, предоставленный Frontline. Компания Frontine в основном используется для захвата устройств регистрации Bluetooth Air Sniff. Давайте поговорим о регистрации Air Sniff позже. Приобрести их инструмент захвата пакетов будет поставляться с инструментом анализа журнала, вы также можетеFrontine официальный сайтЗагрузите и загрузите, вам нужно заполнить некоторую информацию при загрузке, студенты, которые находят проблемы, могут перейти к другимНеофициальный сайтСкачивать.

После завершения установки найдите Frontline ComProbe Protocol Analysis System в меню «Пуск» и используйте Capture File Viewer, чтобы открыть журнал HCI.

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

ComProbe Protocol Analysis System

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

Шаг 1. Откройте журнал HCI

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

Выберите тип журнала

Step 2. После открытия файла журнала выберитеFrame DisplayВы можете увидеть журнал HCI, который мы взяли

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

Шаг 2. Выберите Frame Display

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

Основной интерфейс Frame Display

Step 3В окне Frame Display имеется множество вкладок, которые могут отображать различные типы протоколов в стеке протоколов, например: журналы, относящиеся к HCI, размещаются на вкладке HCI,Hands-Free(HFP)принадлежатПрофиль Bluetooth на прикладном уровне, Журналы операций, связанных с HFP, размещаются на вкладке Hands-Free.

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

4. Журнал HCI-Bluetooth процесс сканирования устройства анализа процесса

Прикладной уровень вызываетstartDiscovery()При выполнении сканирования устройства,HostВышлю один через HCIInquiry HCI CommandдайтеController, Далее мы изучим процесс запроса, проанализировав журнал HCI. Прежде чем анализировать журнал HCI, давайте изучимПакет команд HCIСтруктура.

4.1 Структура пакета данных HCI Command

Структура пакета данных команды HCI определена в спецификации основного протокола BluetoothCore_v4.2.pdfв.

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

Каталог спецификаций Bluetooth Core

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

For the Link Control commands, the OGF is defined as 0x01

следовательно,Код операции запроса0x0001

Интеллектуальная рекомендация

совместный запрос mysql с тремя таблицами (таблица сотрудников, таблица отделов, таблица зарплат)

1. Краткое изложение проблемы: (внизу есть инструкция по созданию таблицы, копирование можно непосредственно практиковать с помощью (mysql)) Найдите отделы, в которых есть хотя бы один сотрудник. Отоб.

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

[Загрузчик классов обучения JVM] Третий день пользовательского контента, связанного с загрузчиком классов

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

IP, сеанс и cookie

IP, сеанс и cookie IP IP заблокирован Почему заблокирован IP Как решить проблему блокировки IP Как получить IP-адрес прокси Используй прокси Подтвердите действительность IP-адреса прокси О прокси http.

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

[List.toarray () позволяет избежать ошибки принудительного применения] Список универсальных используемых.

Источник

Все о функциях разработчика в вашем телефоне

Константин Иванов

Настройки, которые используются для отладки и для разработки приложений, спрятаны в вашем телефоне – спрятаны в прямом смысле слова. Многие из нас идут в соответствующий раздел меню, чтобы запустить отладку USB или переключиться к рабочему модулю ART, но кроме этого, здесь имеется целый список настроек. Большая часть никогда вам не понадобится, но разве не интересно узнать, что скрывается в недрах вашего устройства?

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

«Разблокируем» функции разработчика в телефоне

Как говорилось выше, эти функции изначально скрыты. Это имеет смысл, поскольку найти их просто, а большинству людей они попросту не нужны. Для того, чтобы добраться до них, идем в раздел «Об устройстве» и ищем там пункт «Номер сборки». После пяти быстрых тапов появляется диалоговое окно – теперь устройство считает вас разработчиком. Только попробуйте ничего не испортить, ладно? Ну, или делайте что хотите – тоже вариант. Так или иначе, возможность заставить ваш телефон перестать работать всегда имеется.

А теперь посмотрим на предложенные функции повнимательнее.

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

Настройки

журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое

Понятно, что большинству пользователей все эти настройки ни на что не сдались. Кроме того, лезть туда и нажимать на пункты меню ради самого процесса — не лучшая идея. Но всегда стоит знать, что вообще можно сделать, хотя бы и просто для того, чтобы не делать этого никогда.

Надеемся, что наш рассказ просветил вас немного по вопросу этих настроек и опций, записанных непонятными словами. Кстати, в зависимости от выбранного языка системы, производителя и версии ОС Android, набор пунктов может несколько отличаться разделами и их названиями.

Источник

Bluetooth: Архитектура — Host Controller Interface (HCI)

Нижние программные уровни стека Bluetooth
журнал bluetooth hci что такое. Смотреть фото журнал bluetooth hci что такое. Смотреть картинку журнал bluetooth hci что такое. Картинка про журнал bluetooth hci что такое. Фото журнал bluetooth hci что такое
Хост – устройство, к которому подключен модуль Bluetooth.
На рисунке изображен обзор нижних программных уровней. Аппаратное ПО (микропрограмма) HCI преобразует команды интерфейса контроллера хоста в команды для физического оборудования Bluetooth (для Baseband и менеджера связей), а так же управляет статусными регистрами, регистрами управления и регистрами событий.
Между драйвером HCI и аппаратным ПО HCI могут существовать несколько слоев. Эти промежуточные слои не контролируют данные, передаваемые транспортным уровнем хост контроллера.
Драйвер HCI осуществляет обмен данными и командами с аппаратным ПО HCI. Для обеспечения передачи этих данных служит драйвер транспортного уровня хост контроллера (драйвер физической шины).
Хост получает асинхронные уведомления о событиях HCI независимо от того, как используется транспортный уровень. Когда хост обнаруживает, что произошло событие, он анализирует пакеты полученных событий для того, чтобы определить, какое событие произошло.

Транспортный уровень контроллера хоста
Стек драйверов хоста имеет транспортный уровень между драйвером контроллера хоста и хостом. Транспортный уровень прозрачен для передачи данных. Драйвер контроллера хоста, являющийся интерфейсом к контроллеру, должен быть независимым от способа передачи данных. К способу передачи данных не должны предъявляться требования знания данных, передаваемых драйвером контроллера самому контроллеру. Это позволяет изменять интерфейс (HCI) или контроллер, не влияя на транспортный уровень.

Обзор команд и событий HCI

Общие события — события могут возникать от команд или других событий, возникающий в любое время.
Установка устройства — команды используются для переключения контроллера в определенное состояние.
Контроллер управления потоком — эти команды совместно с событиями используются для управления потоком от хоста к контроллеру.
Информация контроллера — эти команды позволяют хосту обнаруживать локальную информацию об устройстве.
Конфигурация контроллера — эти команды совместно с событиями позволяют настраивать общие конфигурационные параметры.
Обнаружение устройств эти команды совместно с событиями позволяют устройству обнаруживать другие устройства.
Установка соединения — эти команды совместно с событиями позволяют устройству подключаться к другому устройству.
Информация о другом устройстве — эти команды совместно с событиями позволяют обнаруживать информацию о других устройствах.
Синхронные соединения — эти команды совместно с событиями позволяют создавать синхронные соединения.
Состояние соединения — эти команды совместно с событиями позволяют настраивать связь, преимущественно для операций, уменьшающих энергопотребление.
Структура сети Piconet — эти команды совместно с событиями позволяют обнаруживать и настраивать сеть Piconet.
Качество обслуживания — эти команды совместно с событиями позволяют настраивать параметры качества обслуживания.
Физические связи — эти команды совместно с событиями позволяют настраивать физическую связь.
Управление потоком хоста — эти команды совместно с событиями позволяют использовать управление потоком данных совместно с хостом.
Информация о связи — эти команды совместно с событиями позволяют читать информацию о связи.
Аутентификация и шифрование — эти команды совместно с событиями позволяют аутентифицировать другое устройство и зашифровать связь с ним.
Тестирование — эти команды совместно с событиями позволяют переводить устройство в тестовый режим.

Управление потоком HCI

Управление потоком от хоста к контроллеру
Управление потоком в этом направлении используется для предотвращения переполнения буфера данных контроллера с данными ACL, направляющимися на другое устройство (используя хендл соединения), которое не отвечает. Хост управляет буферами данных контроллера.

Управление потоком от контроллера к хосту
В некоторых реализациях может быть необходимым управление потоком в направлении от контроллера к хосту. Данный набор команд может использоваться для включения или отключения управления потоком в данном направлении.

Источник

Журнал Bluetooth HCI не сгенерирован

Я запускаю Android 4.4.2, и я включил «журнал отслеживания Bluetooth HCI», как описано здесь. Sniffing / logging собственный Android-трафик Bluetooth Bluetooth

После включения и выключения Bluetooth я перезагрузил телефон. Я не смог найти файл журнала в ожидаемом месте:

Как я могу добраться до btsnoop_hci.log?

По моему опыту, функция отслеживания Bluetooth HCI требует, чтобы ваше устройство было внедрено. На моем укорененном Samsung Galaxy S GT-I9000 он отлично работает, хотя на моей ненарушенной Galaxy S3 Neo эта функция не работает.

Кроме того, вы должны убедиться, что вы случайно не удалили файл. Всякий раз, когда я удаляю файл, мне нужно снова включить функцию отслеживания Bluetooth, чтобы система заново создала файл журнала.

Пожалуйста, игнорируйте любые предложения, которые требуют, чтобы телефон был внедрен, чтобы получить журнал HCI. Это, конечно, не так. Вы можете видеть, где ваш телефон хранит журнал hci, читая файл bt_stack.conf. Пытаться

Вы увидите строку, которая выглядит так:

Обычно, но не всегда (зависит от телефона) от корня sdcard. В этом файле конфигурации есть строка, которая отражает, действительно ли ведение журнала hci включено или нет

Переключение опции «Включить протокол Bluetooth HCI snoop» в настройках разработчика СЛЕДУЕТ изменить его на

Я говорю «нужно», потому что для некоторых телефонов это просто не работает. Это редко, но бывает. Вам следует:

Если ни один из трех вариантов не работает, вам не повезло. Ведение журнала BT Snoop hci немного непоследовательно для разных телефонов. Я видел несколько телефонов, на которых я просто не мог заставить его работать, неважно, что, но в большинстве случаев вы должны это сделать. Корневой телефон не является требованием

Источник

Журнал bluetooth hci что такое

Bluetooth является беспроводной технологией для создания персональных сетей на расстоянии не более 10 метров, работающей на частоте 2.4 ГГц, которая не подлежащит лицензированию. Обычно такие сети формируются из портативных устройств, таких, как сотовые телефоны, КПК и лаптопы. В отличие от Wi-Fi, другой популярной беспроводной технологии, Bluetooth предоставляет более высокий уровень сервиса, например, файловые серверы типа FTP, передачу файлов, голоса, эмуляцию последовательного порта и другие.

По умолчанию драйверы устройств Bluetooth поставляются в виде модулей ядра. Перед подключением устройства вам необходимо подгрузить драйвер в ядро.

Подключите ваше USB-устройство. На консоли (или в журнале syslog) появится примерно такое сообщение.

ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2 ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2 ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3, wMaxPacketSize=49, nframes=6, buffer size=294

# /etc/rc.bluetooth start ubt0 BD_ADDR: 00:02:72:00:d4:1a Features: 0xff 0xff 0xf 00 00 00 00 00

Max. ACL packet size: 192 bytes Number of ACL packets: 8 Max. SCO packet size: 64 bytes Number of SCO packets: 8

Host Controller Interface (HCI) предоставляет интерфейс для управления контроллером передатчика и менеджером соединений, а также доступ к данным о состоянии оборудования и его управляющим регистрам. Этот интерфейс предоставляет унифицированный метод доступа к передающим возможностям Bluetooth. Уровень HCI на управляющей машине обменивается данными и командами с микрокодом HCI в оборудовании Bluetooth. Драйвер для Host Controller Transport Layer (то есть физической шины) предоставляет обоим слоям HCI возможность обмениваться данными друг с другом.

BD_ADDR является уникальным адресом устройства Bluetooth, вроде MAC-адресов сетевых адаптеров. Этот адрес необходим для дальнейшей работы с устройством. Адресу BD_ADDR можно присвоить удобное для чтения имя. Файл /etc/bluetooth/hosts содержит информацию об известных хостах Bluetooth. В следующем примере показано, как получить имя, назначенное удалённому устройству.

Если вы выполните опрос на другом Bluetooth-устройстве, но ваш компьютер будет опознан как «your.host.name (ubt0)». Имя, назначаемое локальному устройству, может быть в любой момент изменено.

Система Bluetooth предоставляет услуги по соединениям типа точка-точка (при этом задействованы только два устройства Bluetooth) или точка-ко-многим-точкам. В последнем случае соединение используется совместно несколькими устройствам Bluetooth. В следующем примере показывается, как получить список активных для локального устройства соединений.

Идентификатор соединения ( connection handle ) полезен, когда необходимо прекратить соединение. Заметьте, что обычно нет нужды делать это вручную. Стек будет автоматически разрывать неактивные соединения.

Обратитесь к помощи посредством hccontrol help для получения полного списка доступных HCI-команд. Большинство команд HCI для выполнения не требуют прав администратора системы.

Протокол L2CAP (Logical Link Control and Adaptation Protocol) предоставляет услуги по работе с данными, как ориентированные на соединения, так и без ориентации на них, протоколам более высокого уровня с возможностями мультиплексирования и обеспечением операций по сегментации и обратной сборке. L2CAP позволяет протоколам более высокого уровня и приложениям передавать и получать пакеты данных L2CAP длиной до 64 Кбайт.

% btsockstat Active L2CAP sockets PCB Recv-Q Send-Q Local address/PSM Foreign address CID State c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN Active RFCOMM sessions L2PCB PCB Flag MTU Out-Q DLCs State c2afe900 c2b53380 1 127 0 Yes OPEN Active RFCOMM sockets PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPEN

Протокол 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.

hcsecd[16484]: Got Link_Key_Request event from ‘ubt0hci’, remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name ‘Pav’s T39’, link key doesn’t exist hcsecd[16484]: Sending Link_Key_Negative_Reply to ‘ubt0hci’ for remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Got PIN_Code_Request event from ‘ubt0hci’, remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name ‘Pav’s T39’, PIN code exists hcsecd[16484]: Sending PIN_Code_Reply to ‘ubt0hci’ for remote bdaddr 0:80:37:29:19:a4

Протокол обнаружения сервисов SDP даёт возможность клиентским приложениям осуществлять поиск услуг, предоставляемых серверными приложениями, а также характеристик этих услуг. В перечень атрибутов сервиса включается тип класса предлагаемого сервиса и информация о механизме или протоколе, требуемом для использования сервиса.

SDP подразумевает коммуникации между SDP-сервером и SDP-клиентом. Сервер поддерживает список сервисов, в котором описываются параметры сервисов, связанных с сервером. Каждая запись об услуге содержит информацию об одном сервисе. Клиент может запросить информацию об опеределённом сервисе, обслуживаемом SDP-сервером, выдавая SDP-запрос. Если клиент или приложение, связанное с клиентом, решат воспользоваться сервисом, то для его использования необходимо открыть отдельное соединение к устройству, предоставляющему сервис. SDP предоставляет механизм обнаружения услуг и их параметров, но не даёт механизма использования этих сервисов.

Обычно SDP-клиент выполняет поиск услуг на основе некоторых желаемых характеристик услуг. Однако иногда возникает необходимость выяснить полный перечень типов услуг, предоставляемых SDP-сервером, не имея никакой информации об имеющихся сервисах. Такой процесс всех предлагаемых сервисов называется обзором (browsing).

. и так далее. Заметьте, что каждый сервис имеет перечень атрибутов (например, канал RFCOMM). В зависимости от сервиса вам может потребоваться где-то сохранить эти атрибуты. Некоторые реализации Bluetooth не поддерживают просмотр сервисов и могут возвращать пустой список. В этом случае возможен поиск конкретной услуги. В примере ниже показано, как выполнить поиск службы OBEX Object Push (OPUSH).

Перечень сервисов, зарегистрированных в локальном SDP-сервере, может быть получен посылкой SDP-запроса на просмотр «специального» адреса BD_ADDR.

# sdptool browse ff:ff:ff:00:00:00

сотовый телефон или модем используется вместе с компьютером в качестве беспроводного модема для подключения к серверу коммутируемого доступа в Интернет, или другой коммутируемой услуге;

сотовый телефон или модем используется компьютером для приёма входящих соединений.

доступ к ЛВС для одного Bluetooth-устройства;

доступ к ЛВС для нескольких Bluetooth-устройств;

связь между двумя ПК (при помощи протокола PPP поверх эмулируемого последовательного канала связи).

OBEX является широкоиспользуемым протоколом для простой передачи файлов между мобильными устройствами. В основном он используется в коммуникациях через инфракрасный порт для передачи файлов между ноутбуками или КПК компании Palm, а также для пересылки визитных карточек или календарных планов между сотовыми телефонами и другими устройствами с персональными информационными менеджерами.

Клиент OBEX используется для посылки или приёма объектов с сервера OBEX. Объектом, к примеру, может быть визитная карточка или указание. Клиент OBEX может получить номер RFCOMM-канала, указав вместо него имя сервиса. Поддерживаются следующие имена сервиса: IrMC, FTRN и OPUSH. Канал RFCOMM можно задать его номером. Ниже даётся пример сеанса OBEX, где с сотового телефона забирается объект с информацией об устройстве, а новый объект (визитная карточка) передаётся в каталог сотового телефона.

После подключения псевдотерминал можно использовать как последовательный порт.

Некоторые старые Bluetooth-устройства не поддерживают переключение ролей. По умолчанию, когда FreeBSD подтверждает новое соединение, она пытается выполнить переключение роли и стать ведущим устройством. Устройства, которые это не поддерживают, не смогут подключиться. Заметьте, что переключение ролей выполняется при установлении нового соединения, поэтому невозможно выяснить, поддерживает ли удалённое устройство переключение ролей. На локальной машине имеется возможность отключить переключение ролей при помощи HCI-параметра.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *