Технологические основы Bluetooth

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

Обзор Bluetooth

Bluetooth является технологией кабельной замены, разработанной для беспроводного подключения периферийных устройств, таких как мыши и мобильные телефоны, к настольному или портативному компьютеру и друг другу. Недорогая, низкая мощность, краткосрочная основанная на радио технология, Bluetooth не является решением для беспроводных сетей, таким как AirPort. Скорее это - альтернатива IrDA (Инфракрасная Ассоциация Данных) стандарт. Несмотря на то, что стандарт IrDA, также, поддерживает беспроводную связь между периферийными устройствами и компьютерами, это имеет два ограничивающих требования. Во-первых, устройства IrDA должны быть очень близкими, не больше, чем на расстоянии приблизительно в 1 метр. Во-вторых, устройства связи должны иметь прямую линию вида друг другу.

Поскольку это полагается на радиоволны, однако, Связь Bluetooth преодолевает эти строгие требования:

Это делает Связь Bluetooth намного более гибкой и устойчивой. Также важно отметить, что, потому что Bluetooth выделяется при передаче данных низкой пропускной способности, это не предназначается как замена для соединенных кабелем периферийных устройств высокой пропускной способности. Для устройств высокой пропускной способности, таких как внешние жесткие диски или видеокамеры, кабели являются все еще наилучшим вариантом.

Поддержка Bluetooth Apple интегрируется в OS X, версию 10.2 и позже, и основывается на спецификации Специальной группы (SIG) Bluetooth (обсужденный в Архитектуре Bluetooth). Apple также обеспечивает некоторые высокоуровневые мосты между функциональностью OS X и стеком протоколов Bluetooth. Это означает, что много bluetooth-устройств работают прозрачно с компьютерами рабочая версия 10.2 OS X и позже. Менеджер по HID OS X, например, обрабатывает мышь Bluetooth так же, как она делает соединенную кабелем мышь. Во многих случаях такие высокоуровневые мосты позволяют Вашему приложению обрабатывать bluetooth-устройства без включения любого специфичного для Bluetooth кода.

Другие приложения, возможно, должны получить доступ к специфичным для Bluetooth атрибутам и сообщениям. Для них Apple обеспечивает всесторонний API, позволяющий Вам использовать в своих интересах уникальные функции Bluetooth. Обязательно считайте Bluetooth на OS X для описания Bluetooth API, доступный в версии 10.2 OS X и позже. Для конкретных примеров, показывающих, как использовать Bluetooth Apple API, посмотрите Разработку Приложения Bluetooth. Обратите внимание на то, что Apple не обеспечивает отдельный API для основанного на сокете доступа к bluetooth-устройствам; вместо этого, используйте APIs, описанный в Bluetooth на OS X.

Что прилагает все усилия Bluetooth

Характеристики технологии Bluetooth — низкая стоимость, низкая мощность и радио базировались — мотивировал понятие персональной сети (PAN). PAN окутывает пользователя маленьким, мобильным пузырем связи, которая легко доступна в любое время. Свобода Bluetooth от кабелей и потенциальной повсеместности делает его идеальным для переноса Вашей персональной сети вокруг с Вами.

С PAN возможности безграничны:

  • Вообразите способность соединиться с Интернетом на коммутируемом соединении, к которому Вы получаете доступ по своему мобильному телефону. Перемещение по Интернету тогда становится возможным где угодно, Ваш мобильный телефон может соединиться с Вашим интернет-провайдером.

  • Возможно, Вы предпочитаете использовать традиционную мышь со своим ноутбуком. Выберите Bluetooth enabled mouse, и Вы не должны будете отслеживать кабель мыши.

  • Если у Вас есть мобильный телефон с поддержкой Bluetooth, хранящий Вашу бизнес-информацию в формате Vcard, можно легко поделиться этой информацией с коллегами. Подкачайте свой Vcard с их путем беспроводного соединения с их мобильными телефонами с поддержкой Bluetooth.

Будущие направления для Bluetooth

