deanguoku 发表于 2015-7-9 15:52:13

求助:GPRS通信连接总是断开

终端通过GPRS和服务器进行通信。终端每10S向服务器上传一包数据,服务器收到后,回一包数据。现在存在这么一个问题:终端向服务器上传数据一直正常,但是终端经常收不到服务器返回的数据。刚连接上时,终端能够收到服务器返回的数据,运行几分钟后,终端就收不到服务器返回的数据了,此时终端向服务器上传数据,服务器的能够接收到。请问各位大神,这是什么原因导致的呢?

god-father 发表于 2015-7-9 16:28:54

连续发有没有断开?

lingdianhao 发表于 2015-7-9 17:02:58

我没遇到过,一直使用的短连接,楼主使用的是长连接吗?

niaojingxin 发表于 2015-7-10 08:42:26

GPRS长连接的话,必须使用心跳包维持网络不断开。

sunzhuojun 发表于 2015-7-10 08:56:48

具体用的什么模块,看你的情况应该是长连接啊

deanguoku 发表于 2015-7-23 17:29:47

god-father 发表于 2015-7-9 16:28
连续发有没有断开?

连续发,间隔10S钟,上传一直可以,下发过一段时间就不行

deanguoku 发表于 2015-7-23 17:30:51

lingdianhao 发表于 2015-7-9 17:02
我没遇到过,一直使用的短连接,楼主使用的是长连接吗?

是的长连接

deanguoku 发表于 2015-7-23 17:31:25

niaojingxin 发表于 2015-7-10 08:42
GPRS长连接的话,必须使用心跳包维持网络不断开。

我每次发送间隔也就10S钟,相当于心跳包了。

deanguoku 发表于 2015-7-23 17:33:34

sunzhuojun 发表于 2015-7-10 08:56
具体用的什么模块,看你的情况应该是长连接啊

用的U-Blox家的LEON-G100

god-father 发表于 2015-7-24 00:28:43

deanguoku 发表于 2015-7-23 17:29
连续发,间隔10S钟,上传一直可以,下发过一段时间就不行

有可能模块发了一些不规则的字符,程序没处理

江湖笑 发表于 2015-7-24 01:01:15

顶一个,学习了!!

sunzhuojun 发表于 2015-7-24 08:47:13

本帖最后由 sunzhuojun 于 2015-7-24 08:49 编辑

deanguoku 发表于 2015-7-23 17:33
用的U-Blox家的LEON-G100

估计可能是AT的处理框架有点小问题,有些没处理,建议通过RTT把AT中接收与发送的都监控调式一下。

deanguoku 发表于 2015-7-24 09:36:29

sunzhuojun 发表于 2015-7-24 08:47
估计可能是AT的处理框架有点小问题,有些没处理,建议通过RTT把AT中接收与发送的都监控调式一下。 ...

我有用示波器测量串口接受线,当服务器下发时,该线没有任何变化。

deanguoku 发表于 2015-7-24 09:36:51

god-father 发表于 2015-7-24 00:28
有可能模块发了一些不规则的字符,程序没处理

我有用示波器测量串口接受线,当服务器下发时,该线没有任何变化。

sunzhuojun 发表于 2015-7-24 11:23:55

deanguoku 发表于 2015-7-24 09:36
我有用示波器测量串口接受线,当服务器下发时,该线没有任何变化。

模块的供电是否有问题?

deanguoku 发表于 2015-7-27 15:11:30

sunzhuojun 发表于 2015-7-24 11:23
模块的供电是否有问题?

模块供电正常,因为能够正常上传数据。

STT 发表于 2015-12-3 09:57:07

deanguoku 发表于 2015-7-27 15:11
模块供电正常,因为能够正常上传数据。

楼主 我貌似遇到和你一样的问题,我发的数据服务器一直能收到但是服务器下发的命令我没收到 串口里面直接没有“+IPD”,做上位机的那哥们确定数据已经下发了,做了100台设备有接近10台这样的 就一直收不到服务器下发的数据了,不知道你的问题解决了吗我用的simcom的sim800模块

friendljy 发表于 2015-12-3 11:35:26

deanguoku 发表于 2015-7-24 09:36
我有用示波器测量串口接受线,当服务器下发时,该线没有任何变化。

最近在用mc52i,你的情况像是错过了下发的指令,错过以后,再次发送,串口就不会有响应了,此时主动读取,是可以独到后续的数值的。


以mc52i为例,比如服务器发送数据,模块收到后会输出
^SISR: 1, 1

如果此时你错过了这条语句,或者漏处理了,以后服务器再发送数据,串口就不会有响应了。

但是读包是可以读出来的,数据长度,是累计发送总和。
页: [1]
查看完整版本: 求助:GPRS通信连接总是断开