1

Тема: Официальное приложение для Андроид платформ (07.05.2014)

Рады представить Вам приложение от команды нашего сервиса:

http://habrastorage.org/storage2/f41/07b/b39/f4107bb39543e74fe60bb1ca44cd8cd0.png
GPS Service - официальное мобильное приложение для сервиса мониторинга gps-tracker.com.ua.

Основные отличия от конкурентов:
- возможность работы с альтернативными сервисами (работа по текстовому протоколу Globalsat tr151)
- работа как с телефонами так и с планшетами без GSM\3G модуля
- режим определения местоположения по базовым станциям при отсутствии сигнала GPS (LBS режим)
- умный режим экономии батареи (используется акселерометр для определения движения)
- выключение использования GPS сигнала при неиспользовании телефона (лежит на столе)
- режим "Автостарт", автоматический запуск службы одновременно с загрузкой телефона
- режим "Пароля администратора", запрет на остановку приложения и изменения настроек
- определение угла поворота для более точного расчета пройденного расстояния
- выключение при низком уровне заряда АКБ устройства
- работа через Wi-Fi\GPRS\3G
- при отсутствии сигнала сети мобильного оператора - переход в режим черного ящика
- выгрузка записанных координат из истории при любом доступном канале связи
- режим работы в режиме "автосигнализации"

Андроид Маркет https://play.google.com/store/apps/deta … ps_service
Скачать установочный пакет можно по http://gps-tracker.com.ua/droid/GPS_Service.apk


Скрины и инструкция.



Меню настроек:
"Автостарт" - старт приложения происходит автоматически со стартом телефона.
"Останавливать при % АКБ" - минимальный заряд батареи при котором приложение остановит свою работу.
"Старт при % АКБ" - значение батареи при котором приложение может начать свою работу.
"Уведомления" - включение\выключение значка уведомления в трее.
"Отправка данных" (Комбинированный, интервал, угол поворота) - условие при котором отправляются данные на сервер. Интервал - передача данных по заданному интервалу в секундах. Угол поворота - при изменении угла поворота на заданное число.
"Минимальная скорость стоянки" - значении скорости которое принимать за остановку.
"Интервал отправки в движении" - см. "Отправка данных"
"Интервал отправки на стоянке" - интервал отправки данных при стоянке.
"Угол поворота" - см. "Отправка данных"
"Анализ движения по акселерометру" - при включении данной функции анализ движения проходит по данным акселерометра.
"Экономия заряда батареи" - при включенной функции GPS приемник выключается для более экономного расхода батареи устройтсва. Время через которое будет выполнено выключение регулируется следующим параметром.
"Время до отключения GPS" - время после которого будет выключен GPS приемник.
"Интернет доступ" (wi-fi\3g) - выбор канала передачи данных. При недоступности к интернет приложение будет писать в память и отгрузит данные при первой возможности.
"Пароль администратора" - пароль для защиты настроек и запрета на остановку приложения.

FAQ
1. Для того чтобы зарегистрировать устройство на сервисе gps-tracker.com.ua требуется ввести ID (первая строка экрана) на главном экране самого приложения.
2. Тип устройства - Free-GPS.net(GSM) - для смартфонов или Free-GPS.net(cdma/tablet) - для планшетов.
3. Нажать кнопку "Запустить". ("Меню"-"Запустить")
4. Убедиться что сигнал от спутником поступает - (Источник координат: GPS). При источнике данный LBS - данные могут быть не точные, т.к. определение ведется по базовым станциям оператора.
5. Убедится что координаты поступают на сервер. (Подключен: Да).
6. В течении 10 секунд (зависит от скорости интернет подключения) объект (телефон, планшет) появится на экране сервиса.

Будем рады слышать отзывы и предложения.

Отредактировано Noname (07-05-2014 17:55:45)

2

Re: Официальное приложение для Андроид платформ (07.05.2014)

Привет. Добавьте функцию настройки графика работы приложения. Т.е., имеется задача записывать передвижения  водителя в рабочее время, например, с 9:00 до 17:00. В другое время его передвижения не интересуют. А то приходится каждое утро включать прогу, и вечером отключать. Спасибо.

3

Re: Официальное приложение для Андроид платформ (07.05.2014)

Замечен баг. Если в настройках снять галочку с пункта «Уведомления» («Icon Tray»), то при старте трекинга приложение наглухо зависает и андроид принудительно закрывает его, как зависшее.  Телефон — Samsung S6500D, Android 2.3.6

4

Re: Официальное приложение для Андроид платформ (07.05.2014)

