打印

GPRS心跳间隔有什么用

[复制链接]
1764|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xuyaosong|  楼主 | 2013-8-26 16:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在有一个设备用上了,放在野外监测数据,内部有一个手机卡,办了包月业务。
要求30分钟上报一次数据。
应用中,开始设的心跳间隔是3分站,但是发现现场信号不好,有的时候半个小时到了也没有上报数据。后来将心跳设成40分钟,发现每半个小时到时都能发数据上来了。

请问这个心跳间隔是怎么回事?设成40分钟对通讯有什么影响吗?谢谢

相关帖子

沙发
tyw| | 2013-8-26 16:52 | 只看该作者
本帖最后由 tyw 于 2013-8-26 16:54 编辑

长时间没数据,会被T出GPRS网络的。心跳包就是联系网络,使设备一直在线。

       因为GPRS本身是在GSM网络的基础上升级.移动仍然以语音优先于数据.当GPRS长时间在线,但不传输数据时,数据业务优先级别会被自动降低.经常会出现掉线和假拨号现象.所以设置"心跳"功能.以客户自己设置的时间间隔定时发送数据包,使自己的优先级别不被降低,保持长时间在线. 而GPRS是一个按流量收费的网络,过多的心跳数据会造成没有必要的浪费.所以f2100设置了"心跳间隔"功能,客户可以自己设置时间间隔,都要大于30秒.

       具体的通信流程:监测现场设备端的f2100数传终端每一次上电后都自动连上INTERNET,并且主动向数据中心机发起一条TCP连接,连接成功后将会把自身的ID号(2个字节,可以在GPRS 数传终端上进行设置)向中心主机进行发送,所以中心主机在接受(Accept())了一条Tcp连接后,可以根据接收到的前两个字节的ID号判断这条连接来自于哪台现场监测设备。之后的通信对于现场监测设备来说都是透明的通信。对于中心机来说则是一条需要首先侦听一个端口,然后接受远端现场监测设备发来的TCP连接,并根据收到的前两个字节判断机器的ID号,之后如果要和远端的机器进行通信则只要在相应的TCP连接上收发数据即可。

使用特权

评论回复
板凳
xuyaosong|  楼主 | 2013-8-26 17:38 | 只看该作者
T叔好快
谢谢
弄明白了,我这个系统里面是在中心站上设的心跳,原来设的3分钟,由于下位机30分钟才报上来,所以中心站3分钟收不到数据的时候会自己重启,而重启时间比较长,这个期间恰好下位机在报数据,导致数据丢失。现在改成40分钟的心跳间隔,这样就解决问题了。
现场信号虽然不好,但是还是可以正常发出数据的。

使用特权

评论回复
地板
z00| | 2013-8-27 08:52 | 只看该作者
我的设置的是30秒 没出现问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:做个机器人,欧耶!提高专注力

45

主题

550

帖子

0

粉丝