Отраслевые аналитики предсказывают растущую популярность и доступность устройств с поддержкой Bluetooth. Это поочередно повышает ожидания потребителей для мобильного PANs и предоставляет много возможностей для поставщиков для создания новых продуктов. В конце 2003 Bluetooth SIG выпустил вторую версию (версия 1.2) спецификации Bluetooth. Этот преемник версии 1.1 обеспечивает много улучшений, включая:

  • Улучшенное качество обслуживания (QOS). Это гарантирует, что Ваш интерфейс пользователя (и другой QOS) устройства заставят время передавать данные, когда им будет нужен он.

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

Продолжающаяся поддержка Apple Связи Bluetooth свидетельствуется частыми обновлениями программного обеспечения Bluetooth и актуальным SDKs. Используя платформы программного обеспечения и встроенную поддержку обеспечивает Apple, можно принести приложения Bluetooth к OS X легко. Apple стремится помогать Вам найти способы предоставить Вашим клиентам беспроводное подключение, в котором они нуждаются.

Как работает Bluetooth

Этот раздел стремится дать Вам обзор технологии и спецификации, которая обеспечит контекст для реализации Bluetooth на OS X. Если Вы уже знакомы со спецификацией Bluetooth и как bluetooth-устройства работают, Вы могли бы принять решение перейти непосредственно к Bluetooth на OS X.

Bluetooth-устройства управляют в 2,4 ГГц в безлицензионном, глобально доступном ISM (Промышленный, Научный, и Медицинский) радиодиапазоном. Преимущество работы в этой полосе является глобальной доступностью и совместимостью. Потенциальный недостаток - то, что bluetooth-устройства должны совместно использовать эту полосу со многими другими эмиттерами RF. Они включают автомобильные системы безопасности, другие стандарты беспроводной связи (такой как 802,11), и обычные источники шумов (такие как микроволновые печи).

Для преодоления этой проблемы Bluetooth использует быструю схему со скачкообразной перестройкой частоты и использует более короткие пакеты, чем другие стандарты в полосе ISM. Эта схема делает Связь Bluetooth более устойчивой и более безопасной.

Скачкообразная перестройка частоты

Скачкообразная перестройка частоты буквально спрыгивает с частоты к частоте в полосе ISM. После того, как bluetooth-устройство отправляет или получает пакет, это и bluetooth-устройство или устройства, которые это передает с «транзитным участком» к другой частоте, прежде чем будет отправлен следующий пакет. Эта схема имеет три преимущества:

  • Это позволяет bluetooth-устройствам использовать полноту доступной полосы ISM, никогда не передавая от фиксированной частоты для больше, чем очень короткое время Это гарантирует, что Bluetooth соответствует ограничениям ISM на количество передачи на частоту.

  • Это гарантирует, что любая интерференция будет недолгой. Любой пакет, не поступающий безопасно в его место назначения, может быть снова послан в следующей частоте.

  • Это обеспечивает основной уровень безопасности, потому что для подслушивающего устройства очень трудно предсказать, какую частоту bluetooth-устройства будут использовать затем.

Конечно, подключенные устройства должны согласовать следующую частоту для использования. Спецификация Bluetooth гарантирует это двумя способами. Во-первых, это определяет отношение «главный-подчиненный» между bluetooth-устройствами. Во-вторых, это указывает алгоритм, использующий специфичную для устройства информацию для вычисления последовательностей скачка частоты.

Bluetooth-устройство, работающее в привилегированном режиме, может связаться максимум с семью ведомыми устройствами. К каждому из его ведомых устройств основное bluetooth-устройство отправляет свой собственный уникальный адрес устройства (подобный Ethernet-адресу) и значение его внутренних часов. Эта информация используется для вычисления последовательности скачка частоты. Поскольку ведущее устройство и все его ведомые устройства используют тот же алгоритм с тем же начальным вводом, подключенные устройства всегда поступают вместе в следующую частоту.

Потребляемая мощность

Как технология кабельной замены, не удивительно, что bluetooth-устройства являются обычно устройствами с батарейным питанием, такими как беспроводные мыши и мобильные телефоны. Для сохранения питания большинство bluetooth-устройств действует в качестве низкой мощности, радио на 1 мВт (Питание радио класса 3). Это дает bluetooth-устройствам диапазон приблизительно 5-10 метров. Этот диапазон достаточно далек для удобной беспроводной периферийной коммуникации, но достаточно близко избегать рисовать слишком много питания из источника питания устройства.

Безопасность

