点击:0 | 回复:18 奇瑞A3论坛 >  手机导航-GPS搜星速度优化(android手机)
  • 火柴不靠谱

  • 发信息

  • 精华:5帖
  • 帖子:45帖 | 1185回
  • 注册:2012年6月13日
  • 来自:安徽 合肥
  •  
只看楼主 收藏本帖 精华标准
发表于 2012-10-13 18:19:29

手机导航-GPS搜星速度优化(android手机)

 

小三提回来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天线。。。俺等教程。。。

 
分享到:
3
  • 火柴不靠谱

  • 发信息

  • 精华:5帖
  • 帖子:45帖 | 1185回
  • 注册:2012年6月13日
  • 来自:安徽 合肥
  •  
发表于 2012-10-13 18:22:39

哦,对了,忘了说,手机里面得装张卡,才能AGPS啊(基站定位、通过网络更新AGPS信息)

 

反正俺多张电信卡,每月送100M流量,不用担心这个问题。

 
  • 火柴不靠谱

  • 发信息

  • 精华:5帖
  • 帖子:45帖 | 1185回
  • 注册:2012年6月13日
  • 来自:安徽 合肥
  •  
发表于 2012-10-14 01:06:20

小马的拳头 2012-10-14 00:00:06 发表在 小马的拳头

这个软件才是王道:GPS状态 基本就是3到5秒搜到星:

 
搜星软件的原理是一样的,也是下载agps信息。但是,既然手机带agps功能,为什么不省掉这一步呢。
 
  • 火柴不靠谱

  • 发信息

  • 精华:5帖
  • 帖子:45帖 | 1185回
  • 注册:2012年6月13日
  • 来自:安徽 合肥
  •  
发表于 2012-10-14 01:16:30

行至由心 2012-10-14 01:07:36 发表在 行至由心

还不如用百度地图呢 省着更新GPS地图了

 
这玩意不靠谱。。。
 
1 / 1 页
到第
 

高级模式

0/5000字

您确认要删除这条回帖吗?

提示

您是否确认将回复优先展示,扣除300积分?

您已被楼主屏蔽,不能回复该帖子