на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Использование платформы j2me для мобильных телефонов при организации видеонаблюдений
p align="left">Каждому Bluetooth-устройству назначается уникальный 48-битный адрес, который используется для идентификации и синхронизации хопов, а также для генерации ключей в процедурах безопасности Bluetooth.

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

62

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

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

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

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

62

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сохранение ключа аутентификации выгодно при частом установлении соединения между данными устройствами.

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

До применения шифрования устройства должны договориться о режиме шифрования и длине ключа.

Возможны три режима шифрования:

- отсутствие шифрования - если одно из устройств не поддерживает шифрование, то будет соединение без шифрования;

- шифрование пакетов между устройствами и широковещательных пакетов;

- шифрование только пакетов между устройствами.

До применения шифрования устройства должны договориться о размере ключа (8 - 128 бит).

Авторизация - это процесс предоставления удаленному Bluetooth-устройству доступа к некоторому сервису. Чтобы быть авторизированным, удаленное устройство вначале должно быть сначала аутентифицировано через bonding.

Доступ может быть предоставлен на время или постоянно.

При авторизации для некоторого устройства может быть установлен атрибут trust, который ассоциирует права авторизации с некоторым устройством. Устройство с таким атрибутом (доверенное устройство) может подключаться к Bluetooth-сервису и процесс авторизации будет успешен без вмешательства пользователя.

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

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

3. Проектирование приложения для мобильного телефона на основе платформы J2ME

3.1 Постановка задачи

Требуется разработать приложение для мобильного телефона на платформе J2ME, которое будет осуществлять видеонаблюдение и предоставлять следующие основные возможности:

- расписание работы камеры - возможность указывать время начала и окончания видеонаблюдения;

- обнаружение движения и отправка SMS-сообщения или MMS-сообщения с соответствующим изображением;

- оповещение о возникающих ошибочных ситуациях на указанный номер;

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

- передача видеоданных, получаемых от камеры, в виде отдельных кадров по Bluetooth.

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

3.2 Построение интерфейса

Графический интерфейс приложения реализован с помощью библиотеки LWUIT. Стиль оформления всех использованных элементов интерфейса был настроен вручную. Основные принципы настройки стиля следующие.

Во-первых, можно изменить стиль одного конкретного компонента. Стиль каждого элемента определяется объектом класса Style. Чтобы получить стиль компонента, необходимо вызвать метод getStyle(). С помощью метода setStyle() можно изменить стиль данного компонента.

Во-вторых, можно изменить стиль всех компонентов одного типа, например, кнопок. Для этого необходимо получить объект UIManager.getInstance(), который определяет стиль оформления всех элементов по умолчанию. Далее следует использовать его метод setComponentStyle с двумя аргументами - имя класса компонента и объект класса Style. В листинге 3.1 приведен программный код настройки стиля текстового поля по умолчанию.

Листинг 3.1 - Применение стиля оформления для текстового поля

/**

* Configure TextField Style

*

* @param manager - User Interface Manager

*/

private void configureTextField (UIManager manager) {

Style textFieldStyle = new Style();

textFieldStyle.setFgSelectionColor(0x0000);

textFieldStyle.setFgColor(0x000000);

textFieldStyle.setBgTransparency(0x00);

textFieldStyle.setFont(boldFont);

textFieldStyle.setBorder (Border.createLineBorder(1));

manager.setComponentStyle ("TextField", textFieldStyle);

}

На рисунке 3.1 показана экранная форма с основными элементами и уже примененными стилями.

Рисунок 3.1 - Заставка приложения

При создании экрана заставки (рисунок 3.1) было необходимо выравнивание по центру. В библиотеке LWUIT нет такого способа размещения компонентов, поэтому был создан класс CenterLayout (листинг 3.2), расширяющий класс Layout. Layout является абстрактным классом, который наследуют все остальные классы-менеджеры размещения компонентов контейнера. В новом классе были переопределены методы layoutContainer (Container parent) и getPreferredSize (Container parent).

Листинг 3.2 - Выравнивание элементов по центру

/**

* Layout the given parent container children

* @param parent the given parent container

*/

public class CenterLayout extends Layout {

public void layoutContainer (Container parent) {

int components = parent.getComponentCount();

Style parentStyle = parent.getStyle();

int centerPos = parent.getLayoutWidth() / 2 +

parentStyle.getMargin (Component.LEFT);

int y = parentStyle.getMargin (Component.TOP);

for (int iter = 0; iter < components; iter++) {

Component current = parent.getComponentAt(iter);

Dimension d = current.getPreferredSize();

current.setSize(d);

current.setX (centerPos - d.getWidth() / 2);

Style currentStyle = current.getStyle();

y += currentStyle.getMargin (Component.TOP);

current.setY(y);

y += d.getHeight() + currentStyle.getMargin (Component.BOTTOM);

}

}

/**

* Returns the container preferred size

*

* @param parent the parent container

* @return the container preferred size

*/

public Dimension getPreferredSize (Container parent) {

int components = parent.getComponentCount();

Style parentStyle = parent.getStyle();

int height = parentStyle.getMargin (Component.TOP)

+ parentStyle.getMargin (Component.BOTTOM);

int marginX = parentStyle.getMargin (Component.RIGHT)

+ parentStyle.getMargin (Component.LEFT);

int width = marginX;

for (int iter = 0; iter < components; iter++) {

Component current = parent.getComponentAt(iter);

Dimension d = current.getPreferredSize();

Style currentStyle = current.getStyle();

width = Math.max (d.getWidth() + marginX

+ currentStyle.getMargin (Component.RIGHT) +

currentStyle.getMargin (Component.LEFT), width);

Страницы: 1, 2, 3, 4, 5, 6



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.