Безопасность является проблемой, столкнутой каждым коммуникационным стандартом. Беспроводная связь представляет специальные проблемы безопасности. Bluetooth встраивает безопасность в свою модель на нескольких разных уровнях, начинаясь с безопасности, свойственной от ее схемы со скачкообразной перестройкой частоты (описанный в Скачкообразной перестройке частоты).

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

Тема Безопасности Bluetooth выходит за рамки этого документа. Для ссылок, содержащих больше информации о процессах шифрования Bluetooth и процессах аутентификации, посмотрите, См. Также.

Архитектура Bluetooth

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

В этом разделе Вы узнаете о:

Стек протоколов Bluetooth

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

Рисунок 1-1  стек протоколов Bluetooth
The Bluetooth protocol stack

Нижние уровни

В основе Bluetooth стек протоколов является радио-уровнем. Радио-модуль в bluetooth-устройстве ответственен за модуляцию и демодуляцию данных в радиочастотные сигналы для передачи в воздухе. Радио-уровень описывает физические характеристики, которые должен иметь компонент приемопередатчика bluetooth-устройства. Они включают модуляционные характеристики, допуск радиочастоты и уровень уязвимости.

Выше радио-уровня основная полоса и уровень контроллера ссылки. Спецификация Bluetooth не устанавливает ясное различие между ответственностью основной полосы и тех из контроллера ссылки. Лучший способ думать об этом состоит в том, что основополосная часть уровня ответственна за то, что должным образом отформатировала данные для передачи к и от радио-уровня. Кроме того, это обрабатывает синхронизацию ссылок. Часть контроллера ссылки этого уровня ответственна за выполнение команд менеджера по ссылке и установление и поддержание ссылки, предусмотренной менеджером по ссылке.

Менеджер по ссылке самостоятельно переводит команды интерфейса хост-контроллера (HCI), которые это получает в операции основополосного уровня. Это ответственно за установление и конфигурирование ссылок и управление запросами на изменение питания среди других задач.

Вы заметили, что ссылки упомянули многочисленные времена в предыдущих абзацах. Спецификация Bluetooth определяет два типа ссылок между bluetooth-устройствами:

  • Синхронный, С установлением соединения (SCO), для использования изохронной и голосовой связи, например, гарнитур

  • Асинхронный, Без установления соединения (ACL), для передачи данных, такой как обмен vCards

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

Ссылка ACL существует между ведущим устройством и ведомым устройством момент, соединение установлено. Пакеты данных использование Bluetooth для ACL соединяет всех, имеют 142 бита кодирования информации в дополнение к полезной нагрузке, которая может быть столь же большой как 2 712 битов. Дополнительное кодирование объема данных усиливает защиту при передаче. Это также помогает поддержать устойчивый коммуникационный канал в среде, заполненной другими устройствами и общим шумом.

HCI (интерфейс хост-контроллера) уровень действует как граница между нижними уровнями стека протоколов Bluetooth и верхних уровней. Спецификация Bluetooth определяет стандартный HCI для поддержки систем Bluetooth, реализованных через два отдельных процессора. Например, система Bluetooth на компьютере могла бы использовать процессор модуля Bluetooth, чтобы реализовать нижние уровни штабеля (радио, основная полоса, контроллер ссылки, и соединить менеджера). Это могло бы тогда использовать свой собственный процессор для реализации верхних уровней (L2CAP, RFCOMM, OBEX и выбранные профили). В этой схеме более низкая часть известна как модуль Bluetooth и верхняя часть как узел Bluetooth.

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

Поскольку Bluetooth, HCI четко определен, можно записать драйверы, обрабатывающие различные модули Bluetooth от различных производителей. Apple обеспечивает объект контроллера HCI, поддерживающий реализацию USB уровня HCI.

Верхние уровни

Выше HCI уровень верхние уровни стека протоколов. Первым из них является L2CAP (протокол управления логическим каналом и протокол адаптации) уровень. L2CAP прежде всего ответственен за:

  • Установление соединений через существующий ACL соединяются или запрос ссылки ACL, если Вы уже не существуете

  • Мультиплексируя между различными протоколами верхнего уровня, такими как RFCOMM и SDP, чтобы позволить многим различным приложениям использовать единственную ссылку ACL

  • При переупаковке пакетов данных это получает от более высоких уровней в форму, ожидаемую нижними уровнями

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

