Как настроить GPS на Андроиде — пошаговая инструкция и решение проблем. Как ускорить подключение GPS и увеличить точность GPS на Андроид

Я описывал программы и приемы, ускоряющие работу GPS на Android-устройствах. Там же был приведен пример альтернативного файла gps.conf , ускоряющего процесс определения координат.

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

Для сравнения - ранее у меня на HTC Inspire 4G спутники ловились единицы минут, после его применения - 30-60 секунд.

С тех пор много воды утекло, но я не прекращал поисков еще более быстрого решения. И вот сегодня могу представить вам синтезированный из нескольких найденных в Сети новый файл gps.conf, c которым процесс определения координат занимает 5-10 секунд . Т.е. к моменту завершения запуска программы навигации координаты уже определены. Файл адаптирован для Украины, но его легко переделать и для других стран Европы - в первых нескольких строках меняем "ua", например на "ru" - получаем файл для России, и т.п.

NTP_SERVER=ua.pool.ntp.org NTP_SERVER=0.ua.pool.ntp.org NTP_SERVER=1.ua.pool.ntp.org NTP_SERVER=2.ua.pool.ntp.org NTP_SERVER=3.ua.pool.ntp.org NTP_SERVER=europe.pool.ntp.org NTP_SERVER=0.europe.pool.ntp.org NTP_SERVER=1.europe.pool.ntp.org NTP_SERVER=2.europe.pool.ntp.org NTP_SERVER=3.europe.pool.ntp.org XTRA_SERVER_1=/data/xtra.bin AGPS=/data/xtra.bin AGPS=http://xtra1.gpsonextra.net/xtra.bin XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin DEFAULT_AGPS_ENABLE=TRUE DEFAULT_USER_PLANE=TRUE REPORT_POSITION_USE_SUPL_REFLOC=1 QOS_ACCURACY=50 QOS_TIME_OUT_STANDALONE=60 QOS_TIME_OUT_agps=89 QosHorizontalThreshold=1000 QosVerticalThreshold=500 AssistMethodType=1 AgpsUse=1 AgpsMtConf=0 AgpsMtResponseType=1 AgpsServerType=1 AgpsServerIp=3232235555 INTERMEDIATE_POS=1 C2K_HOST=c2k.pde.com C2K_PORT=1234 SUPL_HOST=FQDN SUPL_HOST=lbs.geo.t-mobile.com SUPL_HOST=supl.google.com SUPL_PORT=7276 SUPL_SECURE_PORT=7275 SUPL_NO_SECURE_PORT=3425 SUPL_TLS_HOST=FQDN SUPL_TLS_CERT=/etc/SuplRootCert ACCURACY_THRES=5000 CURRENT_CARRIER=common

