GPRS 编程注意事项
1、TCP连接出错后应该如何处理
若在建立TCP连接的过程中出现错误或者SERVER断线,则先用AT+CIPCLOSE关闭TCP连接(本地IP地址不变),然后再重新建立连接.若其他时候可以用AT+CIPSHUT关闭
PDP Context(本地IP地址会改变),然后重新建立连接.
2、如何区分接收的数据是AT命令的响应还是来自远端 设定AT+CIPHEAD=1,这样来自SERVER的数据前面就会自动加上一个标志,其格式为:+IPD(datalength),+IPD为标识,datalength为来自SERVER端数据的长度.这样就可以区分是来自SERVER的数据还是AT命令的相应.
3、如何检测是否在线,断线后有什么提示 ,可以用AT+CIPSTATUS查询TCP所处的状态,具体状态请参考AT命令集,若处于连接状态则返回CONNECTOK.断线后会主动返回CLOSE信息,同时TCP状态为IP CLOSE.
4、如何发送数据 要发送数据必须先要建立TCP连接或注册一个UDP连接.有3种方式发送数据.可变长度的数据发送可以用AT+CIPSEND命令,返回">"后输入发送的数据,ctrl+z(0x1a)启动发送.固定长度的数据发送用AT+CIPSEND=LENGTH命令,返回"> "后输入发送的数据,当输入的数据长度等于LENGTH的时候自动发送,不需结束符.还有一种自动发送方式,先用AT+CIPATS=,命令设定自动发送的时间,然后用AT+CIPSEND返回">"输入要发送的数据,等定时到了之后自动发送输入的数据.发送完成之后返回SEND OK.
此时处于命令态,若有数据发送再重复以上的步骤就可以了. 注意:每次发送的数据长度应小于1024bytes.
5、如何接收数据 接收数据为自动接收,若有远端数据则自动接收.可以用AT+CIPHEAD=1在接收的数据前面自动加上标识.
6、 如何使用TCP向远端SERVER传输数据 :先要建立一个TCP连接.模块作为CLIENT向远程的SERVER发起一个TCP连接,要成功建立连接需要SERVER端为连接到INTERNET的一台PC,而且该PC的IP地址是公网的IP地址(可以用拨号的方式获得,如在PC局域网内部则无法建立连接),然后该PC运行我们的SERVER软件,这时就可以在模块端用AT命令与SERVER建立TCP连接(AT+CIPSTART="TCP","SERVER的IP地址","SERVER的端口号"),连接成功后会返回CONNECT OK.然后就可以用AT+CIPSEND发送数据到SERVER,若SERVER有数据,模块自动通过
7、业务上保持心跳也是必需的。学习资料可参见:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-5908874525.40.35mIhN&id=16188752468&qq-pf-to=pcqq.group