Программирование мобильных телефонов на Java



Программирование мобильных телефонов на Java

         

В этой главе ...



Прежде чем приступить к изучению особенностей программирования мобильных телефонов на Java 2 ME, необходимо познакомиться с общей схемой устройства телефона.

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

Первая представляет собой мобильные телефоны с набором простейших функций, такие телефоны часто называют «звонилка». Функциональность подобных телефонов сводится только к их прямому назначению. С такого устройства можно произвести или принять вызов и воспользоваться услугами SMS (Short Message Service - служба коротких сообщений). Сам телефон, как правило, имеет монохромный дисплей небольшого размера, а из пользовательских программ доступны только простейшие, такие как калькулятор, таймер, диктофон, телефонная книга и так далее.

Вторая категория мобильных телефонов имеет более широкий круг возможностей. Дисплей таких телефонов обычно цветной, разрешение варьируется от 80 до 130 пикселей с глубиной цвета около пяти тысяч цветов. Телефоны этой категории обычно содержат те же возможности, что и у аппаратов первой категории и ряд дополнительных функций. Одна из них - это возможность загрузки приложений написанных на языке Java. Из всех дополнительных функций стоит выделить возможность работы с WAP (Wireless Application Protocol - протокол беспроводной передачи данных) и GPRS (General Packet Radio Service - радио сервис пакетной передачи данных). Принципы работы этих протоколов описывается в разделах 1.6 и 1.7 этой главы.

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

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



1.1. Стандарт GSM



Цифровой стандарт GSM (Global System Mobile Communication - система мобильной глобальной связи), на основе которого происходит связь между телефонами, - самый распространенный стандарт во всем мире, обеспечивающий диапазон работы мобильных телефонов на частотах 900/1800/1900 МГц. Стандарт GSM обладает качественными и безопасными характеристиками связи, что и повлияло на его популярность во всем мире. В нашей стране это основной стандарт, использующийся всеми крупными операторами связи.

1.2. Архитектура телефонов



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

Телефон имеет процессор, память, приемо-передатчик, систему контроллеров для дисплея, клавиатуры, аккумулятора и карту SIM (Subscriber identification module - идентификационный модуль абонента). Процессор вкупе с памятью является сердцем телефона. Он имеет более скромные характеристики, чем процессор компьютера. Приемо-передатчик служит для приема и передачи сигнала и включает в себя различные фильтры, кодеры, декодеры речи и сигналов. Система контроллеров для клавиатуры (клавиш телефона) и дисплея позволяет вводить информацию в телефон посредством клавиш и выводить ее на дисплей. Контроллер аккумулятора производит управление процессом зарядки аккумуляторных батарей телефона.

Все аппаратное обеспечение телефона (железо) безусловно, само по себе функционировать не может, и работа осуществляется на основе прошивки или операционной системы.


1.3. Прошивка и операционная система



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

Операционная система Windows Mobile, за которой стоит, как не трудно догадаться, софтверный гигант Microsoft предъявляет достаточно высокие требования к аппаратной части телефона. Соответственно, высокая цена на такие устройства никак не способствует популяризации этой операционной системы. Но стоит признать тот факт, что операционная система Windows Mobile- очень  мощная и хорошо продуманная система, которая в будущем возможно сможет занять одно из ведущих мест в этом сегменте рынка.

Операционная система Symbian является открытой системой и предъявляет значительно меньше требований к аппаратному устройству телефона. В акционерное общество Symbian Ltd. (разработчик операционной системы Symbian) входят все мировые лидеры производителей телефонов. Эта операционная система на данный момент занимает доминирующее положение в мобильной промышленности.

Обе операционные системы имеют различные наборы функциональных возможностей, но работа обеих похожа на работу компьютерных систем, конечно с учетом характеристик телефона, а это процессор, память, клавиатура, дисплей и так далее. Все эти факторы значительно уменьшают функциональность телефона, но прогресс не стоит на месте: в 1999 году процессор с частотой в 200 ГГц казался вершиной компьютерной техники, а сейчас об этом смешно вспомнить.

Прошивка телефона — это программа, управляющая работой телефона, но вшитая в сам телефон. Каждый из производителей создает свои прошивки для конкретных моделей, предопределяя тем самым функциональность телефона. Операционная система разрешает осуществлять загрузку созданных программ . в телефон, а в прошивке такая возможность не предусмотрена. Точнее сказать, не была предусмотрена до появления платформы Java 2 ME. Для работы приложений написанных на Java, необходима виртуальная Java машина иди среда исполнения приложений. Виртуальная Java машина, адаптированная специально для телефонов, настолько компактна по размеру, и, что самое главное, безопасна, что практически все производители телефонов стараются создать поддержку Java программ, то есть встроить среду исполнения Java программ в телефон. Загрузка сторонних приложений дала очень мощный импульс мобильной игровой индустрии, что, как мне кажется, вывело телефон на новый более качественный уровень. Единственное что необходимо понимать в этом аспекте, это то, что среда исполнения Java-приложений в телефоне реализована таким образом, что не позволяет написать «вредные» программы портящие аппаратную часть телефона. Модель работы Java-программ реализована как бы в виде закупоренной бочки, в которой и происходит работа всех Java приложений. Из этой бочки программы выбраться не могут, а соответственно не могут и нанести ущерб телефону.

Загрузка Java программ в телефон происходит при помощи программного обеспечения и кабеля, соединяющего телефон с компьютером. Также можно загрузить в телефон программы при помощи инфракрасного порта, технологии Bluetooth, либо непосредственно из Интернета с помощью протоколов WAP и GPRS. Все программы, загружаемые в телефон, распространяются в виде двух файлов, JAD - это дескриптор приложения и JAR - архив программы. Более подробно процесс загрузки программ рассматривается в главе 3.


