GPRS模块设置心跳包时,建议在网络透传模式下。在网络透传模式下,用户可以选择让模块发送心跳包。心跳包可以向网络服务器端发送,也可以向串口设备端发送。例如USR-GM3的心跳包设置示例图如下:
向网络端发送主要目的是为了与服务器保持连接,和让长时间空闲(很长时间内不会向服务器发送数据)的模块检测连接状态是否有效。当连接异常时,模块会检测到无法正常发送心跳包数据到服务器端,发送失败次数大于3次时,模块认为连接异常,将尝试重新接入服务器。
在服务器向设备发送固定查询指令的应用中,为了减少通信流量,用户可以选择,用向串口设备端发送心跳包(查询指令),来代替从服务器发送查询指令。
设置软件设置:
图 设置软件示意图
注:如果发送的是字符串格式的心跳包,请去掉设置软件上HEX选择框的勾。
指令设置:
(1) 使能发送心跳包功能
AT+HEARTEN=”on”
(2) 设置心跳包发送方向类型,例如,设置心跳包向网络服务器端发送。
AT+HEARTTP=”NET”
(3) 设置心跳包数据,例如,将数据设置为字符串”www.kewodl.com”,需要先转换为十六机制的字符串
为”7777772E7573722E636E”。
AT+HEARTDT=”7777772E7573722E636E”
(4) 设置心跳包的发送间隔时间,例如,将发送间隔时间设置为30秒
AT+HEARTTM=30
除了做以上设置外,还要对网络连接如socket A 和socket B的设置,请参考4.1.2.3章节。完成设置后,保存参数,当socket A 或socket B连接上服务器后,如果设备在30秒内未向服务器发送数据,则模块会向服务器发送字符串”www.kewodl.com”.
注:心跳包是在串口和网络没有数据的时候才会发送,如果数据交互小于心跳时间,则不会发送心跳包。