数据发送问题

## 发送数据失败(AT+TCPSEND)或数据接收失败 ### 问题1.假连接,基站将连接断开,终端未收到; 确认,解决方法:发送断开连接命令AT+TCPCLOSE=<n>,重新发送连接命令连接服务器,再发送数据; ### 问题2.连接已断开; 确认方法:通过AT+IPSTATUS=<n><查询当前连接状态,如果显示+IPSTATUS: 0,DISCONNECT,表示连接已断开; 解决方法:重新连接发送连接命令连接服务器,再发送数据; ### 问题3.发送数据长度超过规定范围(发送最大长度4K); 确认方法:检查发送数据长度是否超过4K(AM20E模组最长支持4K AT+TCPSEND=0,4097 +TCPSEND: DATA LENGTH ERROR); 解决方法:发送数据长度应该在规定范围内,可以分多次发送; 注:指令支持发送最大长度为4K,但是每次一般发送1440字节,同样一般情况下,每次接收1440个字节。 ### 问题4.发送频次过快,未等到模块回应发送完成标志(返回OK),继续发送,导致模块卡死(重启模块); 解决方法:降低发送频次,待返回OK,后再进行下一步操作,可以适当增加每次数据发送量; 确认方法:检查模块发送数据后,是否未等到模块回应发送完成标志(返回OK),继续发送,导致模块卡死; 解决方法:降低发送频次,待返回OK,后再进行下一步操作,可以适当增加每次数据发送量; ### 问题5:模块信号CSQ异常,参见“模块信号问题”; 确认,解决方法:参见“模块信号问题”; ### 问题6:发送指令格式错误; 确认方法:检查发送指令格式是否正确(格式:AT+TCPSEND=0,20); ### 问题7:模块处于PSM或eDRX状态; 现象:服务器或平台测发送数据,模块无法接收; 确认方法:通过AT指令查询模块状态(PSM:AT+CPSMS?;eDRX:AT+CEDRXS?),如果查询结果第一个参数返回“1”,表明模块处于休眠状态,不能正常接收数据; 解决方法:如果不用低功耗模式(PSM/eDRX),可以通过命令关闭(PSM:AT+CPSMS=0;eDRX:AT+CEDRXS=0);