- Выполнение операций ввода-вывода.
На приведенном ниже рисунке схемотично показано приложение, использующее Bluetooth.
Рисунок 3.3 Жизненный цикл Bluetooth-приложения
Bluetooth Control Center
Инициализация Bluetooth, как правило, влечет за собой установку параметров. В частности необходимо задать имя устройства, настройки безопасности, включить или выключить Bluetooth радио канал. Все это можно сделать с помощью Bluetooth Control Center (BCC), который представляет собой набор панелей управления, которые являются основным механизмом управления параметрами Bluetooth устройства.
С помощью Bluetooth Control Center Вы можете задать несколько дополнительных настроек, в частности имя, которое будут видеть другие устройства, или режим доступности другим устройствам. Вы также можете выполнить поиск других Bluetooth устройств, задать условия соединения, соединиться и отключиться от устройства.
Регистрация сервиса
Все необходимые действия по регистрации сервиса берет на себя Java Bluetooth API. Вызов метода Connector.open() автоматически задает сервисную запись. Затем вызывается метод StreamConnectionNotifier.acceptAndOpen() или L2CAPConnetionNotifier.acceptAndOpen(), который добавляет ее в Service Discovery Database (SDDB). С этого момента устройство может подключаться к другим устройствам и отвечать на попытки подключений клиентов.
Обзор Device и Service Discovery API
Процесс поиска доступных по Bluetooth устройств и сервисов является, пожалуй, наиболее сложной частью Java APIs for Bluetooth. API для поиска устройств включает в себя класс DiscoverAgent и интерфейсы DiscoveryListener, RemoteDevice, ServiceRecord.
MIDlet
JSR-82 совместимый мидлет использует DiscoveryAgent, который предоставляет методы, позволяющие осуществлять поиск устройств и сервисов. Мидлет должен использовать интерфейс DiscoveryListener, для того чтобы узнать о найденном устройстве. Чтобы получить DiscoveryAgent устройства, необходимо вызвать метод LocalDevice.getDiscoveryAgent().
Мидлет начинает фазу поиска с вызова метода DiscoveryAgent.startInquiry(), который переводит устройство в режим "запроса". Как только устройство или сервис будут найдены, DiscoveryAgent уведомит об этом мидлет, вызвав callback методы deviceDiscovered() и servicesDiscovered(). Поскольку выполнение запросов требует времени, перед инициализацией режима запроса, мидлет обычно вызывает методы retrieveDevices() и searchServices() класса DiscoveryAgent, чтобы произвести поиск в локальногм кэше обнаруженных ранее устройств и сервисов. На следующей диаграмме показана последовательность действий при поиске.
3. Технология беспроводной связи Bluetooth
Bluetooth (англ. синий зуб) — производственная спецификация беспроводных персональных сетей (PAN).
Bluetooth обеспечивает обмен информацией между такими устройствами как карманные и обычные персональные компьютеры, мобильные телефоны, ноутбуки, принтеры, цифровые фотоаппараты и наушники на надёжной, недорогой, повсеместно доступной радиочастоте для ближней связи. Bluetooth позволяет этим устройствам сообщаться, когда они находятся в радиусе до 10 - 100 метров друг от друга (дальность очень зависит от преград и помех), даже в разных помещениях.
Таблица 4.1
Характеристика | Параметр |
Диапазон частот | 2400,0 – 2483,5 МГц |
Способ передачи информации | пакетная дуплексная передача с временным разделением каналов TDD |
Метод расширения спектра | скачкообразная перестройка частоты FHSS |
Ширина полосы частотного подканала | 1 МГц |
Число каналов | 23 или 79 (в зависимости от региона использования) |
Скорость перестройки рабочей частоты | до 1600 скачков в секунду |
Длина цикла псевдослучайной последовательности | 227 |
Длительность временного сегмента | 625 мкс |
Метод модуляции | двухуровневая частотная модуляция с фильтром Гаусса (binary Gaussian Frequency Shift Keying) |
Число устройств в пикосети | до 8 |
Скорость передачи информации: - в синхронном режиме - в асинхронном режиме | - 3 канала по 64 кбит/с в каждом направлении; - до 723,2 кбит/с в прямом направлении и 57,6 кбит/с в обратном направлении |
Радиус действия устройств | 10 м (в перспективе 100 м) |
Таблица 4.2
Класс | Максимальная мощность, мВт. | Максимальная мощность, дБм. | Радиус действия (приблизительно), м. |
Класс 1 | 100 | 20 | 100 |
Класс 2 | 2,5 | 4 | 10 |
Класс 3 | 1 | 0 | 1 |
Эта спецификация была разработана компанией Ericsson, позднее оформлена группой Bluetooth Special Interest Group (SIG).
3.1 Принцип действия Bluetooth
Радиосвязь Bluetooth осуществляется в ISM-диапазоне (англ. Industry, Science and Medicine), который используется в различных бытовых приборах и беспроводных сетях (свободный от лицензирования диапазон 2.4465-2.4835 ГГц). Спектр сигнала формируется по методу FHSS (Frequency Hopping Spread Spectrum — широкополосный сигнал по методу частотных скачков). Метод FHSS прост в реализации, обеспечивает устойчивость к широкополосным помехам, а оборудование стоит недорого.
Согласно алгоритму FHSS, в Bluetooth несущая частота сигнала скачкообразно меняется 1600 раз в секунду (всего выделяется 79 рабочих частот, а в Японии, Франции и Испании полоса у́же — 23 частотных канала). Последовательность переключения между частотами для каждого соединения является псевдослучайной и известна только передатчику и приёмнику, которые каждые 625 мкс (один временной слот) синхронно перестраиваются с одной несущей частоты на другую. Таким образом, если рядом работают несколько пар приёмник-передатчик, то они не мешают друг другу. Этот алгоритм является также составной частью системы защиты конфиденциальности передаваемой информации: переход происходит по псевдослучайному алгоритму и определяется отдельно для каждого соединения. При передаче цифровых данных и аудиосигнала (64 Кбит/с в обоих направлениях) используется различные схемы кодирования: аудио-сигнал не повторяется (как правило), а цифровые данные в случае утери пакета информации будут переданы повторно. Без помехоустойчивого кодирования это обеспечивает передачу данных со скоростями 723,2 Кбит/с с обратным каналом 57,6 Кбит/с, или 433,9 Кбит/c в обоих направлениях.
Интерфейс Bluetooth состоит из трех частей: приемо-передатчик, контроллер связи и управляющее устройство, осуществляющее связь с терминалом. Терминалом может быть любой прибор, будь то мобильный телефон, КПК или ноутбук. Приемо-передатчик и контроллер связи, как правило, выполнены на отдельных микросхемах, а вот функции управляющего устройства может выполнять и процессор теримнала при достаточной собственной мощности. Схема проста в реализации как в аппаратном, так и в программном направлении, что сказывается на популярности интерфейса Bluetooth.
Рисунок 3.1 Блок-схема организации Bluetooth-связи
3.2 Спецификации
В первых версиях Bluetooth 1.0 и 1.0B было обнаружено несколько небольших ошибок. Они имели плохую совместимость между продуктами различных производителей, а так же была обязательной передача адреса устройства BD_ADDR на этапе установления связи, что делало невозможным реализовать анонимность на протокольном уровне.
Эти ошибки были исправлены в версии 1.1, а так же добавлена поддержка для нешифрованных каналов, индикация уровня мощности принимаемого сигнала (RSSI). Именно эта версия стала первым стандартом новой технологии. Соединение с помощью Bluetooth 1.1 достаточно медленное, а энергопотребление первого поколения мобильных устройств, поддерживающих Bluetooth, было очень большим. В версии 1.2 была добавлена технология адаптивной перестройки рабочей частоты (AFH), что улучшило сопротивляемость к электромагнитной интерференции (помехам) путем использования разнесенных частот в последовательности перестройки. Также увеличилась скорость передачи и добавилась технология eSCO, которая улучшала качество передачи голоса путем повторения поврежденных пакетов. Также предусмотрено дополнительное улучшение качества звука в шумных помещениях. Новейшая версия - Bluetooth 2.0 - быстрее предыдущих, а, кроме того, менее энергоемкая. Аппараты на основе версии Bluetooth 2.0 могут применяться для общения по технологии VoIP; это означает, что появилась возможность использовать наушники Bluetooth, чтобы совершать звонки с компьютера через интернет. Bluetooth 2.0 поддерживает EDR (Enhanced Data Rate) - именно эта технология обеспечивает более быстрый обмен информацией с другими устройствами - в 3 раза быстрее, чем обычно (до 2,1 Мбит/с.). При этом снижается энергопотребление, а значит увеличивается время жизни батареи. Кроме того, можно установить мультисоединение, например с GPS-ресивером и наушниками Bluetooth. Версия 1.2 также поддерживает эту возможность, но работа 2.0 более стабильна и доступна к применению повсеместно. Bluetooth версии 2.0 полностью совместим с версиями 1.x.
Для обеспечения безопасности в Bluetooth используется алгоритм аутентификации и генерации ключа SAFER+. Инициализационный и главный ключи генерируются по алгоритму E22. Поточный шифр E0 используется для закрытия передаваемых данных. Что в целом делает более трудоемким прослушивание устройств связанных по Bluetooth.
Профили - это возможности, которые поддерживаются как устройством, так и аксессуарами. На каждый профиль существует ограниченный набор функций (наушники, например), который гарантирует, что оба устройства будут работать корректно и стабильно. Профили разрабатываются и внедряются чтобы улучшить качество соединения между Bluetooth-устройствами. Обычно помимо основного набора профилей имеется несколько дополнительных, расширяющих спектр возможностей как гарнитуры Bluetooth, так и самого устройства.
Устройства, образующие между собой Bluetooth-соединение, образуют сеть, называемую пикосетью (piconet). В ней одно устройство является главным (master), а другое – подчиненным (slave). К одному master-устройству может быть подключено несколько slave-устройств. Пикосети могут объединяться, образуя скеттерсеть (scatternet). В этом случае соединяются два главных устройства, одно из которых становиться главным/подчиненным.