|
关于小米note GPS搜星加强秒定位 + ROOT方法
2017-06-20 开心老眯 来源 阅 106
转藏到我的图书馆
微信分享:
本帖最后由 444816523 于 2015-8-27 14:19 编辑
下面简要说说方法
前段时间一直为了新买的小米note 使用一系列地图导航软件搜星定位时间太长太差 或搜到星很快也丢星了 基本无法实现实时导航而困扰 后来网上搜寻相关资料 自己动手实践 最终解决了这个问题 GPS秒定位 定位星数超多 定位精准度也非常高 具体有多高 就是高德地图定位点我放到最大还看不到定位点有偏差圆圈出现
有图有真相:
至于上面图上定位时间为什么花了24秒 是因为我刚开始手机是套着淘宝上面卖的那种十几二十几元的金属边框手机壳在屋里 定位了后几颗星感觉有点少然后我走到外面拆掉金属手机壳露天地后截图的
好,现在咱们进入主题
注意,手机不要使用有金属边框或带金属的手机外壳 测试证明虽然有些金属边框手机壳确实对网络信号没有太大影响平时打电话上网都没问题 但是对GPS搜星定位却有有很大的影响 我用的就是金属边框手机外壳 导致我搜星能力非常差 丢星严重 甚至无法搜星 基本无法使用地图导航 当然不愿意把手机ROOT的 觉得手机地图导航实时定位能力差的如果有使用金属手机外壳可以尝试把手机外壳拆掉后试试
查看手机自带的GPS搜星定位测试效果 在手机拨号界面输入 *#*#64663#*#* 会自动调出手机内置的 硬件检测 找到第30项的 GPS测试 进行检测
当然 我没有使用金属手机外壳后感觉自己手机搜星速度实时定位能力还是不能满足我的需求 实时导航定位对我来说很是重要的,对定位质量要求也很高,所以为了提高搜星速度实时定位精准度 我对自己的手机做了以下修改
-----------------------------------------小米note ROOT教程-------------------------------------------------
首先使用了 360一键ROOT 把自己的小米NOTE ROOT了 获得了系统最高权限 下面是ROOT教程
首先电脑端下载安装360一键ROOT
手机要打开USB调试模式才能连接360一键ROOT
我手机里用的是稳定版MUI6.5.3.0 版本 是按照下面方式打开USB调试模式的
设置-关于手机-快速连续7次点击MUI版本这一项目看到提示手机进入开发者模式-返回到 设置-其它高级设置-开发者选项-打开里面的开启开发者选项和USB调试
电脑端打开360一键ROOT 手机用数据线连接电脑 电脑端的360一键ROOT连接手机后点一键ROOT后按照提示进行ROOT就行 耐心等待 最后看到ROOT成功就说明成功了
-----------------------------------修改手机系统文件system/etc/gps.conf-------------------------------------
手机ROOT后有 RE管理器 的直接打开RE管理器 没有的ROOT后下载一个RE管理器
打开RE管理器操作时如果过提示RE管理器要过的ROOT超级权限时记得点允许
下面是修改步骤 (新版RE管理器以文本方式编辑打开文件时会提示挂载读写点击确定就行,没有提示的返回etc目录点击右上角的挂载读写手动挂载读写权限)
打开RE管理器-在根目录里打开etc文件夹-点住gps.conf文件-在出现的菜单里选择 以文本方式编辑 - 按照下面方法修改代码
这是小米note原始的gps.conf文件代码:
#Uncommenting these urls would only enable
#the power up auto injection and force injection(test case).
#XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin
#XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin
#XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin
# Error Estimate
# _SET = 1
# _CLEAR = 0
ERR_ESTIMATE=0
#Test
NTP_SERVER=time.gpsonextra.net
#Asia
# NTP_SERVER=asia.pool.ntp.org
#Europe
# NTP_SERVER=europe.pool.ntp.org
#North America
# NTP_SERVER=north-america.pool.ntp.org
# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info
# 4 - Debug, 5 - Verbose
# If DEBUG_LEVEL is commented, Android's logging levels will be used
DEBUG_LEVEL = 4
# Intermediate position report, 1=enable, 0=disable
INTERMEDIATE_POS=0
# supl version 2.0
SUPL_VER=0x20000
# Emergency SUPL, 1=enable, 0=disable
SUPL_ES=1
#Choose PDN for Emergency SUPL
#1 - Use emergency PDN
#0 - Use regular SUPL PDN for Emergency SUPL
USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL=1
# GPS Capabilities bit mask
# SCHEDULING = 0x01
# MSB = 0x02
# MSA = 0x04
# ON_DEMAND_TIME = 0x10
# GEOFENCE = 0x20
# default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING | GEOFENCE
CAPABILITIES=0x37
# Accuracy threshold for intermediate positions
# less accurate positions are ignored, 0 for passing all positions
# ACCURACY_THRES=5000
################################
##### AGPS server settings #####
################################
# FOR SUPL SUPPORT, set the following
# SUPL_HOST=supl.host.com or IP
# SUPL_PORT=1234
SUPL_HOST=supl.google.com
SUPL_PORT=7276
# FOR C2K PDE SUPPORT, set the following
# C2K_HOST=c2k.pde.com or IP
# C2K_PORT=1234
####################################
# LTE Positioning Profile Settings
####################################
# 0: Enable RRLP on LTE(Default)
# 1: Enable LPP_User_Plane on LTE
# 2: Enable LPP_Control_Plane
# 3: Enable both LPP_User_Plane and LPP_Control_Plane
LPP_PROFILE = 0
################################
# EXTRA SETTINGS
################################
# NMEA provider (1=Modem Processor, 0=Application Processor)
NMEA_PROVIDER=0
# Mark if it is a SGLTE target (1=SGLTE, 0=nonSGLTE)
SGLTE_TARGET=0
##################################################
# Select Positioning Protocol on A-GLONASS system
##################################################
# 0x1: RRC CPlane
# 0x2: RRLP UPlane
# 0x4: LLP Uplane
A_GLONASS_POS_PROTOCOL_SELECT = 0
复制代码
这是修改后的gps.conf文件代码:
#Uncommenting these urls would only enable
#the power up auto injection and force injection(test case).
#XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin
#XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin
#XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin
# Error Estimate
# _SET = 1
# _CLEAR = 0
ERR_ESTIMATE=0
#Test
NTP_SERVER=time.gpsonextra.net
#Asia
NTP_SERVER=asia.pool.ntp.org
NTP_SERVER=3.cn.pool.ntp.org
NTP_SERVER=2.cn.pool.ntp.org
NTP_SERVER=1.cn.pool.ntp.org
NTP_SERVER=0.cn.pool.ntp.org
NTP_SERVER=cn.pool.ntp.org
NTP_SERVER=3.asia.pool.ntp.org
NTP_SERVER=2.asia.pool.ntp.org
NTP_SERVER=1.asia.pool.ntp.org
NTP_SERVER=0.asia.pool.ntp.org
#Europe
# NTP_SERVER=europe.pool.ntp.org
#North America
# NTP_SERVER=north-america.pool.ntp.org
# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info
# 4 - Debug, 5 - Verbose
# If DEBUG_LEVEL is commented, Android's logging levels will be used
DEBUG_LEVEL = 4
# Intermediate position report, 1=enable, 0=disable
INTERMEDIATE_POS=0
# supl version 2.0
SUPL_VER=0x20000
# Emergency SUPL, 1=enable, 0=disable
SUPL_ES=1
#Choose PDN for Emergency SUPL
#1 - Use emergency PDN
#0 - Use regular SUPL PDN for Emergency SUPL
USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL=1
# GPS Capabilities bit mask
# SCHEDULING = 0x01
# MSB = 0x02
# MSA = 0x04
# ON_DEMAND_TIME = 0x10
# GEOFENCE = 0x20
# default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING | GEOFENCE
CAPABILITIES=0x37
# Accuracy threshold for intermediate positions
# less accurate positions are ignored, 0 for passing all positions
# ACCURACY_THRES=5000
################################
##### AGPS server settings #####
################################
# FOR SUPL SUPPORT, set the following
# SUPL_HOST=supl.host.com or IP
# SUPL_PORT=1234
SUPL_HOST=suplcn.sirf.com
SUPL_HOST=supl.google.com
SUPL_HOST=supl.nokia.com
SUPL_PORT=7276
# FOR C2K PDE SUPPORT, set the following
# C2K_HOST=c2k.pde.com or IP
# C2K_PORT=1234
####################################
# LTE Positioning Profile Settings
####################################
# 0: Enable RRLP on LTE(Default)
# 1: Enable LPP_User_Plane on LTE
# 2: Enable LPP_Control_Plane
# 3: Enable both LPP_User_Plane and LPP_Control_Plane
LPP_PROFILE = 0
################################
# EXTRA SETTINGS
################################
# NMEA provider (1=Modem Processor, 0=Application Processor)
NMEA_PROVIDER=0
# Mark if it is a SGLTE target (1=SGLTE, 0=nonSGLTE)
SGLTE_TARGET=0
##################################################
# Select Positioning Protocol on A-GLONASS system
##################################################
# 0x1: RRC CPlane
# 0x2: RRLP UPlane
# 0x4: LLP Uplane
A_GLONASS_POS_PROTOCOL_SELECT = 0
复制代码
修改成成后点击右上角按钮保存并退出 然后退出RE管理器 (旧版本ER管理器可能需要点击 挂载只读 先取消 etc文件夹 的挂载读写权限后再退出ER管理器,取消挂载读写后可以防止其它程序修改这个文件夹的内容 新版RE管理器退出后会自动取消挂载读写 )
修改GPS配置文件增强AGPS辅助定位功能完毕
最后重启手机后去测试一下GPS搜星速度和实时定位能力有没有增强吧,记得一定要重启手机修改后的文件才能生效哦!
AGPS辅助增强修改教程结束
-------------------------------------- 系统目录system/etc/文件gps.conf修改分析--------------------------------------------
那我们来看看我们修改了那几个地方
修改点一:
原代码里的
#Test
NTP_SERVER=time.gpsonextra.net
#Asia
# NTP_SERVER=asia.pool.ntp.org
#Europe
# NTP_SERVER=europe.pool.ntp.org
#North America
# NTP_SERVER=north-america.pool.ntp.org
复制代码
修改成了
#Test
NTP_SERVER=time.gpsonextra.net
#Asia
NTP_SERVER=asia.pool.ntp.org
NTP_SERVER=3.cn.pool.ntp.org
NTP_SERVER=2.cn.pool.ntp.org
NTP_SERVER=1.cn.pool.ntp.org
NTP_SERVER=0.cn.pool.ntp.org
NTP_SERVER=cn.pool.ntp.org
NTP_SERVER=3.asia.pool.ntp.org
NTP_SERVER=2.asia.pool.ntp.org
NTP_SERVER=1.asia.pool.ntp.org
NTP_SERVER=0.asia.pool.ntp.org
#Europe
# NTP_SERVER=europe.pool.ntp.org
#North America
# NTP_SERVER=north-america.pool.ntp.org
复制代码
代码前面有 # 的表示忽略 不执行 本条不起作用 一般作为注释解释代码作用用的
对比可以看出增加了多台 亚州/中国 对时服务器地址
国际惯例 Asia 代表亚洲的意思 cn 表示中国
asia.pool.ntp.org 是 亚洲 的对时服务器主地址
cn.pool.ntp.org 是 中国 的对时服务器主地址
原文里的 Test 一般表示测试, time.gpsonextra.net 没能知道是谁家对时服务器地址 网上也没搜出个所以然来 唯一查到的是这个地址指向的服务器地址是 美国 Peer1网络公司 相距这么远通讯速度能快吗? 响应速度都不高
修改点二:
原代码里的
################################
##### AGPS server settings #####
################################
# FOR SUPL SUPPORT, set the following
# SUPL_HOST=supl.host.com or IP
# SUPL_PORT=1234
SUPL_HOST=supl.google.com
SUPL_PORT=7276
# FOR C2K PDE SUPPORT, set the following
# C2K_HOST=c2k.pde.com or IP
# C2K_PORT=1234
复制代码
修改成了
################################
##### AGPS server settings #####
################################
# FOR SUPL SUPPORT, set the following
# SUPL_HOST=supl.host.com or IP
# SUPL_PORT=1234
SUPL_HOST=suplcn.sirf.com
SUPL_HOST=supl.google.com
SUPL_HOST=supl.nokia.com
SUPL_PORT=7276
# FOR C2K PDE SUPPORT, set the following
# C2K_HOST=c2k.pde.com or IP
# C2K_PORT=1234
复制代码
代码前面有 # 的表示忽略 不执行 本条不起作用 一般作为注释解释代码作用用的
对比可以看出增加了咱们中国自己的辅助定位服务器地址和诺基亚的定位服务器地址
原代码里的 SUPL_HOST=supl.google.com 表手机的AGPS辅助定位服务器默认是google的
但是天朝的墙总是不定时抽风就把这个服务器墙一下!(大家都懂得)
但是咱们中国也有自己的AGPS辅助定位服务器:suplcn.sirf.com
诺基亚也有一台定位能力不错的AGPS辅助定位服务器地址:supl.nokia.com
至于小米为什么没使用这两个 AGPS辅助定位服务器地址 我个人猜想其中有一方面可能是使用权方面的问题 接口就在那虽可以直接使用 但是大企业商业用途没有得到授权就存在版权问题了
好了gps.conf配置文件的修改分析到此结束。
---------------------------------AGPS对于GPS定位的重要作用--------------------------------------------------
简要的说一下就是说 AGPS 对GPS对位的重要性 AGPS可以通过各种渠道来辅助GPS定位 连接定位服务器获取当前位置实时星历 卫星运行轨迹等来辅助GPS快速锁定卫星并提高精确度 减少GPS芯片计算通过计算星运轨迹来锁定卫星 ...........
为了能帮助到大家 出于受益大家不可独享的责任心 写这篇文章已经花了我几个小时了,我似乎错过了很多事
如果大家想深入了解 AGPS对于GPS定位的重要作用 大家可以参考这篇大神的文章哦,我想这位大神发文章也很辛苦 也花了他很多时间 在此表示感恩这些为大众无私奉献的人 |
|