UPD - Помним о простых вещах - 2:


  • Перед тем как раскрыть вам очередной секрет, скажу что мой путь к его открытию был долгим. Когда смартфон долго не ловит спутники, а нужно вот прям сейчас, то работа мысли становится более интенсивной. И вот в один из таких моментов, ко мне пришла мысль: а не глушит ли чехол на смартфоне сигнал спутника? И хотя я использую классный чехол Speck , я решил проверить. Как только я снял чехол - спутники начали ловиться один за другим. Отсюда вывод - если нужно как можно быстрее поймать GPS - снимите со смартфона чехол .
  • Этот совет был продиктован теми же соображениями, что и предыдущий - "долго не ловит, а нужно вот прям сейчас". Попробуйте изменить ориентацию смартфона в пространстве . Я неоднократно замечал что если держать аппарат вертикально - спутники ловятся быстрее, чем если горизонтально. Возможно в различных моделях будет по разному, но попробовать стоит.
  • Каждый раз при запуске программы Статус GPS заходим в Меню -> Инструменты -> Данные A-GPS - > Сбросить.
    Выходим.
    Затем снова Меню -> Инструменты -> Данные A-GPS - > Загрузить.
  • Также в программе Статус GPS (это делается обычно один раз) заходим в Меню -> Настройки -> Датчики -> Фильтрация датчиков . И пробуем разные варианты (в разных источниках рекомендуют пп.3 и 4, у меня обычно лучше работает с п.2):
    1) Без фильтрации
    2) Слабая
    3) Средняя
    4) Сильная

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


  • можеш подробно описать как ты ето делал?
  • Где находится файл gps.conf? Чем его открыть? У меня нету /system/etc/ а только DCIM LOST.DIR
  • У меня проблема не могу сохранить изменённый файл gps.conf пробовал 3мя программами и не как в чем проблема подскажите где что настроить
  • В папке etc нет файла gps.conf, что сделать для улучшения?
  • А я не могу исправить сам фаил gps.conf. Выдаёт ошибку и пишет, что сохранение невозможно! Что мне делать? Как изменить фаил?
  • А что означают эти параметры: INTERMEDIATE_POS=0, ACCURACY_THRES=0 ? (и т.д. и т.п.)
  • У меня смартфон Huawei (или Acer Luqiud и т.д. и т.п.) и не ловится GPS - что мне делать?
  • Помогите! Купил тел а GPS не работает.
  • Я поменял аккумулятор на новый. Новый акум без металической плоскости, как старый, может в этом быть причина?
  • Я переформатировал SD и сбосил на заводские настройки. Теперь вообще GPS не видит спутников. Почему?
  • Я октрутил винты, приподнял не полностью заднюю крышку, вынул кнопку пуск, почистил ее.
    Поставил все на место, теперь работает нормально, но GPS сигнала нет - почему?

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


- перед запуском навитела (или другого навигатора) через программу 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 сигнала нет - почему?

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

Немного теории с википедии. A-GPS (англ. Assisted GPS) — технология, ускоряющая «холодный старт» GPS-приёмника. Ускорение происходит за счет предоставления необходимой информации через альтернативные каналы связи (расчёт сервером расстояния между сигналами(ом) GSM антенн(ы)). Часто используется в сотовых телефонах, содержащих и приемник GPS.

Теперь ближе к практике. Сами настройки находятся в файле /etc/gps.conf. Редактирование его без root-прав невозможно. Эти настройки подсказывают A-GPS откуда запрашивать текущее местоположение спутников. Разумеется, для работы A-GPS требуется интернет-соединение.

Пример настроек из прошивки CyanogenMod 10.2 (да-да, это полные настройки A-GPS в этой прошивке):




Это альтернативные (экстра) серверы и их достаточно для работы, но наша задача ведь в скорости, не так ли? Решение скорости поиска спутников довольно простое: нужно заполнить этот файл оптимальными настройками для Вашего региона.

Если у Вас нет желания искать оптимальные настройки, то можете скачать файл настроек отсюда и заменить имеющийся у Вас. Крайне желательно сохранить где-нибудь прошлую версию файла - бэкапы лишними не бывают. Файл для России находится здесь: ссылка . После замены файла необходимо задать ему разрешения rw-r--r--, затем перезагружайте устройство и проверяйте работу GPS.

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

Главный минус решения выше в том, что настройки переполнены. Например, они содержат много NTP-серверов - поиск спутников не начнётся пока A-GPS не проверит их всех. Если какой-то из серверов будет недоступен, то попытки соединиться с ним прекратятся через 60 секунд. Три сервера - 3 минуты и т.д. При полной работоспособности всех серверов и быстром интернет-соединении проблем в скорости поиска спутников быть не должно. Но если какое-нибудь из этих условий не выполняется, то лучше сократить список NTP-серверов.

Оптимальным решением будет указывание нескольких основных NTP-серверов, для европейской части России это будут российский (ru.pool.ntp.org) и европейский (europe.pool.ntp.org). Для азиатской части России рекомендую использовать азиатский сервер (asia.pool.ntp.org). Для Украины ua.pool.ntp.org , для Казахстана kz.pool.ntp.org , для Беларуси by.pool.ntp.org . Обратите внимание, что по этим ссылкам даётся подсказка какие NPT-сервера лучше использовать для конкретной страны - их и используйте в gps.conf.

