Смекни!
smekni.com

Использование платформы j2me для мобильных телефонов при организации видеонаблюдений (стр. 3 из 7)

r.getThemeResourceNames() [0]));

} catch (java.io.IOException e) {

System.out.println ("IOException "+e.getMessage());

}

// 1. Созданиеформы

Form mainForm = new Form ("Form Title");

// для определения способа размещения копонетов

mainForm.setLayout (newBorderLayout());

mainForm.addComponent (BorderLayout.CENTER, new Label ("HelloWorld"));

// 4. Добавлениекоманднойкнопки

mainForm.addCommand (new Command ("Run", 2));

mainForm.show();

}

public void pauseApp() {

}

public void destroyApp (boolean unconditional) {

}

}

Далее рассматриваются основные элементы графического интерфейса [5].

Label может отображать строчку текста и / или картинку.

Button представляет собой кнопку и помещается на ContentPane. Может содержать рисунок.

Чтобы обработать нажатие кнопки, необходимо реализовать интерфейс ActionListener. Далее приводится программный код простого обработчика нажатия кнопки (листинг 2.2).

Листинг 2.2 – Обработканажатиякнопки

final Button button = new Button ("Old Text");

button.addActionListener (new ActionListener() {

public void actionPerformed (ActionEvent evt) {

button.setText ("New Text");

}

});

RadioButton– радиокнопка, является наследником Button.

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

CheckBox является наследником RadioButton и представляет собой флажок.

ComboBox – это выпадающий список. К нему можно применить все возможности прорисовки, как и для элементов списка List. В выпадающем списке ComboBox могут содержаться не только строчки текста, но и радиокнопки, флажки, кнопки и другие списки.

TextArea предоставляет возможность редактировать текст в текстовом редакторе телефона – это значит, что возможно использование более сложных методов ввода (например, T9).

TabbedPane – это контейнер, который позволяет переключаться между различными группами компонентов, расположенными на вкладках.

2.3 Bluetooth

Bluetooth– это недорогая технология, позволяющая электронным устройствам обмениваться информацией посредствам радиоканала. Радиус действия Bluetooth-передатчиков, как правило, не превышает 15-ти метров. Для связи используется частота 2.45 GHz. В настоящее время доступна технология Bluetooth версии 1.1, которая включает в себя технологию радиосвязи, набор программ и профилей.

Технология названа в честь короля Дании HaroldBluetooth, жившем в X веке, который объединил и правил Норвегией и Данией.

Первое Bluetooth-устройство появилось на рынке в 1999. Разработчиком Bluetooth является Bluetooth Special Interest Group. Всоставэтойорганизациивходяттакиекомпании, какSony Ericsson, Intel, IBM, Toshiba, Nokia, Microsoft, 3COM, Motorola.

Цель спецификации [6] протокола Bluetooth– обеспечить взаимодействие устройств различных производителей, поэтому она определяет целый стек протоколов, а не только радиосистему (рисунок 2.3).


Рисунок 2.3 – Стек протоколов Bluetooth

HCI– это обычно слой, разделяющий программную и аппаратную реализацию стека протокола. Слои ниже theHCI, как правило, реализованы аппаратно, а слои выше – программно. Однако устройства с ограниченными ресурсами могут полностью реализовать всю функциональность аппаратно.

Applications– профили Bluetooth, которые определяют, как приложения должны использовать стек протоколов.

TelephonyControlSystem (TCS) – обеспечивает телефонный сервис.

ServiceDiscoveryProtocol (SDP) – используется для поиска сервисов на удаленном Bluetooth-устройстве.

WAPи OBEX– предоставляют интерфейсы для верхнего слоя других протоколов связи.

RFCOMM– описывает RS-232 как последовательный интерфейс.

L2CAP– собирает данные от верхних слоев и преобразовывает их между пакетами разных размеров.

HCI– управляет связью между хостом и Bluetooth-модулем.

LinkManagerProtocol– контролирует и конфигурирует связи с другими устройствами.

Basebandи LinkController– управляют физическими связями, частотой хопов и сборкой пакетов.

Radio– модулирует и демодулирует данные для передачи и приема по воздуху.

