Ускорить подключение GPS и увеличить его точность на Android

В данной статье вы узнаете как с помощью не сложных манипуляций в несколько десятков раз ускорить подключение GPS и увеличить и его точность на смартфонах и планшетах Android! Абсолютно все, что нужно для GPS навигации + готовые gps.conf!

Теория: Что такое GPS и A-GPS?

GPS (Global Positioning System — система глобального позиционирования) — система необходимая для высокоточного определения месторасположения, используется для навигации и других целях.

A-GPS — усовершенствованная система GPS, которая ускоряет холодный и горячий старт, за счет дополнительных каналов связи (WI-FI, сотовая связь), а также повышает точность позиционирования. Абсолютно во всех новых смартфонах и планшетах Android (в которых есть GPS) используется A-GPS.

Холодный и горячий старт GPS

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

Если модуль имеет все данные и они не устарели, происходит горячий старт, время подключения к спутникам длиться 1 — 5 минут.

Теперь давайте разберемся как улучшить сигнал gps на андроид!

Ускорить подключение GPS и увеличить
его точность на Android

Необходимое

  1. Наличие Root прав на Android смартфоне или планшете;
  2. Файловый менеджер с доступом в раздел /system, например Root Browser
  3. Компьютер;
  4. Установить на ПК текстовый редактор NotePad ++ (Windows), для Linux пользователей Gedit.

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

Ускорить подключение GPS и увеличить его точность

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


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

Ускорить подключение GPS и увеличить его точность

Чтобы ускорить подключение 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_1=https://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=https://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=https://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 — удаляет погрешности;

Рекомендуется выставлять параметр 0, но вы можете поэкспериментировать.

Например:

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=https://xtra1.gpsonextra.net/xtra.bin
INTERMEDIATE_POS=0
XTRA_SERVER_3=https://xtra3.gpsonextra.net/xtra.bin
XTRA_SERVER_2=https://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)

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

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

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