SIM900A断电重新连接过程
SIM900A模块通过GPRS网络与服务器连接,每10s汇报一次数据。连接方式是使用域名方式,服务器端是局域网内的主机,使用花生壳动态域名解析,通过路由器端口转发实现数据接收。设备每次向服务器发送数据
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 呢?