Далее SUPL_HOST и SUPL_PORT. Их существует несколько (свои, например, есть у Nokia и у T-Mobile), но по стандарту можно указать гугловые. Иногда в конфигах можно встретить эту строчку, но она равносильна ошибке, ибо FQDN - это аббревиатура от "Fully Qualified Domain Name", т.е. "полностью определённое имя домена":

В итоге получается вот такой пример оптимального gps.conf для европейской части России ():

NTP_SERVER=ru.pool.ntp.org
NTP_SERVER=0.ru.pool.ntp.org
NTP_SERVER=1.ru.pool.ntp.org
NTP_SERVER=2.ru.pool.ntp.org
NTP_SERVER=3.ru.pool.ntp.org
NTP_SERVER=europe.pool.ntp.org
NTP_SERVER=0.europe.pool.ntp.org
NTP_SERVER=1.europe.pool.ntp.org
NTP_SERVER=2.europe.pool.ntp.org
NTP_SERVER=3.europe.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
SUPL_HOST=supl.google.com
SUPL_PORT=7276

Остальные настройки маловажны или вовсе не нужны.

Дополнительно

  • GPS Test для тестирования скорости поиска спутников
  • Root Explorer или ES Проводник для доступа к файлу gps.conf

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

Как вам, вероятно, известно, глобальная система позиционирования (GPS) позволяет определять положение в пространстве с помощью сигналов от расположенных на орбите спутников. Среди множества причин, влияющих на приём этих сигналов, и, соответственно, на точность и скорость вычисления координат, большое значение имеет информация о текущем расположении спутников. Если эта информация устарела или вообще отсутствует, то происходит так называемый “холодный старт” устройства, при котором время определения координат может занимать десятки минут.

Такое медленное определение местоположения не устраивало пользователей, поэтому была разработана вспомогательная технология под названием A-GPS. Она предназначена для получения данных о размещении спутников со специальных серверов в сети. Вполне очевидно, что для этого необходимо наличие подключения к сети и адреса серверов, на которых эта информация хранится. Вот здесь обладателей многих смартфонов и подстерегает разочарование - дело в том, что на китайских телефонах и серверы указаны местные.

Таким образом, причина медленного определения координат на многих устройствах заключается в неподходящих для нашей страны адресах удалённых серверов, предоставляющих информацию о размещении и частотах спутников. Адреса этих серверов прописаны в специальном системном файле gps.conf.

После того, как мы выяснили причину проблем, становится понятным способ её исправления. Для более быстрой работы GPS необходимо изменить содержимое системного файла gps.conf. Можно делать это вручную и в Интернете вы найдёте множество сложных инструкций, описывающих каждую строчку этого конфигурационного файла. Но лучше пойти более простым путём и скачать уже готовый оптимизированный файл и заменить им оригинал. Для выполнения этой операции необходимы следующие условия:

  • наличие прав суперпользователя (root);
  • доступ к сети Интернет;
  • файловый менеджер с возможностью доступа к системному разделу, например популярные программы Root Explorer или ES File Explorer ;
  • программа GPS Test для тестирования результатов сделанных вами изменений.

Если вы располагаете всем необходимым, то можно приступить к выполнению инструкции.

1. Откройте браузер на смартфоне и перейдите по этой ссылке. Здесь вы найдёте готовые файлы, размещённые в папках с названиями стран. Выберите свою страну и скачайте файл gps.conf.

2. Запустите файловый менеджер и переместите загруженный вами файл в папку /system/etc. Согласитесь с появившимся предупреждением о замене системного файла.

3. Выставите с помощью файлового менеджера необходимые разрешения для файла gps.conf.

4. Запустите программу GPS Test, зайдите в настройки и нажатием на кнопку «Clear AGPS» очистите кэш спутниковых данных.

5. Перезагрузите устройство.

6. Запустите опять программу GPS Test и проверьте скорость нахождения спутников и определения ваших координат.