Выше уровня L2CAP вполне так линейно не упорядочиваются оставшиеся слои стека протоколов Bluetooth. Однако это целесообразно обсуждать протокол обнаружения службы затем, потому что это существует независимо от других уровней протокола более высокого уровня. Кроме того, это характерно для каждого bluetooth-устройства.

SDP (протокол обнаружения службы) определяет действия и для серверов и для клиентов служб Bluetooth. Спецификация определяет службу как любую функцию, которая применима другим (удаленным) bluetooth-устройством. Единственное bluetooth-устройство может быть и сервером и клиентом служб. Примером этого является сам компьютер Macintosh. Используя профиль передачи файлов (описанный в профилях Bluetooth — Иерархия Групп) компьютер Macintosh может просмотреть файлы на другом устройстве и позволить другим устройствам просматривать его файлы.

Клиент SDP связывается с сервером SDP с помощью зарезервированного канала на ссылке L2CAP для обнаружения, какие службы доступны. Когда клиент находит желаемую службу, она запрашивает отдельное соединение использовать службу. Зарезервированный канал выделен коммуникации SDP так, чтобы устройство всегда знало, как соединиться со службой SDP на любое другое устройство. Сервер SDP поддерживает свою собственную базу данных SDP, которая является рядом служебных книжек, описывающих службы предложения сервера. Вместе с информацией, описывающей, как клиент может соединиться со службой, служебная книжка содержит UUID службы или универсально уникальный идентификатор.

Также выше уровня L2CAP на рисунке 1-1 уровень RFCOMM. Протокол RFCOMM эмулирует настройки строки последовательного кабеля и состояние последовательного порта RS-232. RFCOMM соединяется с нижними уровнями стека протоколов Bluetooth через уровень L2CAP.

Путем обеспечения эмуляции последовательного порта RFCOMM поддерживает устаревшие приложения последовательного порта. Это также поддерживает протокол OBEX (обсудил затем), и несколько из профилей Bluetooth (обсужденный в профилях Bluetooth — Иерархия Групп).

OBEX (объектный обмен) является протоколом передачи, определяющим объекты данных и протокол связи, который два устройства могут использовать для простого обмена теми объектами. Bluetooth принял OBEX от спецификации IrDA IrOBEX, потому что нижние уровни протокола IrOBEX очень подобны нижним уровням стека протоколов Bluetooth. Кроме того, протокол IrOBEX уже общепризнан и поэтому хороший выбор для Bluetooth SIG, стремящийся способствовать принятию при помощи существующих технологий.

Bluetooth-устройство, желающее устанавливать сеанс связи OBEX с другим устройством, считается клиентским устройством.

  1. Клиент сначала отправляет запросы SDP, чтобы удостовериться, что другое устройство может действовать как сервер служб OBEX.

  2. Если серверное устройство может предоставить услуги OBEX, оно отвечает своей служебной книжкой OBEX. Эта запись содержит номер канала RFCOMM, который клиент должен использовать для установления канала RFCOMM.

  3. Дальнейшая коммуникация между этими двумя устройствами передается в пакетах, содержащих запросы и ответы и данные. Формат пакета определяется сеансовым протоколом OBEX.

Несмотря на то, что OBEX может поддерживаться по TCP/IP, этот документ не обсуждает эту опцию (и при этом это не описано в спецификации Bluetooth).

Профили Bluetooth — иерархия групп

Спецификация Bluetooth определяет широкий диапазон профилей, описывая много различных типов задач, некоторые из которых еще не были реализованы никаким устройством или системой. Путем выполнения процедур профилей разработчики могут быть уверены, что приложения, которые они создают, будут работать с любым устройством, соответствующим спецификации Bluetooth. Этот раздел фокусирует на тех профилях тот OS X поддержки. Для получения информации о других профилях, включая тех все еще в разработке, посмотрите спецификацию Bluetooth.

Как минимум каждая спецификация профиля содержит информацию о следующих темах:

  • Зависимости от других профилей. Каждый профиль зависит от основного профиля, названного типовым профилем доступа, и некоторые также зависят от промежуточных профилей.

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

  • Определенные части стека протоколов Bluetooth используются профилем. Для выполнения его задачи каждый профиль использует определенные опции и параметры на каждом уровне штабеля. Это может включать схему требуемой служебной книжки, в подходящих случаях.

