Ускорение gps на андроиде. Ускорение работы GPS на Android - El Fotografo

В данной статье вы узнаете как с помощью не сложных манипуляций в несколько десятков раз ускорить подключение GPS и увеличить и его точность на смартфонах и планшетах на ОС Android!

Теория

3. Компьютер

4. Установить на ПК текстовый редактор NotePad ++ (Windows), для Linux пользователей Gedit

Извлечь файл GPS.CONF

За работу GPS модуля в Android отвечает файл GPS.CONF, который необходимо извлечь из системного раздела. Находиться он по пути /system/etc/gps.conf и переместить во внутреную память или SD карту, чтобы в дальнейшем редактировать его на ПК.

Редактирование GPS.CONF

Чтобы ускорить подключение GPS и увеличить его точность необходимо изменить настройки GPS.CONF. Откройте его с помощью Notepad++. В зависимости от производителя вы можете увидеть различные внесенные настройки.

Настройка NTP сервера

Приступим к модернизации файла GPS.CONF! Первое что необходимо выполнить - это дописать или переписать NTP_SERVER . NTP - это это высокоточный сервер синхронизации времени. В зависимости от вашего место расположения необходимо изменять главный NTP сервер. Как вы можете видеть выше на скрине указан сервер north-america.pool.ntp.org , что явно не ускорит подключение к GPS если вы к примеру находитесь в Белоруссии, Украине, России. Поэтому необходимо прописать «местный» сервер:

Для Белоруссии идеальным NTP является: by.pool.ntp.org Для Украины идеальным NTP является: ua.pool.ntp.org Для России идеальным NTP является: ru.pool.ntp.org

Также можно воспользоватся общим сервером для Европы: europe.pool.ntp.org

Пример как должно быть записано :

NTP_SERVER=by.pool.ntp.org <-- Для Белоруссии NTP_SERVER=ua.pool.ntp.org <-- Для Украины NTP_SERVER=ru.pool.ntp.org <-- Для России

также можно дополнительно внести еще один сервер Европы, в случае не работы из одного из местных серверов

Пример:

NTP_SERVER=europe.pool.ntp.org NTP_SERVER=by.pool.ntp.org

Некоторые ромоделы кастомных прошивок вносят множество других NTP сервером, что не есть верно, так как, при этом подключение наоборот замедляется, из-за того что 5-6 серверов может не работать, а Android все равно будет тратить время на соединение.

Также существует альтернативные сервера XTRA их рекомендуется вписать и не выполнять никаких изменений



XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin

Задействовать или не задействовать WI-FI

Для увеличения точности навигации, а также увеличения подключения к спутинкам GPS можно задействовать беспроводной протокол передачи данных WI-FI. Для этого необходимо вписать следущий параметр:

ENABLE_WIPER=

Значение 1 разрешит использовать WI-FI, значение 0 наоборот запретит

Например:

ENABLE_WIPER=1 <-- использовать WI-FI ENABLE_WIPER=0 <-- не использовать WI-FI

Отчет промежуточных позиций (точность GPS или скорость подключения)

Данный параметр отвечает за скорость и точность GPS, если больше скорость (холодный и горячий старт), то меньше точность

INTERMEDIATE_POS=

Значение 0 - точные данные, медленней подключение.

Значение 1 - менее точные данные (чем дольше проработает, тем точней будут в течение одной сессии), но быстрей подключение.

Например:

INTERMEDIATE_POS=0 <-- точно, но медленно INTERMEDIATE_POS=1 <-- не точно, но быстро

Порог точности промежуточных позиций (точность GPS)

Данный параметр, откидывает погрешности

INTERMEDIATE_POS=

Значение 0 - учитывать все данные

Значение 100, 200, 300, 1000, 5000 - удаляет погрешности

Например

INTERMEDIATE_POS=0 <-- все промежуточные позиции INTERMEDIATE_POS=5000 <-- игнорируются менее точные

Задействовать A-GPS (скорость, точность)

Параметр отвечает за то будет включен или отключен A-GPS (при включенном точней)

DEFAULT_AGPS_ENABLE=

Значение TRUE - использовать A-GPS

Значение FALSE - не использовать A-GPS

Например

DEFAULT_AGPS_ENABLE=TRUE <-- использовать DEFAULT_AGPS_ENABLE=FALSE <-- не использовать

Подключение к точки соединения (Supplicant)

Прописать такие значения если не указаны:

SUPL_HOST=supl.google.com
SUPL_PORT=7276

Тип использования передачи данных в A-GPS

Параметр отвечает за количество передаваемой информации, служебная «Control Plane» или широкая передача абонентских данных «User Plane» . Рекомендуется использовать «User Plane».

DEFAULT_USER_PLANE=

Значение TRUE - использовать User Plane

Значение FALSE - использовать Control Plane

Например:

DEFAULT_USER_PLANE=TRUE <-- User Plane DEFAULT_USER_PLANE=FALSE <-- Control Plane

Итоговый вариант файла GPS.CONF

NTP_SERVER=ua.pool.ntp.org
ENABLE_WIPER=1
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
INTERMEDIATE_POS=0
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
DEFAULT_AGPS_ENABLE=TRUE
DEFAULT_USER_PLANE=TRUE
ACCURACY_THRES=0
SUPL_PORT=7276
SUPL_HOST=supl.google.com

Отредактированный вариант файла GPS.CONF сохранить и забросить обратно в Android и перезагрузить его! Поздравляю вы смогли ускорить подключение GPS и увеличить его точность на вашем Android!

