|
各位有经验的朋友请帮我看看下面的问题,指点下。
问题:GPRS掉线后重连时激活移动场景失败。这个问题并不是每次掉线都出现,在大面积安装的时候,就会出现,有几个设备比较频繁,其他设备也有出现,看不出明显规律(时间、硬件、地点等这方面,看不出特别的规律)。
具体描述:
SIM900A模块通过GPRS网络与服务器连接,每10s汇报一次数据。连接方式是使用域名方式,服务器端是局域网内的主机,使用花生壳动态域名解析,通过路由器端口转发实现数据接收。
设备每次向服务器发送数据后会得到服务器的应答,如果连续130s没有得到服务器应答,则认为掉线,启动掉线重连流程。
掉线重连流程:1.关闭GPRS模块电源,同时拉低GPRS的RST脚(避免通过该脚给GPRS供电);等待5*750ms
2.恢复RST脚高电平,打开GPRS模块电源
3.等待3*750ms
4.拉高GPRS模块PWRKEY,等待5*750ms
5.拉低PWRKEY,等待750ms
6.搜索开机字符串“RDY”或者“Call Ready”,收到则认为开机成功,继续后续步骤。
7.等待5*750ms,等待GPRS模块找到网络
8.发送 AT,同步波特率
9.发送 ATE0
10.延迟16*750ms
11.发送 AT+CPIN?,检查卡
12.发送 AT+CGATT=1,附着GPRS网络
13.发送 AT+CSQ,查询信号质量。返回 +CSQ: 30,0
14.发送 AT+CREG?,查询网络注册情况。返回 +CREG: 0,1,正常。
15.发送 AT+CIPSHUT,关闭移动场景,返回 SHUT OK。
16.发送 AT+CSTT="CMNET","","",返回 OK
17.发送 AT+CIPSTATUS,返回 STATE: IP START
18.发送 AT+CIICR,等待20s没有返回。重发该指令。等待20s左右,返回:
+PDP:
ERROR
就是发送 AT+CIICR 激活移动场景失败。
数据手册上说:
AT+CIICR 只有在IP START状态下才能激活移动场景,执行后状态变为IP CONFIG。
在模块接受激活场景操作后,如果移动场景激活成功,状态变为IP GPRSACT,返回OK,否则返回ERROR。
我在激活移动场景前状态已经是IP START了。
到底哪些原因可能导致激活移动场景失败呢?
而且AT+CIICR指令的返回值手册上只说OK或者ERROR,并没有说+PDP:DEACT,为什么这里会出现DEACT?
另外,手册中提到:
如果上报“+PDP: DEACT”,表示gprs被network释放,但是也需要执行AT+CIPSHUT来改变状态。
如果没有 attach 在 gprs 网络上一定时间 或者因为其他原因,会出现+PDP: DEACT 的 URC,这个时候需要执行 AT+CIPSHUT 恢复初始状态。
为什么我在激活移动场景之前是IP START,而发送激活移动和场景命令后就会出现 +PDP:DEACT 呢? |
|