提回来4个月,关于导航的问题曾经纠结过很久:弄个一体机吧,贵,安装还麻烦,新地图也麻烦(其实主要是贵。。。),家里装宽带电信送华为C8812跟华为C8650,一直都是拿这两个手机当导航用,但是冷启动搜星速度慢,信号也太稳定,经常架面丢星。
一直想优化一手机的搜星速度,然后关注的方向一是GPS天线这个方向,但是哥们属于理论派,动手能力差(电烙铁用太烂),一直没什么动作。。。然后心想手机应该是有带AGPS功能的啊,为啥作用大。。。
昨晚心血来潮,把手里面的手机跟PAD,跑到阳台逐个测试一,参测机型如:
1、华为C8812
2、华为C8650
3、米M1电信版
4、联想乐Phone
5、联想乐PAD A1
对比结果:米搜星快,基本可以做到秒定,凯立德12颗星,华为的两款手机都如米,大约需要10分钟才能定位,凯立德7颗星右,乐Phone从头到尾一颗星都搜到,联想乐PAD A1能搜到1颗星(等于没有)。
查一手机GPS芯片的信息,发现基本这几款手机的GPS处理芯片都是集成在CPU里面的,并且这四款手机都是通的CPU,带GPSOne功能,然后联想乐PAD A1用的是TI OMAP 3622,经确认应该带AGPS。
在这里插拔一AGPS的工作原理,我就百度,按自己理解的来大概讲一吧,首先讲一GPS,GPS在定位时,会根据搜到的卫星计算卫星的轨迹,生成一堆卫星的运行轨迹,根据这一堆卫星来进行定位,这一堆卫生的运行轨迹叫星历,GPS会在本地保存最后一次定位的星历,据说会保存4个时(这个最后一次定位的概念是:明某年某月某日某时某地,用完GPS导航后,关闭GPS导航,记来的星历就是该年该月该日该时该地天的卫星的运行轨迹)。如果在4时内原地再次开启GPS(也就是热启动),那么GPS可以利用保存来的星历迅速定位(因为知道那一堆卫星大概在什么位置啊,重点在那一片地方找呗)。好,到这里其实就该AGPS出场,AGPS干嘛用的?当GPS冷启动时,这没有星历么,或者是以前保存的星历失效么,AGPS会根据手机信号进行基站模糊定位,然后把定位到的位置信息发送给AGPS服务器,AGPS服务器再把手机信号定位地的星历发送给手机,这GPS就有星历,就从冷启动成功升级为热启动,搜星定位就快。。。妹的,大概讲一就讲这么多字。。。好,面继续。。。
这几款手机的CPU跟GPSOne信息如:
1、华为C8812 通MSM7627A GPSOne7代
2、华为C8650 通MSM7627 GPSOne7代
3、米M1 通MSM8660 GPSOne8代
4、联想乐Phone 通QSD8250 GPSOne7代
其中华为C8812、C8650以及联想乐Phone的CPU都属于通骁龙一代,米M1的CPU属于通骁龙代。
于是坐到马桶思考一:既然都有GPSOne功能,那么即使一个是7代,一个是8代,应该也会差距这么大吧。于是继续百度。。。终于,找到关键的东西:gps.conf
先贴一我现在已经优化过的gps.conf的内容:
NTP_SERVER=cn.pool.ntp.org
NTP_SERVER=time.gpsonextra.net
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra2.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra2.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra2.bin
SUPL_HOST=suplcn.sirf.com
SUPL_PORT=7275
从往:
NTP_SERVER——时间同步服务器
XTRA_SERVER——妹的,昨晚的网站看过找到链接,这个记,反正这行都是默认值,应该是通提供的。
SUPL_HOST——AGPS服务器的域名,也可以直接填IP地址
SUPL_PORT——AGPS服务器的服务端口
关键来啊,俺看一两台华为手机的gps.conf内容,SUPL_HOST跟SUPL_PORT都是未配置的,啥叫未配置?就是在gps.conf里面写的是#SUPL_HOST跟#SUPL_PORT,对编程有解的车友应该知道,这尼马#号就是注释符啊,生效啊,也就是华为手机的gps.conf中没有AGPS服务器的相关配置。
然后联想乐Phone里面的SUPL_HOST配的是google的一个服务器,俺ping一,ping通。。。也就是说,这玩意也没生效。
找到问题原因就好办么,俺直接刷刷刷把华为跟联想手机的gps.conf全换成优化后的conf文件,重启,再次测试。。。
测试结果:四台手机均在30秒内完成定位,其中联想乐Phone之前一直搜到星,再次测试时30秒内直接12星。。。
终于解决。。。
好,这都是昨晚的事。。。今天午出门,拿华为C8812试一,冷启动1分钟右凯立德定位成功,全程保持在7-8颗星右。。。(隔一晚,必须是冷启动)
其实,看到这,android系统玩熟的车友应该已经在动手。。。俺也再哆嗦一如何去修改gps.conf吧:
1、你先root。。。
2、可以直接新建一个文本文件,把面那一段gps.conf的内容复制粘贴进去,然后把这个文本文件改名为gps.conf
3、把gps.conf导到手机SD卡里边去
4、通过RE管理器,用这个gps.conf文件替换掉手机系统里面原来的gps.conf文件(路径是/system/etc)
5、重启手机,让新的gps.conf生效
呃,最后说一,本帖的优化方式仅适用于加速GPS定位,对于GPS信号稳定,丢星等还是没有用的,毕竟手机的GPS天线是内置的,屁大点天线,加整车的金属框,加前挡玻璃,加前挡膜,这信号,你们懂的。。。能有7-8颗星,就错,过稍微过个穿,过个隧道,跑在架桥(嗯,反正是有遮挡物啦),信号断一是肯定的。。。
如果动手能力强,可以试试外接GPS天线。。。俺等教程。。。