1.4. Инфракрасный порт



Инфракрасный порт имеют не все телефоны. В основном это модели, относящиеся ко второй и третьей условной ценовой категории, о которых мы говорили в начале этой главы. С помощью инфракрасного порта можно произвести соединение с компьютером, другим телефоном или любым иным устройством имеющим инфракрасный порт. Принцип работы инфракрасного порта очень прост: имеются светодиод и фотодиод, соответственно для передачи и приема сигнала. Поместив два устройства на расстоянии не более полутора метров в зоне прямой видимости можно осуществить связь между этими устройствами. Что касается связи телефона с компьютером посредством инфракрасного порта, то это происходит при помощи программного обеспечения поставляемого производителями телефонов. В частности на компакт диске можно найти программы для телефонов Sony Ericsson, Nokia и Siemens, подробный анализ этих программ вы найдете в главе 3.


1.5. Технология Bluetooth



Название этой сравнительно новой технологии (Bluetooth - голубой зуб) позаимствовано из истории - так некогда звали датского короля Гарольда второго, стремящегося объединить все датские земли в одно королевство Дания.

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

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


1.6. Протокол WAP



Протокол WAP (Wireless Application Protocol) - это протокол беспроводного соединения с сетью Интернет. Имея поддержку WAP в мобильном телефоне, появляется возможность выхода в Интернет для просмотра специально адаптированных web-страниц на телефоне. Также с помощью WAP можно скачать или купить игру или приложение, написанное на языке Java. Стоимость таких программ обычно не превышает 1-2 доллара. Однако пользоваться WAP можно только в том случае, если ваш оператор сотовой связи предоставляет WAP услуги. Телефон, имеющий поддержку WAP, снабжен и WAP-браузером, что и делает возможным просмотр WAP страниц в Интернете.

Если обобщить все выше сказанное, то работу телефона с протоколом WAP, можно сравнить с обыкновенным компьютером, связывающимся с сетью Интернет. Все Интернет-страницы, используемые компьютерными системами написаны на языке HTML или XML, а страницы для WAP-соединения созданы с помощью своего языка WML (Wireless Markup Language - беспроводной язык разметки). Для того чтобы через WAP выйти в Интернет с мобильного телефона, необходимо обязательно произвести соответствующие настройки в телефоне. Сделать это можно вручную, а можно воспользоваться услугами своего оператора, предоставляющего мобильную связь. Для этого необходимо позвонить по соответствующему номеру или отправить SMS, в зависимости от оператора связи указанного в инструкции, прилагающейся к SIM-карте. Если есть желание настроить WAP самостоятельно, то можно воспользоваться значениями, приведенными в таблице 1.1.

Таблица 1.1.

Операторы
БиЛайн
Мегафон
МТС
URL
"http://wap.beeline.ru"
http://wap.megawap.ru
http://wap.mts.ru
Защита связи
отключить
отключить
отключить
Канал
GPRS
GPRS
GPRS
Входная точка
http://wap.beeline.ru
http://wap.megawap.ru
http://wap.mts.ru
Адрес IP
192.168.017.001
010.010.001.002
212.44.140.13
Логин
beeline
wap
mts
Пароль
beeline
wap
mts


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

Единственная проблема WAP-сервиса - это высокая цена соединения, поскольку оплата происходит поминутно, а платите вы практически как за минуту разговора по телефону. Это получается весьма дорогое удовольствие. Отчасти эту проблему решает протокол GPRS.

1.7. Протокол GPRS



Связь телефона по протоколу GPRS (General Packet Radio Service - радио сервис пакетной передачи данных) осуществляется в куда более щадящем режиме. Используя соединение WAP, вы фактически звоните по другому номеру, занимая тем самым один из многочисленных каналов связи, поэтому и оплата взимается поминутно. С использованием GPRS оплата происходит только за количество скачанных данных, измеряемое в байтах, килобайтах или мегабайтах. Например, оператор мобильной связи Би Лайн за один мегабайт изымает 6 рублей 60 копеек с вашего счета (по состоянию на 2004 год). Лучше использовать WAP соединение, то есть просматривать WAP-сайты, через протокол GPRS, значительно экономя средства. Все это происходит благодаря тому, что GPRS использует пакетную передачу данных и не задействует какой-то конкретный канал связи, он вклинивается в свободные зоны различных каналов, передавая информацию в виде небольших пакетов. Скорость связи может доходить до 115 кбит/с, но полагаю, что таких показателей никто не видел, а вот цифра в 30-40 кбит/с вполне реальна. Связь через GPRS можно использовать и на компьютере, для выхода в Интернет через мобильный телефон. Такая услуга связи носит название мобильный: Интернет.


1.8. Карта SIM



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

Сама SIM-карта выполнена в виде небольшого по размерам пластмассового прямоугольника, с контактной полосой на поверхности для стыковки с идентичным разъемом на телефоне. Каждая SIM-карта, содержит свой уникальный идентификационный номер, что в конечном итоге решает проблему одинаковых номеров. В SIM-карте также находится простейший процессор, и вы можете сохранять на SIM-карте записи, как правило, это обычная телефонная книга, примерно на 200-300 записей. Более подробно об установке SIM-карты в телефон и другой информации можно узнать из инструкции к вашему телефону.

Таким образом, устройство мобильного телефона отдаленно напоминает устройство компьютерных систем. Поэтому адаптация платформы Java 2 ME, для телефонов, произошла абсолютно безболезненно, переведя виток развития мобильной индустрии на новый, до настоящего времени не ведомый уровень. Следующая глава раскрывает теорию строения платформы Java 2 Micro Edition.