Технология Bluetooth [7] использует технический прием FHSS. Радиодиапазон делится на 79 подканалов. В каждый момент времени используется только один из этих подканалов. Переключение между ними (хоп) происходит каждые 625 микросекунд (1600 хопов за секунду). Такое частое переключение необходимо, чтобы уменьшить интерференцию, вызываемую другими рядом расположенными Bluetooth-устройствами и другими устройствами, использующими тот же самый диапазон частот (например, микроволновая печь или Wi-Fi).

Если устройство взаимодействует через Bluetooth и Wi-Fi одновременно, то применяется механизм AFH.

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

Пикосеть – это форма Bluetooth-сети (рисунок 2.4). Она состоит из одного мастера и нескольких (не более 7) подчиненных устройств (slaves).


Рисунок 2.4 – Пикосеть

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

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

Две взаимодействующие пикосети образуют рассеянную сеть – scatternet (рисунок 2.5). Общий узел является разделяемым и в каждый момент времени может работать только в одной пикосети, что уменьшает трафик в два раза между ними.

Рисунок 2.5 – Взаимодействие двух пикосетей


В процессе поиска [8] рядом находящихся Bluetooth-устройств (inquiry) запрашивающее устройство будет получать Bluetooth-адреса и время всех обнаруженных устройств. Чтобы устройство было обнаружено, необходимо у него установить соответствующий режим доступности – IAC. IAC может принимать два значения: GIAC и LIAC. GIAC используется, когда необходимо разрешить устройству быть обнаруженным всегда, а LIAC– когда устройство должно быть доступно в течении ограниченного промежутка времени.

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

Bluetooth-устройство хранит информацию обо всех своих сервисах в специальной базе данных – ServiceDiscoveryDataBase. Каждая запись в ней содержит атрибуты, определяющие один сервис. Атрибуты определяются 16-ричным идентификаторами.

Обязательными для каждой записи являются только два атрибута ServiceRecordHandle (ID 0x0000) и ServiceClassIDList (ID 0x0001). Различные атрибуты содержат данные разных типов. Поэтому используются специальные элементы данных для хранения этих значений, которые состоят из дескриптора типа данных, определяющего тип и размер, и самих данных.

UniversallyUniqueIDentifier (UUID) – это тип данных для идентификации сервисов, протоколов, профилей и пр. Он представляет собой 128-битное число, которое является всегда уникальным. Bluetooth-технология использует UUIDразличной длины. Диапазон коротких UUID зарезервирован для наиболее часто используемых сервисов, протоколов и профилей.

Bluetooth-профиль предоставляет набор высокоуровневых процедур и унифицированных способов использования верхних слоев Bluetooth. Профиль определяет способ реализации функциональности с применением Bluetooth.

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

Для решения указанных выше проблем спецификация Bluetooth определяет модель безопасности, состоящую из трех компонентов: аутентификация, шифрование, авторизация. К тому же определены три режима безопасности, которые входят в профиль GAP, поддерживаемый всеми сертифицированными Bluetooth-устройствами:

- незащищенный;

- безопасность на уровне сервисов – используется большинством Bluetooth-устройств. Необходимость защиты решается на уровне сервиса. Меры защиты инициируются более высокими слоями после того, как Bluetooth-связь уже установлена более низкими слоями;

- безопасность на уровне установления связи – инициируется более низкими слоями в стеке протоколов Bluetooth. Этот режим возможен только для Bluetooth-устройств с заводскими предустановленными настройками, которые не могут быть изменены пользователем.

На более мощных устройствах с Bluetooth пользователь может сам определять уровень безопасности.

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

Генерация аутентификационного ключа называется парингом (pairing). Паринг включает генерацию ключа инициализации и аутентификационного ключа, после чего выполняется взаимная аутентификация.

Ключ инициализации основан на ключе доступа (введенным пользователем случайном числе) и Bluetooth-адресе одного из устройств. Ключ доступа становится известным только двум данным устройствам. Аутентификационный ключ основан на случайном числе и Bluetooth-адресах обоих устройств. Ключ инициализации используется для шифрования при обмене данными для создания аутентификационного ключа и потом отбрасывается.

По завершении процесса паринга устройства являются аутентифицированными друг другом. Оба устройства используют один и тот же аутентификационный ключ. Устройства далее считаются сопряженными и могут аутентифицировать друг друга через bonding без ключа доступа.

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