Профили Bluetooth организованы в иерархию групп с каждой группой в зависимости от функций, предоставленных ее предшественником. Рисунок 1-2 иллюстрирует зависимости профилей Bluetooth.

Рисунок 1-2  профили Bluetooth
The Bluetooth profiles

Основной профиль

В основе профиля иерархия является типовым профилем доступа (GAP), определяющим непротиворечивые средние значения для установления основополосной ссылки между bluetooth-устройствами. В дополнение к этому GAP определяет:

  • Какие опции должны быть реализованы во всех bluetooth-устройствах

  • Универсальные процедуры для обнаружения и соединения с устройствами

  • Основная терминология пользовательского интерфейса

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

Оставление профилями

Профиль приложений открытия службы описывает, как приложение должно использовать SDP (описанный в Стеке протоколов Bluetooth) для обнаружения служб на удаленное устройство. Как требуется GAP, любое bluetooth-устройство должно быть в состоянии соединиться с любым другим bluetooth-устройством. На основе этого профиль приложений открытия службы требует, чтобы любое приложение было в состоянии узнать, какие службы доступны на любом bluetooth-устройстве, с которым это соединяется.

Профиль устройства интерфейса пользователя (HID) описывает, как связаться с устройством класса HID с помощью ссылки Bluetooth. Это описывает, как использовать USB протокол HID для обнаружения набора функций устройства класса HID и как bluetooth-устройство может поддерживать службы HID с помощью уровня L2CAP. Для получения дополнительной информации о USB протокол HID, посмотрите http://www .usb.org.

Как его имя предполагает, профиль последовательного порта определяет эмуляцию последовательного кабеля RS-232 для bluetooth-устройств. Также, профиль позволяет унаследованным приложениям использовать Bluetooth, как будто это была ссылка последовательного порта, не требуя никакой модификации. Профиль последовательного порта использует протокол RFCOMM для обеспечения эмуляции последовательного порта.

Профиль коммутируемых сетей (DUN) основан на профиле последовательного порта и описывает, как устройство терминала, такое как портативный компьютер, может использовать устройство шлюза, такое как мобильный телефон или модем, для доступа к основанной на телефоне сети. Как другие профили, созданные поверх профиля последовательного порта, виртуальный последовательный канал, создаваемый нижними уровнями стека протоколов Bluetooth, очевиден для приложений с помощью профиля DUN. Таким образом драйвер модема на устройстве терминала не сознает, что это связывается по Bluetooth. Приложение на устройстве терминала столь же не сознает, что не подключено к устройству шлюза кабелем.

Профиль гарнитуры описывает, как гарнитура с поддержкой Bluetooth должна связаться с компьютером или другим bluetooth-устройством (таким как мобильный телефон). Когда соединено и сконфигурировано, гарнитура может действовать как аудиовход удаленного устройства и вывести интерфейс.

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

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

Объектный профиль нажатия определяет роли сервера нажатия и клиента нажатия. Эти роли походят и должны взаимодействовать с ролями серверного и клиентского устройства, которые определяет профиль обмена родового объекта. Объектное нажатие профилирует внимание на узкий диапазон объектных форматов для максимальной функциональной совместимости. Наиболее распространенным из приемлемых форматов является формат vCard. Если приложение должно обмениваться данными в других форматах, это должно использовать другой профиль, такой как профиль передачи файлов.

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

Профиль синхронизации является другим зависимым профиля обмена родового объекта. Это описывает, как приложения могут выполнить синхронизацию данных, такой как между карманным персональным компьютером (PDA) и компьютером. Не удивительно, профиль синхронизации, также, определяет роли устройства клиента и сервера. Профиль синхронизации фокусируется на обмене данными управления персональными данными (PIM), такими как список ожидающих выполнения задач, между устройствами с поддержкой Bluetooth. Типичное использование этого профиля было бы приложением, синхронизирующим Ваш компьютер и Ваши версии PDA’s Ваших данных PIM. Профиль также описывает, как приложение может поддерживать автоматическую синхронизацию данных — другими словами, синхронизация, происходящая, когда устройства обнаруживают друг друга, а не при команде пользователя.