基于三角关系的LBS定位方法
LBS的定位技术不止此一种,这里这种组要的方法为例简单说明;
基本原理比较简单,如下图所示:
1,2,3三个基站坐标分别是已知坐标(X1,Y1,Z1)、(X2,Y2,Z2)、(X3,Y3,Z3),手机的坐标是待求解坐标(X0,Y0,Z0),可以列出以下公式,三个方程三个未知数求解。利用几何三角关系计算被测物体的位置。
L1^2 = (X1-X0)^2 + (Y1-Y0)^2 + (Z1-Y0)^2;
L2^2 = (X2-X0)^2 + (Y2-Y0)^2 + (Z2-Y0)^2;
L3^2 = (X3-X0)^2 + (Y3-Y0)^2 + (Z3-Y0)^2;
LBS有什么用
个人认为,LBS可以用在GPS定位数据之前先上传一个大概的定位位置,或者在没有GPS信号的时候通过LBS提供定位信息;另外根据SIM868介绍,LBS定位数据可以帮助加快GPS的初次定位;
通过AT指令获取LBS位置
第一部分,准备工作
AT | OK | 查看是否能正常通信 |
|
AT+CSQ | +CSQ: 23,0
OK | 查看信号质量 | 信号质量不佳的时候容易出错 |
AT+CREG? | +CREG: 0,1
OK | 查看GSM是否注册成功 |
|
AT+CGREG? | +CGREG: 0,1
OK | 查看GPRS是否注册成功 |
|
AT+CGATT? | +CGATT: 1
OK | 查看GPRS附着状态 |
|
第二部分,获取LBS坐标
Syntax | Expect Result | Demonstration |
AT+SAPBR=3,1,"Contype","GPRS" | OK | // 设置选择GPRS 服务模式 |
AT+SAPBR=3,1,"APN","CMWAP" | OK | // 设置APN |
AT+SAPBR=1,1 | OK | // PDP 激活,这个和TCP/IP 同时使用不冲突 |
AT+SAPBR=2,1 | +SAPBR: 1,1,"10.59.250.88" OK | 这条可以不用 // 获取IP 地址 |
AT+CLBSCFG=0,3 | +CLBSCFG: 0,3,"www.c4a.com.cn:3002" OK | 这条可以不用 // 查询目前使用LBS 功能默认选择的地址信息 // 这个地址是完全免费的 |
AT+CLBS=1,1 | +CLBS: 0,116.343534,40.015016,550 OK | // 仅获取经纬度 |
AT+CLBS=4,1 | +CLBS: 0,116.343537,40.015002,550,17/08/03,08:44:04 OK | // 获取信息详细些,包括时间信息,需要+8 |
AT+SAPBR=0,1 | OK | //PDP关闭 |
说明:获取LBS位置坐标,大部分和NTP同步时间是同步的,只有AT+CLBS=4,1是不一样的,所以获取LBS位置可以直接在NTP同步时间后只添加一条AT+CLBS=4,1命令,就可以获取到LBS的定位数据了。NTP同步时间