Автор работы: Пользователь скрыл имя, 22 Июня 2014 в 13:00, дипломная работа
Современные мобильные телефоны — устройства многофункци-ональные. Они позволяют не только разговаривать с другими абонентами, но и воспроизводить музыку, фотографировать, планировать важные дела. Кроме того, мобильный телефон может заменить беспроводную мышь или клавиатуру для управления компьютером.
В настоящее время первое место по использованию занимают телефоны, оснащенные операционной системой Android предназначенной для мобильных устройств. Такие операционные системы в принципе аналогичны используемым на стационарных компьютерах и ноутбуках системам (Windows, Linux и т.д.), но они, во-первых, пока несколько проще и, во-вторых, ориентированы в большей степени на беспроводную связь.
Введение
Современные мобильные телефоны — устройства многофункци-ональные. Они позволяют не только разговаривать с другими абонентами, но и воспроизводить музыку, фотографировать, планировать важные дела. Кроме того, мобильный телефон может заменить беспроводную мышь или клавиатуру для управления компьютером.
В настоящее время первое место по использованию занимают телефоны, оснащенные операционной системой Android [1] предназначенной для мобильных устройств. Такие операционные системы в принципе аналогичны используемым на стационарных компьютерах и ноутбуках системам (Windows, Linux и т.д.), но они, во-первых, пока несколько проще и, во-вторых, ориентированы в большей степени на беспроводную связь.
Беспроводные устройства ввода, отлично подходят и для настольного компьютера, и для ноутбука. Иногда большое количество проводов может запутаться, тем самым появляется возможность неловким движением нарушить контакт. Для того чтобы такого не произошло необходимо уменьшить количество проводов, либо использовать беспроводные устройства.
Отсутствие проводов делает интерфейс Wi-Fi одним из наиболее удобных и популярных среди современных пользователей. При наличии мобильного устройства с операционной системой Android и интерфейса Wi-Fi на расстоянии можно управлять своими презентациями, совместно просматривать музыкальные файлы, фотографии и тематические истории, с друзьями или членами семьи. Так же смотреть фильм, не вставая с любимого дивана. Данный подход управления персонального компьютера (ПК) обеспечивает высокий уровень комфорта при работе.
На платформе ПК появляется огромное количество игр. Заметную часть выпускаемых компьютерных игр составляют автосимуляторы. Поэтому неудивительно, что с каждым годом возрастает число игровых манипуляторов, выполненных в виде органов управления наземных транспортных средств — рулей и педалей.
Беспроводная мышь и клавиатура, конечно, удовольствие куда более дорогое, чем аналогичные устройства с проводами. За свободу от проводов на рабочем столе придется заплатить больше, чем за обычное устройство, а большой радиус действия обойдется еще дороже. Однако иногда такие затраты вполне оправданы — и привычные средства ввода приобретают новые функции: держа телефон в руке, можно проводить презентацию, а лежа на диване — смотреть любимый фильм.
1 Анализ и постановка задачи
1.1 Описание предметной области
Как любое техническое устройство, компьютер обменивается информацией с человеком посредством набора определенных правил, обязательных как для машины, так и для человека. Зачастую в процессе работы c ПК пользователи сталкиваются с проблемой запутывания кабелей или неловким движением руки допускают нарушение контакта, которое может привести к выходу из строя устройства, где произошло нарушение контакта.
Беспроводные технологии — подкласс информационных технологий, служат для передачи информации на расстояние между двумя и более точками, не требуя связи их проводами [3]. Для передачи информации может использоваться инфракрасное излучение, радиоволны, оптическое или лазерное излучение. В настоящее время существует множество беспроводных технологий, наиболее часто известных пользователям по их маркетинговым названиям, таким как Wi-Fi, WiMAX, Bluetooth. Каждая технология обладает определёнными характеристиками, которые определяют её область применения.
Интерфейс Wi-Fi был создан в 1991 году.
Данный
вид интерфейса осуществляется с помощью
беспроводного подключения, что является
весомым преимуществом по сравнению с
предыдущими типами интерфейса. Отсутствие
проводов делает интерфейс
Wi-Fi одним из наиболее удобных и популярных
среди современных пользователей.
Интерфейс Wi-Fi обладает преимуществами.
1.Позволяет развернуть сеть без прокладки кабеля, что может уменьшить стоимость развертывания или расширения сети. Места, где нельзя проложить кабель, например, вне помещений и в зданиях, имеющих историческую ценность, могут обслуживаться беспроводными сетями.
2. Позволяет иметь доступ к сети мобильным устройствам.
3. Wi-Fi устройства широко распространены на рынке. Гарантируется совместимость оборудования благодаря обязательной сертификации оборудования с логотипом Wi-Fi.
В связи с вышеперечисленными достоинствами интерфейса Wi-Fi, а также для устранения проблем с запутыванием кабелей и нарушения контактов, была создана программа для дистанционного управления ПК используя мобильное устройство в качестве игрового манипулятора, мыши и клавиатуры.
1.2 Классификация сетей передачи данных
Беспроводная передача данных в настоящее время переживает своеобразный бум. Если с речевым обменом все в достаточной степени понятно, он нужен всем, всегда и везде, то в области беспроводной передачи данных ситуация не столь однозначна. Крупнейшие разработчики технологий и производители элементной базы лихорадочно пытаются определить тенденции развития рынка, то есть интересы потребителя. Возникают и тихо угасают технологии и связанное с ними производство компонентов.
В соответствии с рисунком 1 сети передачи данных могут быть классифицированы по территориальной распространенности:
- автономные локальные сети (потоки данных территориально замкнуты в пределах предприятия, офиса, дома, квартиры);
- локальные сети с выходом в транспортную (первичную) сеть (часть потребителей имеет выход за пределы локальной сети, например, в Интернет) в пределах города или области;
- сети непосредственного доступа потребителей в транспортную сеть на территории государства или группы государств.
Ниже перечислены определения, использующиеся в соответствии с рисунком 1.
1. Абонентский терминал (АТ) — приемно-передающее радиоустройство небольших размеров с внутренней или внешней антенной. Конечное пользовательское оборудование подключается непосредственно к абонентскому терминалу и через радиоканал имеет доступ к сети связи.
Рисунок 1 – Классификация сетей
2.Точка доступа (ТД) — устройство, обеспечивающее связь абонентов сети доступа с телекоммуникационной (первичной) сетью доступа.
3.Точка распределения (ТР) — элемент первичной сети, обеспечивающий организацию сети распределения с точками доступа.
По скорости передачи информации компьютерные сети делятся на низко, средне и высокоскоростные:
- низкоскоростные сети – до 10 Мбит/с;
- среднескоростные сети – до 100 Мбит/с;
- высокоскоростные сети – свыше 100 Мбит/с.
По типу среды передачи сети разделяются на:
- проводные (на коаксиальном кабеле, на витой паре, оптоволоконные);
- беспроводные с передачей информации по радиоканалам или в инфракрасном диапазоне.
1.3 Постановка задачи
Данная работа посвящена разработке программы дистанционного управления компьютером посредством мобильного устройства. Мобильный телефон может заменить беспроводную мышь, клавиатуру или игровой манипулятор для управления компьютером. Данный подход управления ПК обеспечивает высокий уровень комфорта при работе.
Создание программы дистанционного управления компьютером посредством мобильного устройства подразумевает решение ниже приведенных задач.
1.Использование экрана мобильного телефона в качестве «touchpad» для управления курсором мышки на персональном компьютере. Возможность перемещения курсора в области монитора ПК. Нажатие левой и правой кнопки мыши.
2. Использование клавиатуры мобильного устройства в качестве стандартной клавиатуры ПК. Возможность набора предложений на ПК, используя клавиатуру мобильного устройства.
3. Использование акселерометра мобильного устройства в качестве игрового манипулятора (контроллера) для управления игрой на ПК.
В соответствии с рисунком 2 приведена функциональная схема такой программы.
Рисунок 2 – Структура программы дистанционного управления
В качестве среды разработки была выбрана среда Eclipse Helios так как данная среда позволяет разрабатывать приложения для операционной системы Android. Это свободная интегрированная среда разработки модульных кроссплатформенных приложений. В силу бесплатности и высокого качества, Eclipse во многих организациях является корпоративным стандартом для разработки приложений [2].
Второе назначение Eclipse — служить платформой для разработки новых расширений, чем он и завоевал популярность: любой разработчик может расширить Eclipse своими модулями.
Для создаваемой программы был выбран язык программирования Java. Java — объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems. Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) независимо от компьютерной архитектуры.
Достоинство подобного способа выполнения программ в полной независимости байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.
Разработка любого программного обеспечения, начиная от несложной системной утилиты и заканчивая сложными программными комплексами, над созданием которых трудятся огромные корпорации, всегда начинается с определения целей и задач разработки, а также структурированием их в логическую иерархию. Фактически, иерархия целей и задач это абстрактное представление решаемой задачи, без детализации тех или иных методов.
Точно разработанная иерархия целей и задач позволяют значительно облегчить процесс проектирования системы, а хорошо разработанная структура иерархического дерева непосредственно влияет на основные показатели качества программ, в частности, на надёжность и адаптивность системы, кроме того, значительно облегчается организация проектирования и эксплуатация.
Иерархический подход позволяет проектировать сложные системы по принципу «сверху вниз» с позиции назначения и наилучшего решения основной задачи.
Основная цель данной работы — реализовать программу использования мобильного устройства в качестве игрового манипулятора, мыши и клавиатуры для дистанционного управления персональным компьютером. Она включает в себя две подцели: разработку серверной части на ПК и клиентской на мобильном устройстве. Иерархия целей представлена в приложении A.
Для достижения
главной цели программы необходимо: создать
серверную часть программы, обеспечивающую
прием и обработку присланных команд от
клиента; создать клиентскую часть программы,
отвечающей за ввод команд, посылку команд
серверу. Иерархия задач представлена
в
приложении Б.
2 Анализ данных
В функции любой программы входит получение данных, их обработка и выдача результата, который определяется функциональностью программы. В работе данной программы участвует большое количество данных различного содержания. К входным данным относятся коды нажатых клавиш, перемещение мыши, коды нажатых кнопок мыши, а так же положение акселерометра телефона. Некоторые коды используемых клавиш приведены в таблице 1.
Для подключения к серверу необходимо ввести IP адрес, который хранится в классе Settings в качестве строковой переменной и называется ip. При вводе IP адрес считывается с виджета EditText (текстовое поле для пользовательского ввода). Входными данными так же являются настройки чувствительности мыши, скорость прокрутки, возможность щелчка на тачпаде, которые являются атрибутами класса Settings и хранятся в качестве переменных: sensitivity типа int, scrollSensitivity типа int, tapToClick типа boolean. Класс Settings, определяющий настройки тачпада, представлен в приложении Г.
При перемещении указателя пальцем на сенсоре телефона, учитывается пространство нажатое пальцем на сенсоре. При этом вызывается метод moveMouseFromSensors() в котором хранятся прошлое нажатое пространство lastSpace, считывается текущее currSpace, вычисляются координаты и вызывается метод передачи сообщения серверу о перемещении мыши sendMouseEvent. Прошлому пространству присваивается значение текущего.
Используя игровой манипулятор, необходимо считывать положение акселерометра телефона, значения которого задано тремя переменными координатами x, y, z. Данные координаты представляют положение телефона в пространстве. Изменение положения телефона фиксируются при помощи метода onSensorChanged и считываются при помощи значения акселерометра values[DATA_X].
Промежуточные данные используются для произведения вычислений с входными данными и представляют собой атрибуты классов, которые служат для обработки и отправки, данных серверу.
Таблица 1 – Некоторые коды клавиш
Имя клавиши |
Код клавиши в Android |
Код клавиши в Windows |
"q" |
"45" |
"81" |
"w" |
"51" |
"87" |
"e" |
"33" |
"69" |
"r" |
"46" |
"82" |
"t" |
"48" |
"84" |
"y" |
"53" |
"89" |
"u" |
"49" |
"85" |
"i" |
"37" |
"73" |
"o" |
"43" |
"79" |
"delete" |
"67" |
"8" |
"enter" |
"66" |
"32" |
"," |
"55" |
"44" |
"trackup" |
"19" |
"38" |
"trackdown" |
"20" |
"40" |
"trackleft" |
"21" |
"37" |
"trackright" |
"22" |
"39" |
Информация о работе Автоматизированная система оптического распознавания текста