Хотите поблагодарить автора блога - жмите здесь !
1 2 0
1 2 0

Нажмите на рекламный баннер выше, если хотите поблагодарить автора блога !
Написание каждой статьи заняло в сотни раз больше времени, чем один клик.

четверг, июля 18, 2013

Типичные ошибки при настройке GPS в Android, встречающиеся в "кастомных" прошивках, и правильный gps.conf

Как сделать калибровку GPS таким образом, чтобы достичь результатов, близких к физическому пределу, какой только может дать Ваше "железо" я описал ранее. После точного выполнения инструкции по калибровке, у нас время "холодного старта" на открытой местности стало менее 30ти секунд (типично 18-20), а между домами в самом худшем случае - до минуты, если большей части спутников просто "не видно". А точность, при "удачном стечении обстоятельств" намного превосходит "расчетный плюс-минус" показываемый GPS. В моем случае в более чем половине проверок на открытом месте, реальная точность не хуже +- 1 метр. Это при том, что "теоретическая расчетная" для "гражданского GPS" +-5метров. В общем как делать правильно я описал. А теперь о том "как делать не надо", а также почему у Вас могло ничего не получиться.

По нету ходят рекомендации поставить "чудо файлик gps.conf", который "резко повысит скорость и точность работы GPS. И этот же файлик (с некоторыми вариациями) часто включают в "кастомные" прошивки многие авторы. Я решил проверить один из вариантов, и поставил его практически без изменений. Только NTP сменил на более близкие. Пример такого "чудо файлика" можете посмотреть здесь: http://mlctablet.blogspot.com/2012/12/nastrojka-gps-na-kitajskom-planshete.html, и не только - они по половине поисковых запросов выдаются как "офикительное решение". Результат - точность упала однозначно. Время "захвата" ухудшилось. Почему ? Я долго описывать не буду - это доходчиво описали другие, вот тут (рус): http://www.droidnews.ru/pochemu-v-vashih-kastomah-ploho-rabotaet-gps, или вот тут (eng): http://rootzwiki.com/topic/28989-the-end-all-be-all-guide-to-your-gps/. Так что, если Вам не помгла калибровка, или не помогла в достаточной степени, или GPS вообще "тормоз и ничего ему не помогает" - взгляните на файлик, /system/etc/gps.conf. И если он напоминает тот, что приведен в первой ссылке этой заметки - значит вот она и причина. А правильный должен выглядеть приблизительно так:

NTP_SERVER=193.193.193.107
NTP_SERVER=193.34.155.4
#NTP_SERVER=31.28.161.68
#NTP_SERVER=92.249.120.2
#NTP_SERVER=91.236.251.5
#NTP_SERVER=91.236.251.5
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

Я тут отступил только в одном пункте от "правильного". Дело в том, что нужно указывать "пул" - это надежнее, так как каждый отдельный сервер может иногда и не работать. С другой, я проверял - время пинга (и значит точность установки времени по этому серверу) для разных серверов пула сильно отличается. Просто потому что они разбросаны по всей стране и на разного качества каналах (и это для Украины, а что будет для России с ее то расстояниями). Поэтому я отобрал несколько тех, которые для Киева давали наилучшие результаты (время пинга по WIFI ~1.5мс - подробнее о том как подбирать сервера NTP смотрите статьи по калибровке GPS и точной установке времени чуть ранее в этом же блоге). Далее, с одной стороны надежнее оставить их несколько, чтобы если один из выбранных окажется "в отказе", система работала по следующему. С другой - чем больше там прописано NTP серверов. тем дольше будет старт GPS (почему - см в статьях ссылки на которые выше). Поэтому я оставил только два лучших, остальные "закомментил" - чтобы "были про запас". Да, и если Вы использовали метод установки точного времени, который я описал тут: http://vyacheslav.blogspot.com/2013/07/android-gps_12.html, и находитесь в Киеве, замените рекомендуемые сервера NTp на 193.193.193.107 и 193.34.155.4 - они стабильнее (п времени отклика) чем те что приведены там в примере.
PS Если все нормально работает, а потом "вдруг" "GPS стал сильно тормозить при старте" - проверьте не ушел ли в отказ один из серверов NTP, используемых в файле gps.conf. И тот что ушел в отказ "закомментируйте".
PPS Если файл GPS конф будете готовить на виндовой машине, не забудьте перед записью "привести окончания строк в линуховый вид" (например с помощью редактора Notepad++ Меню-Правка-Формат конца строк - преобразовать в UNIX формат) .

Комментариев нет:

Отправить комментарий

Закрыть окно X
Пожалуйста, потратьте несколько секунд на поддержку блога и его автора
Нажмите на рекламную ссылку: Рекламная ссылка для поддержки блога, или на баннер вверху справа страницы.