Следующий баг: В настройках стоит по умолчанию отключение программы при батарейке 10%, а включение при 30%. Однако, сейчас батарейка 23%, а программа выключилась и не включается. Пришлось опустить планку включения до 11%

5

Re: Официальное приложение для Андроид платформ (07.05.2014)

И еще. Сейчас нахожусь в помещении, и программа пишет, что источник — базовые станции. Но на карте я вижу свое последнее местоположение, которое «поймалось» на GPS. Т.е., на сервер не сбрасывается мое текущее местоположение, если GPS не ловится. На сайте, напротив устройства, написано «Нет данных»

6

Re: Официальное приложение для Андроид платформ (07.05.2014)

zaxarb пишет:

Следующий баг: В настройках стоит по умолчанию отключение программы при батарейке 10%, а включение при 30%. Однако, сейчас батарейка 23%, а программа выключилась и не включается. Пришлось опустить планку включения до 11%

Это так задумано.
Баг с треем поправлен. В маркете сейчас проходит проверку. Через пару часов будет обновление.

7

Re: Официальное приложение для Андроид платформ (07.05.2014)

zaxarb пишет:

И еще. Сейчас нахожусь в помещении, и программа пишет, что источник — базовые станции. Но на карте я вижу свое последнее местоположение, которое «поймалось» на GPS. Т.е., на сервер не сбрасывается мое текущее местоположение, если GPS не ловится. На сайте, напротив устройства, написано «Нет данных»

Включите синхронизацию времени телефона или настройте корректно время.

Отредактировано Yan (11-02-2013 11:52:14)

8

Re: Официальное приложение для Андроид платформ (07.05.2014)

Yan пишет:

Включите синхронизацию времени телефона или настройте корректно время.

Вроде бы правильно время выставлено. А что за синхронизация?

9

Re: Официальное приложение для Андроид платформ (07.05.2014)

zaxarb пишет:
Yan пишет:

Включите синхронизацию времени телефона или настройте корректно время.

Вроде бы правильно время выставлено. А что за синхронизация?

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

10

Re: Официальное приложение для Андроид платформ (07.05.2014)

Обновление доступно в маркете.

11

Re: Официальное приложение для Андроид платформ (07.05.2014)

Yan пишет:

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

Время выставлено правильное. Сейчас проверил на трех телефонах. Один самсунг S6500D, другой — самсунг I9300 (Galaxy S3). На них по базовым станциям не определяет, хотя предыдущее приложение (от SIARHEI LUSKANAU) это умело.

Третий телефон — HTC Sensation. Там определение по БС работает

12

Re: Официальное приложение для Андроид платформ (07.05.2014)

zaxarb пишет:
Yan пишет:

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

Время выставлено правильное. Сейчас проверил на трех телефонах. Один самсунг S6500D, другой — самсунг I9300 (Galaxy S3). На них по базовым станциям не определяет, хотя предыдущее приложение (от SIARHEI LUSKANAU) это умело.

Третий телефон — HTC Sensation. Там определение по БС работает

Пишет в сервисе "Нет данных" ?

13

Re: Официальное приложение для Андроид платформ (07.05.2014)

Yan пишет:

Пишет в сервисе "Нет данных" ?

Да. Напротив одного самсунга пишет «Нет данных». Напротив второго самсунга тоже так писал, но 15 минут назад я с ним вышел на улицу, он поймал спутник и, соответственно, показал точку на карте. Теперь, когда я опять в помещении, он вместо «Нет данных" уже 15 минут пишет «Стоит > 48 часов».

Запустил предыдущее приложение. Оно нормально определяет местоположение по базовым станциям, правда в сервисе пишет также «Стоит > 48 часов». Но точки меняются. В новом же приложении точки не меняются. Плюс ко всему, новое приложение на телефоне пишет «Координаты: 0.0.0.0», а старое — «55,******» - вместо звезд - цифры

Отредактировано zaxarb (11-02-2013 13:44:08)

14

Re: Официальное приложение для Андроид платформ (07.05.2014)

Вот, прошло минут 30, и снова написано «Нет данных»

15

Re: Официальное приложение для Андроид платформ (07.05.2014)

zaxarb пишет:

Вот, прошло минут 30, и снова написано «Нет данных»

Попробуйте включить "Синхронизацию времени по сети" в настройках телефона и правильный часовой пояс

Отредактировано Yan (11-02-2013 14:20:56)

16

Re: Официальное приложение для Андроид платформ (07.05.2014)

Хмм. В результате всех шаманских плясок получается такая картина:

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

Возникает вопрос, почему предыдущее приложение определяло положение по БС без танцев с бубном?

Отредактировано zaxarb (11-02-2013 14:53:43)

17

Re: Официальное приложение для Андроид платформ (07.05.2014)