Легкий способ для Ленивых

Для тех кто не хочет экспериментировать и хочет положиться на чужой опыт, можете воспользоваться готовым, модифицированным файлом gps.conf . По заявлению авторов BlackIce Team подключения к GPS спутникам происходит практически мгновенно.

Все что вам нужно - это скачать gps.conf для своей страны и забросить его по пути /system/etc, после чего перезагрузить Android.

Скачать коллекцию оптимизированных GPS.CONF



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

В октябре мне пришел китайский телефон, заказанный на Aliexpress. Телефон за такие деньги отличный, и все было бы идеально, но модуль GPS находил спутники очень-очень долго, примерно за час, не быстрее. И это при включенном Wi-Fi и установленных галочках A-GPS и GPS EPO assistance. Меня это совсем не радовало и пришлось вспоминать , советами из которого я пользовался настраивая еще свой первый смартфон на 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 .
Далее нужно перезагрузить Android, а затем запустить программу для работы с GPS и наслаждаться стабильным сигналом.
От себя могу добавить, что я пользуюсь приложением и после перезагрузки при первом запуске приложения я сделал сброс данных кэша: в программе вызываем меню, далее выбираем Tools , там Manage A-GPS state и жмем Reset , а затем Download .
Файл 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) Сильная

Медленный поиск 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

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

У многих автомобилистов имеется полноценный GPS-навигатор. У некоторых таких устройств на задней стенке или боковом торце располагается разъем для антенны. Это позволяет усилить прием сигнала в несколько раз - нужно лишь раздобыть соответствующую антенну.

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

Посещение раздела с настройками

Во многих смартфонах и планшетах GPS-чип по умолчанию вовсе отключен. В таком случае аппарат определяет местоположение по сотовым вышкам и сетям Wi-Fi. Чтобы включить навигационный чип, нужна настройка девайса. Для этого совершите следующие действия:

Шаг 1. Зайдите в раздел «Настройки ».

Шаг 2. Здесь вас должен заинтересовать пункт «Местоположение ».

Шаг 3. На разных устройствах данный пункт может иметь другое наименование. Например, на планшетах Samsung нужно выбрать вкладку «Подключения » и нажать на пункт «Геоданные », заодно активировав соответствующий переключатель.

Шаг 4. В этом разделе вам необходимо включить высокую точность определения местоположения. Аппарат должен использовать для этого все источники - спутники GPS, сети Wi-Fi и данные с сотовых вышек.

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

Калибровка компаса

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

Для калибровки компаса вам потребуется приложение GPS Essentials . Скачайте и установите его, после чего совершите следующие действия:

Шаг 1. Запустите программу.

Шаг 2. Зайдите в режим Compass .

Шаг 3. Если компас работает стабильно, то проблема заключается не в нём. Если компас отказывается правильно показывать стороны света, то совершите его калибровку.

Шаг 4. Сначала повращайте смартфон вокруг своей оси экраном кверху. Далее переверните его снизу вверх. Ну а потом переверните слева направо. Это должно помочь. В некоторых версиях приложения сначала необходимо выбрать пункт Calibrate в настройках раздела.

Просмотр количества видимых GPS-спутников

В том же GPS Essentials вы можете посмотреть на то, к какому количеству спутников подключается ваш смартфон. Если оно достаточно большое, то навигационный чип винить не стоит - проблема в какой-то из программ. Для просмотра спутников нужно в меню приложения выбрать пункт Satellites .

Сброс GPS-данных

Распространенной проблемой некоторых устройств является долгая привязка к конкретным GPS-спутникам, даже когда те успели уйти из зоны видимости. Помочь в таком случае может приложение GPS Status & Toolbox . Оно сбросит GPS-данные, после чего подключение к спутникам совершится с нуля.

Шаг 1. Скачайте и установите утилиту.

Шаг 2. Запустите установленное приложение, согласившись с условиями лицензионного соглашения.

Шаг 3. На главном экране программы вы увидите показания разных датчиков, а также информацию о количестве GPS-спутников над головой.

Шаг 4. Нажмите в любом месте дисплея, после чего вы сможете слева вытащить шторку с основным меню. Здесь вы можете откалибровать компас, если это не удалось сделать при помощи рассмотренного ранее приложения. Но сейчас вам нужно нажать на пункт «Управление состояниями A-GPS ».

Шаг 5. Во всплывающем меню необходимо нажать кнопку «Сбросить ».

Шаг 6. После завершения сброса вернитесь к этому всплывающему меню, нажав в нём кнопку «Загрузить ».

На что обращать внимание при покупке нового смартфона?

Теперь вы знаете ответ на вопрос «Как настроить GPS на Андроид?». Но вам всё это не очень сильно поможет, если вы хотите использовать свой смартфон в качестве GPS-навигатора на постоянной основе. Лучше для этих целей обзавестись добротным современным смартфоном. При его выборе обязательно ознакомьтесь с полными техническими характеристиками. В них необходимо найти упоминание о поддержке технологии A-GPS - она здорово снижает энергопотребление. Идеальным же смартфоном для вас станет тот, который работает ещё и со спутниками ГЛОНАСС . К счастью, поддержкой российской навигационной системы обладают практически все аппараты, которые ввозятся в нашу страну на протяжении последнего года. Но, опять же, заглянуть в спецификации устройства перед его приобретением всё же нужно.