Как правило, вы должны увидеть существенное ускорение работы GPS, а скорость первоначального определения координат уменьшается с десятков минут буквально до нескольких секунд. Хотя бывают и исключения, связанные, как правило, с тем, что медленное определение местоположения связано с причинами, независящими от работы A-GPS.

Сегодня в очередной раз задумался над темой плохого приема GPS сигнала на моем китайском смартфоне Jiayu G2. Но, неожиданно для меня, проблема решилась буквально за пару минут - «китаец» находит спутники в течение 20 секунд. А теперь обо всем по-порядку.

В октябре мне пришел китайский телефон, заказанный на Aliexpress. Телефон за такие деньги отличный, и все было бы идеально, но модуль GPS находил спутники очень-очень долго, примерно за час, не быстрее. И это при включенном Wi-Fi и установленных галочках A-GPS и GPS EPO assistance. Меня это совсем не радовало и пришлось вспоминать полезный пост в блоге livejournal , советами из которого я пользовался настраивая еще свой первый смартфон на Android. Суть сводилась к редактированию gps.conf вспомогательными программами. «Китайскому приятелю» это помогло, но после первого (и пока последнего) сброса на заводские настройки GPS стал ловить еще хуже - оставлял на час на открытом воздухе в на поиск спутников и никакого результата. И вот сегодня я начал опять искать тот полезный пост в блоге livejournal и наткнулся на обновление в шапке поста:

«Фантастика!» подумал я и без промедления перешел по ссылке . По сравнению с первым постом в этот раз предлагались еще более конкретные действия, а именно заменить содержимое файла gps.conf (его можно найти по пути /etc/gps.conf , должны быть root -права) на следующие настройки:

NTP_SERVER=ua.pool.ntp.org
NTP_SERVER=0.ua.pool.ntp.org
NTP_SERVER=1.ua.pool.ntp.org
NTP_SERVER=2.ua.pool.ntp.org
NTP_SERVER=3.ua.pool.ntp.org
NTP_SERVER=europe.pool.ntp.org
NTP_SERVER=0.europe.pool.ntp.org
NTP_SERVER=1.europe.pool.ntp.org
NTP_SERVER=2.europe.pool.ntp.org
NTP_SERVER=3.europe.pool.ntp.org
XTRA_SERVER_1=/data/xtra.bin
AGPS=/data/xtra.bin
AGPS=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
DEFAULT_AGPS_ENABLE=TRUE
DEFAULT_USER_PLANE=TRUE
REPORT_POSITION_USE_SUPL_REFLOC=1
QOS_ACCURACY=50
QOS_TIME_OUT_STANDALONE=60
QOS_TIME_OUT_agps=89
QosHorizontalThreshold=1000
QosVerticalThreshold=500
AssistMethodType=1
AgpsUse=1
AgpsMtConf=0
AgpsMtResponseType=1
AgpsServerType=1
AgpsServerIp=3232235555
INTERMEDIATE_POS=1
C2K_HOST=c2k.pde.com
C2K_PORT=1234
SUPL_HOST=FQDN
SUPL_HOST=lbs.geo.t-mobile.com
SUPL_HOST=supl.google.com
SUPL_PORT=7276
SUPL_SECURE_PORT=7275
SUPL_NO_SECURE_PORT=3425
SUPL_TLS_HOST=FQDN
SUPL_TLS_CERT=/etc/SuplRootCert
ACCURACY_THRES=5000
CURRENT_CARRIER=common

Эти настройки рассчитаны на жителей Украины, но для жителей России их очень легко адаптировать заменив ua.pool на ru.pool .

От себя могу добавить, что я пользуюсь приложением GPS Status и после перезагрузки при первом запуске приложения я сделал сброс данных кэша: в программе вызываем меню, далее выбираем Tools , там Manage A-GPS state и жмем Reset , а затем Download .

Снимаю шляпу перед автором оригинального поста , уважаемым mechanicuss. Его совет помог не только мне, и может помочь еще многим страдающим.

На этом все. Всем чистого неба и стабильного сигнала из космоса.



Просмотров