El Fotografo

El FotografoКого бы ты не фотографировал — ты всегда фотографируешь себя

Ускорение работы GPS на Android mechanicuss April 22nd, 2012

UPD. вышли вторая «Ускорение работы GPS на Android — 2» и третья Ускорение работы GPS на Android — 3 части статьи с описанием файла gps. conf, благодаря которому спутники ловятся за 5-10 секунд.

Попробую в этом посте систематизировать ту информацию, которую собрал по теме ускорения работы GPS на Android. Скажу сразу, что большинство вещей актуальны при наличии root и S-OFF (я сразу зашил на свой смартфон кастомную прошивку RcMix 3d Runny). Пост не претендует на абсолютную полноту освещения вопроса — просто делюсь своим опытом.

Ранее я ждал минут по 20 — спутники так и не ловились. Теперь в результате применения описанных ниже советов — координаты определяются за 2-3 минуты при холодном старте, и примерно 30-40 секунд при горячем.

1) Использовать программу для синхронизации времени ClockSync (нужен root, найдено здесь ):

— перед запуском навитела (или другого навигатора) через программу ClockSync синхронизировать время на телефоне;

— после запуска навитела через программу ClockSync синхронизировать время на телефоне.

2) Отредактировать файл gps. conf. в параметре NTP_SERVER прописать свое расположение.

Файл gps. conf находится в /system/etc/gps. conf. а не на карте памяти, где его обычно ищут начинающие пользователи. Для редактирования нужен root. Редактировать можно с помощью Root Explorer, либо ES Проводник (в меню настроек в разделе «Root-права» включите опцию «Root-эксплорер» и «Подключить системные папки»).

Для редактирования удобно использовать программу FasterFix.

У меня, например было

NTP_SERVER=north-america. pool. ntp. org

а для Украины необходимо было прописать

NTP_SERVER=ua. pool. ntp. org

Сооответственно, для России

NTP_SERVER=ru. pool. ntp. org

После чего перезагрузить аппарат.

3) Продвинутое редактирование gps. conf (нужен root, найдено здесь ).

В этом случае для редактирования удобно пользоваться программой FasterGPS. Описанное в п.2 эта программа тоже умеет делать.

Необходимо добавить в файл следующее:

NTP_SERVER=ua. pool. ntp. org — если вы не сделали этого в п.2, то обязательно сделайте сейчас (как вы понимаете, это настройка для Украины)

INTERMEDIATE_POS=0

ACCURACY_THRES=0

REPORT_POSITION_USE_SUPL_REFLOC=1

ENABLE_WIPER=1

SUPL_HOST=supl. google. com

SUPL_PORT=7276

SUPL_NO_SECURE_PORT=7276

SUPL_SECURE_PORT=7276

CURRENT_CARRIER=common

DEFAULT_AGPS_ENABLE=TRUE

DEFAULT_SSL_ENABLE=FALSE

DEFAULT_USER_PLANE=TRUE

После чего перезагрузить аппарат.

По хорошему можно и руками отредактировать gps. conf (например, через RootExplorer ), FasterGPS — это просто фронтэнд для редактирования. Но с ним спокойнее, т. к. нельзя оставлять пробелы в конце строки и пустые строки в gps. conf.

4) Использовать программу, которая способствует скорейшему определению координат. Из нескольких протестированных мною (Статус GPS, GpsFix, GPS Test) наиболее эффективной и функциональной оказалась Статус GPS (root не нужен ). Включаем GPS, включаем мобильный Интернет, запускаем Статус GPS, и там:

Меню -> Инструменты -> Данные A-GPS -> Загрузить

Лирическое отступление:

когда наблюдаешь как Статус GPS уверенно один за другим ловит спутники

(задействовано/поймано: 0/1. 1/2. 3/3 и тд),

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

Кстати, эта программа имеет еще функцию «Радар»: можно пометить то место, где вы сейчас находитесь, и потом вернуться к нему.

Также помним о простых вещах:

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

  • GPS садит аккумулятор, но еще быстрее садит аккумулятор постоянно включеный экран. В то же время, если заблокировать телефон — то отключается GPS. Хотите чтобы GPS проработал дольше (например, гуляя по незнакомому городу) — уменьшите яркость экрана до необходимого минимума.

  • GPS в смартфонах изначально слабее, чем в GPS навигаторах

  • GPS не работает в помещении — только под открытым небом

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

  • Если все же необходимо воспользоваться GPS в помещении — можно выйти на балкон, либо подойти к окну. Та же хитрость работает и в маршрутках — нужно только сесть возле окна.

  • В пасмурную погоду сигнал ловится хуже. Среди высотных зданий тоже ловится хуже. Иногда бывает достаточно отойти на 100-200м от 16-этажек — и результат становится заметно лучше.

  • При холодном старте на ходу сигнал ловится хуже, чем стоя на месте. Заставьте себя остановиться и дождаться пока смартфон поймает спутники (запустите Статус GPS и любуйтесь ловко она ловит их один за другим) — в конечном итоге вы потратите так меньше времени, чем пытаясь сделать это на ходу.

  • В теории нужно поймать 3 спутника чтобы определить координаты, и 4, чтобы определить координаты и высоту. В реальности же Статус GPS определяет все параметры, когда поймано 6-7 спутников. Максимум же, который удавалось поймать — 9-11. В новых аппаратах ловится значительно больше спутников — порядка 17-19 за счет умения работать со спутниками Глонасс (в Статус GPS такие спутники отображаются квадратными, а не круглыми символами).

    PS — еще хочу порекомендовать хороший обзор программ по работе с GPS — Практикум: используем GPS на Android по максимуму — обязательно посмотрите, там есть немало полезного.

    PPS — из того, чем из этого обзора пользуюсь сам, хочу порекомендовать отличнейший менеджер профилей Llama.

    Строго говоря, к GPS она не имеет никакого отношения:

    Особенностью Llama является то, что она не использует GPS для определения координат, а полагается на сотовые вышки. Тем не менее, решено было включить ее в обзор, как альтернативу GEO-Tasker.

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

    Спасибо за внимание.

    Буду рад комментариям и дополнениям.

    PPPS: вопросы вот такого типа я оставляю без ответа — я не конкурент Google:

  • можеш подробно описать как ты ето делал?

  • Где находится файл gps. conf? Чем его открыть? У меня нету /system/etc/ а только DCIM LOST. DIR

  • У меня проблема не могу сохранить изменённый файл gps. conf пробовал 3мя программами и не как в чем проблема подскажите где что настроить

  • В папке etc нет файла gps. conf, что сделать для улучшения?

  • А что означают эти параметры: INTERMEDIATE_POS=0, ACCURACY_THRES=0. (и т. д. и т. п.)

  • У меня смартфон Huawei (или Acer Luqiud и т. д. и т. п.) и не ловится GPS — что мне делать?

  • Помогите! Купил тел а GPS не работает.

  • Я поменял аккумулятор на новый. Новый акум без металической плоскости, как старый, может в этом быть причина?

  • Я переформатировал SD и сбосил на заводские настройки. Теперь вообще GPS не видит спутников. Почему?

  • Я октрутил винты, приподнял не полностью заднюю крышку, вынул кнопку пуск, почистил ее.

    Поставил все на место, теперь работает нормально, но GPS сигнала нет — почему?