Проверил на втором самсунге. Тоже заработало после этой галочки. Значит, предыдущее приложение по какому-то другому принципу искало по БС?

Update: Кстати, тот другой принцип эффективнее. Старая программа определяла точку вполне точно. Могла ошибиться на пару десятков метров, и то редко. Обычно точно указывала место. Новая же сообщает, что я болт знает где, метров за 300, и ни разу не приблизилась хотя бы близко к дому, где я нахожусь.

Отредактировано zaxarb (11-02-2013 15:12:42)

18

Re: Официальное приложение для Андроид платформ (07.05.2014)

zaxarb пишет:

Проверил на втором самсунге. Тоже заработало после этой галочки. Значит, предыдущее приложение по какому-то другому принципу искало по БС?

Update: Кстати, тот другой принцип эффективнее. Старая программа определяла точку вполне точно. Могла ошибиться на пару десятков метров, и то редко. Обычно точно указывала место. Новая же сообщает, что я болт знает где, метров за 300, и ни разу не приблизилась хотя бы близко к дому, где я нахожусь.

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

Отредактировано Yan (11-02-2013 15:19:30)

19

Re: Официальное приложение для Андроид платформ (07.05.2014)

Понятно. Ок. Будем тестить дальше. А по сообщению №2 этой ветки скажете что-нибудь? Не было в планах?

20

Re: Официальное приложение для Андроид платформ (07.05.2014)

zaxarb пишет:

Понятно. Ок. Будем тестить дальше. А по сообщению №2 этой ветки скажете что-нибудь? Не было в планах?

Да, будет позже.

21

Re: Официальное приложение для Андроид платформ (07.05.2014)

Планы на ближайшее время для разработки:
1. Режимы работы (трекер,график,маяк)
2. Безопасность (смс при смене симки,блокировка через инет)
3. Чтение смс и списка звонков, сохранение их на сервере
4. Передача через сервер Push сообщений на телефон
5. Отдельный "легкий" сервис для работы на мобильный устройствах

22

Re: Официальное приложение для Андроид платформ (07.05.2014)

Самый главный для меня вопрос - приложение обращается и тем самым включает и "прогревает" GPS в указанный период (скажем, раз в 10 секунд), как это было в предыдущем приложении, или же прога поддерживает GPS "горячим" все время и раз в 10 секунд отправляет текущие данные?

Отредактировано Grik (12-02-2013 19:34:15)

23

Re: Официальное приложение для Андроид платформ (07.05.2014)

Там есть продуманная опция - отключение GPS спустя  "интервал". Если интервал 10 сек, а посылка раз в 5 сек то GPS горячий сёвремя.

А также есть "анализ движения по акселерометру" актуально для авто наверно. Без движения выкл.

Отредактировано Mars (12-02-2013 20:03:11)

Re: Официальное приложение для Андроид платформ (07.05.2014)

Yan пишет:

Синхронизация времени (при отсутствии GPS) сама по себе затратная операция с точки зрения производительности

В предыдущей программе (by Luskanau) точное время определялось через интернет, используя NTP-серверы. Периодически обновлял разницу во времени и делал корректировку времени для пакетов.

Для разработчиков:
Использовал либу http://commons.apache.org/net/

                    NTPUDPClient client = new NTPUDPClient();
                    client.setDefaultTimeout(10000);
                    client.open();
                    TimeStamp timeStamp = client.getTime(InetAddress.getByName("pool.ntp.org"))
                            .getMessage().getReceiveTimeStamp();
                    client.close();
                    long ntpSynchronizationTime = System.currentTimeMillis();
                    long ntpDifferentTime = ntpSynchronizationTime - timeStamp.getTime();

25

Re: Официальное приложение для Андроид платформ (07.05.2014)

siarhei_luskanau пишет:
Yan пишет:

Синхронизация времени (при отсутствии GPS) сама по себе затратная операция с точки зрения производительности

В предыдущей программе (by Luskanau) точное время определялось через интернет, используя NTP-серверы. Периодически обновлял разницу во времени и делал корректировку времени для пакетов.

Для разработчиков:
Использовал либу http://commons.apache.org/net/

                    NTPUDPClient client = new NTPUDPClient();
                    client.setDefaultTimeout(10000);
                    client.open();
                    TimeStamp timeStamp = client.getTime(InetAddress.getByName("pool.ntp.org"))
                            .getMessage().getReceiveTimeStamp();
                    client.close();
                    long ntpSynchronizationTime = System.currentTimeMillis();
                    long ntpDifferentTime = ntpSynchronizationTime - timeStamp.getTime();

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

Отредактировано Yan (13-02-2013 14:28:35)