Вложений: 7
APRS I-net Position Sender (J2ME): о проекте
По мотивам темы "Альтернативные способы определения координат".
Программа APRS Position Sender предназначена для отправки на сервер APRS сообщения о нахождении себя в определенном месте. Места и их координаты выясняются заранее. Как только прибыли на определенное место - выбрали его из списка и нажали "Оправить". Таким образом APRS сервер будет знать где вы.
Список мест представляет из себя набор файлов и папок. Структуру вложенности папок вы выдумываете сами - так, как Вам удобно. А в папках располагаете файлы с координатами.
- Каждый файл - это одно место
- Название файла - это обозначение места (так, как оно будет выглядеть в списке)
- содержимое файла - это координаты и комментарий маяка (например, описание места)
Пример. Если я езжу на работу, то получается следующее количество мест: Дом, работа, остановки автобуса. Следовательно я создаю два файла:
ФАЙЛ|Содержимое
Дом.txt|58.01.83N 038.51.13E Fly e135 - inet "At home"{jAPRS}
Работа.txt|58.01.83N 038.51.13E Fly e135 - inet "At work"{jAPRS}
На работу и с работы я еду на автобусе №12. Поэтому я могу создать папку "12 автобус". В этой папке я создаю файлы с названиями остановок:
01-Автовокзал.txt|58.02.08N 038.51.32E Autowokzal {jAPRS}
02-Мн.Восток.txt|58.02.08N 038.50.85E Magazin Wostok {jAPRS}
03-ул.Гагарина.txt|58.02.13N 038.50.33E Ulica Gagarina {jAPRS}
04-ул.Труда.txt|58.02.49N 038.50.40E Ulica truda {jAPRS}
05-ЖД вокзал.txt|58.02.56N 038.50.03E Veleznodorovnyi wokzal {jAPRS}
06-Сенной рынок.txt|58.02.99N 038.50.20E Sennoy rynok {jAPRS}
07-Юбилейный.txt|58.03.14N 038.50.08E Uniwermag Ubileinyi {jAPRS}
08-ЮбПлощадь.txt|58.03.22N 038.49.65E Ubileinaya ploshad' {jAPRS}
09-НПО Сатурн.txt|58.03.32N 038.48.89E OAO NPO Saturn {jAPRS}
10-Бассейн.txt|58.03.36N 038.48.23E Bassein {jAPRS}
11-ул.Танкистов.txt|58.03.39N 038.47.82E Ulica tankistov {jAPRS}
12-ул.Солнечная.txt|58.03.42N 038.47.29E Ulica solnechnaja {jAPRS}
13-пл.Жукова.txt|58.03.42N 038.47.29E Ploshad' Zhukova {jAPRS}
Теперь, пока еду в автобусе - я от нечего делать могу отправлять свою текущую позицию, выбрав файл с нужной позицией. Использование файлов и вложенных папок делает программу очень гибкой в плане выбора.
Кроме этого в программе есть возможность выбора позывного и значка, которым будет отображаться станция на карте (не зависимо от того, под каким паролем происходит соединение с APRS сервером).
Программа состоит всего из нескольких пунктов меню. Думаю, что сложности вызвать они не должны: Параметры соединения с сервером APRS (имя, порт, пользователь, пароль); Параметры станции (позывной и значек); Отправка координат (вызывается просмотрщик файловой системы телефона - ищите файлы там, куда разместили, будте внимательны с ограничениями на имена файлов); Подсказка и выход.
Рекомендации по созданию файлов с координатами.
Рекомендую координаты определять через http://aprs.fi/ в режиме спутника (фото со спутника). В нужных координатах ставим маркер и копируем с него координаты в текстовый файл, туда же и комментарий:
58°1.77' N 38°50.88' E - Detskiy sad {jAPRS}
Повторяем для всех нужных точек. Затем добавляем незначащиенули (по вкусу):
58°01.77' N 038°50.88' E - Detskiy sad {jAPRS}
Затем заменяем "°" на "." во всем файле. Потом "' N" на "N", а "' E" на "E". Должно получиться:
58.01.77N 038.50.88E - Detskiy sad {jAPRS}
Потом каждую строчку сохраняем в отдельный файл и называем его соответствующим именем. Ну ежели кому-то будет очень тяжело все это - напишу программку на дельфе, которая поможет в переделках.
Программа разрабатывалась без учета тач телефонов и всяких там бантиков и красивостей, но работает и на тач даже без виртуальной клавиатуры (как на моем), т.к. все стандартное. Из требований к телефону - только работа с интернет и работа с файловой системой. Программа протестирована на моем реальном сотовом телефоне Fly E135 - это такой практически начального уровня телефон с тачскрином. Результат получается примерно такой:
2011-03-25 22:13:43 UTC: UA3MQJ>APZJME,TCPIP*,qAC,T2UKRAINE:=5801.83N/03851.13E[Fly e135 - inet "At home"{jAPRS}
2011-03-25 22:14:53 UTC: UA3MQJ>APZJME,TCPIP*,qAC,T2UKRAINE:=5802.08N/03851.32E[Autowokzal {jAPRS}
2011-03-25 22:15:57 UTC: UA3MQJ>APZJME,TCPIP*,qAC,T2UKRAINE:=5802.08N/03851.32EUAutowokzal {jAPRS}
2011-03-25 22:17:01 UTC: UA3MQJ>APZJME,TCPIP*,qAC,T2UKRAINE:=5802.08N/03850.85EUMagazin Wostok {jAPRS}
2011-03-25 22:17:24 UTC: UA3MQJ>APZJME,TCPIP*,qAC,T2UKRAINE:=5802.13N/03850.33EUUlica Gagarina {jAPRS}
Замеченные проблемы в работе. Ммм, ну в общем под JAVA ME я пишу впервые и эту программу разрабатывал всего около суток, поэтому наверняка есть какие-либо проблемы и ньюансы. Из того, что я заметил - телефон долго висит после того, как нажал YES при отправке и OK после просмотра. Наверное потому, что я устанавливаю соединение только на момент отправки. Но работает и так, в общем - то. Положу еще денег на телефон и буду пробовать дальше. Исходные коды под нетбинс прилагаются.