码迷,mamicode.com
首页 > 其他好文 > 详细

如何通过AT指令获取基站定位

时间:2014-12-21 22:02:07      阅读:1468      评论:0      收藏:0      [点我收藏+]

标签:

基站定位描述

基站定位一般应用于手机用户,手机基站定位服务又叫做移动位置服务(LBS——Location Based Service),它是通过电信移动运营商的网络(如GSM网)获取移动终端用户的位置信息(经纬度坐标),在电子地图平台的支持下,为用户提供相应服务的一种增值业务。

基站定位的大致原理为:移动电话测量不同基站的下行导频信号,得到不同基站下行导频的TOA(Time of Arrival,到达时刻)或TDOA(Time Difference of Arrival,到达时间差),根据该测量结果并结合基站的坐标,一般采用三角公式估计算法,就能够计算出移动电话的位置。其精度很大程度依赖于基站的分布及覆盖范围的大小,有时误差会超过一公里,实际的位置估计算法需要考虑多基站(3个或3个以上)定位的情况,因此算法要复杂很多。一般而言,移动台测量的基站数目越多,测量精度越高,定位性能改善越明显。

 

怎样才能基站定位?

基站定位一般应用在手机端,所以必须获取到基站信息才能进行基站的定位;基站信息

包含:MNC,LAC,CID (Cell) 三个参数;如果获取到以上三个参数即可以通过基站数据库,实现对应基站的位置进行定位,直接地图上显示出基站的位置;

-MCC,Mobile Country Code,移动国家代码(中国的为460);

-MNC,Mobile Network Code,移动网络号码(中国移动为00,中国联通为01);

-LAC,Location Area Code,位置区域码;

-CID,Cell Identity,基站编号,是个16位的数据(范围是0到65535)。

 

如何获取基站信息?

在GSM模块中,可以通过AT指令获取基站信息,以使用UBLOX的GSM模块为例,

当设备注册到移动网络时,按以下步骤即可获取对应的基站信息。

  1. 发送AT+CIMI     //获取IMSI(包括MCC和NNC)

    IMSI=MCC+MNC+MSIN

    MCC:移动国家码,共3位,中国为460; 

    MNC:移动网络码,共2位,移动GSM:00、02,移动TD:07,联通GSM:01,电信:03; 

    MSIN: 移动用户识别号码,共10位;

  2. 发送AT+CGREG=2  //设置附着状态

  3.  发送AT+CGREG? //获取基站信息

 技术分享

在上图中可知MCC=460,MNC=00,LAC=0X247B,CID=0x0E10。通过基站查询演示http://www.cellid.cn/,可获取位置广东省深圳市南山区工业七路南海大道1069号(22.49669285,113.92006692),与实际位置相差300米,这样好像会被人肉的说。

 

基站信息如何转换为经纬度?

根据个人理解,有如下2种方法:

1. 服务器接收到基站信息之后,在基站数据库中查找对应的经纬度。

  优点:速度快

  缺点:需要在服务器上部署基站数据,且基站数据不能及时更新

2. 通过第三方提供的SDK或API查找对应的经纬度

    优点:数据比较准确,定位较为精确

    缺点:接口不免费

 

附录相关信息:

  1. 淘宝卖基站定位数据库的信息链接
  2. 第三方的基站定位接口描述

谷歌/百度如何实行基站定位:
我想移动运营商应该不会免费提供基站数据库给谷歌/百度,那谷歌百度如何实现基站定位能?
手机地图在使用GPS卫星定位时,误差在10米以内,此时将该手机接收到的多个基站数据(此数据可以包括基站编号等信息,特别注意的是还有信号的强度)提交至后台数据库中保存,随着不断积累,将获得较为完整的基站数据库。(而且这种卫星GPS结合多基站信号强度的定位方式,为以后使用纯基站定位提供了更高的准确性保障。),所以安卓虽然免费,但海量的用户形成海量的数据库,这就是大数据,互联网思维吧。

如何通过AT指令获取基站定位

标签:

原文地址:http://www.cnblogs.com/mojietuyoudianleng/p/4177030.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!