基站定位
## 前提条件
1. 电信或移动NB卡,开通基站定位功能(移动NB定位涉及收费)
2. 模块开机,SIM卡注网正常(CEREG?:0,1),信号正常(CSQ值20以上),处于非休眠状态(关闭PSM,eDRX)
3. 使用的SIM卡在奇迹物联SIMlink平台库中(跟奇迹销售或运营确认)
4. 保证NB网络覆盖能力(联系当地运营商确认)
## 功能说明
查询物联卡当前所在的经纬度信息。
## 定位原理
通过调用运营商的定位API接口,调用成功后,平台返回相关SIM卡注册基站的经纬度及其他信息
## 操作方法
1. 通过设备平台直接调用相关的API接口实现
2. 通过模组调用相关API接口实现
## 移动API接口
### 请求地址
`http://www.iot-simlink:9093/GetCmccNbAction?Company_ID=xxxx&value=xxxx"`
### 请求方式:
GET-POST
### 请求参数
|参数名| 备注|
|-|-|-|-|-
|Company_ID| 公司 ID, 从公司运营部获取|
|value| SIM卡的 ICCID 号码|
ICCID
### 返回参数
|名称| 是否必须 |默认值| 参数|
|-|-|-|-|-
|status| 是 |- |错误码。0-成功;非0-失败|
|message| 是 |- |错误信息。错误码对应的错误描述,参考错误码列表
|result |是 |- |返回结果集(status为“0”时,result包含正确的结果数据;status为“非0”时, result可能为空,也可能包含其他提示数据)
### 返回定位数据
|名称| 是否必须| 默认值| 参数|
|-|-|-|-|-
|lat| 是| - |纬度|
|lon| 是| - |经度|
## 电信API接口
### 请求地址
```
http://www.iot-simlink.com//api/Location?access_number=“ICCID”
```
### 请求方式: GET-POST
### 请求参数
ICCID
### 返回参数
|参数标识| 参数名称|参数类型| 说明|
|-|-|-|-|-
|MSID_TYPE| 返回结果标识|String|0:当MSID_TYPE为0, 且 POSITIONRESULT为2时,表示定位成功; 其他值: 根 据 POSITIONRESULT值判断定位结果。|
|MSID| 定位码号|String |例如:1064910000000
|LONGITUDE |经度 |String | 经度值,例如118.836639
|LATITUDE|纬度 |String |纬度值,例如32.343864
|LOCALTIME |定位时间|String |格式 ,YYYYMMDDHHMMSS,例如:20141227191636864
|POSITIONRESULT|定位结果值|String |2:定位成功 226:用户关机 227:用户不在服务区 225:用户停机 245:用户没有在定位平台开户 104:基站信息获取失败或者NB卡处于休眠态 其他值:定位失败
## 测试流程
**平台直接调用**
**查询NB卡的ICCID号码**
添加地址到浏览器的地址栏中,通过浏览器访问即可获取定位信息
**移动:**

**电信:**

**模组调用(AM21EV4)**
```
AT+CSQ //查询信号值
+CSQ: 31,99
OK
AT+CEREG? //查询网络注册情况
+CEREG: 1, 1,"6a0f","0543c046",9
OK
AT+CGACT=1,1
OK
AT+HTTPINIT //HTTP初始化服务
OK
AT+HTTPPARA="CID","1" //设置上下文标识
OK
AT+HTTPPARA="URL","http://101.200.35.208/api/Location?access_number=89861118286008579776" //设置要访问的 url 地址
OK
AT+HTTPDATA //发送数据
> //等待>出现后发送数据,使用CTRL+Z发送或十六进制发送1a
http://101.200.35.208/api/Location?access_number=89861118286008578620
OK
AT+HTTPACTION=0 //执行get命令
OK
+NPSMR: out
+CSCON: 1
0 200 103 //执行成功返回待读取信息长度,103字节待读取
AT+HTTPREAD ="0","103" //读取服务器回应信息
OK
+HTTPREAD: 103
{"POSITIONRESULT":2,"MSID_TYPE":0,"MSID":"1410028800709","LONGITUDE":"114.510986","LATITUDE":"38.065418","LOCALTIME":"20210325104811"}
//返回的经纬度信息
AT+HTTPTERM //终止HTTP连接
OK
```