GPRS模塊設置心跳包時,建議在網絡透傳模式下。在網絡透傳模式下,用戶可以選擇讓模塊發送心跳包。心跳包可以向網絡服務器端發送,也可以向串口設備端發送。例如USR-GM3的心跳包設置示例圖如下:
向網絡端發送主要目的是為了與服務器保持連接,和讓長時間空閑(很長時間內不會向服務器發送數據)的模塊檢測連接狀態是否有效。當連接異常時,模塊會檢測到無法正常發送心跳包數據到服務器端,發送失敗次數大于3次時,模塊認為連接異常,將嘗試重新接入服務器。
在服務器向設備發送固定查詢指令的應用中,為了減少通信流量,用戶可以選擇,用向串口設備端發送心跳包(查詢指令),來代替從服務器發送查詢指令。
設置軟件設置:
圖 設置軟件示意圖
注:如果發送的是字符串格式的心跳包,請去掉設置軟件上HEX選擇框的勾。
指令設置:
(1) 使能發送心跳包功能
AT+HEARTEN=”on”
(2) 設置心跳包發送方向類型,例如,設置心跳包向網絡服務器端發送。
AT+HEARTTP=”NET”
(3) 設置心跳包數據,例如,將數據設置為字符串”m.ggxxsw.cn”,需要先轉換為十六機制的字符串
為”7777772E7573722E636E”。
AT+HEARTDT=”7777772E7573722E636E”
(4) 設置心跳包的發送間隔時間,例如,將發送間隔時間設置為30秒
AT+HEARTTM=30
除了做以上設置外,還要對網絡連接如socket A 和socket B的設置,請參考4.1.2.3章節。完成設置后,保存參數,當socket A 或socket B連接上服務器后,如果設備在30秒內未向服務器發送數據,則模塊會向服務器發送字符串”m.ggxxsw.cn”.
注:心跳包是在串口和網絡沒有數據的時候才會發送,如果數據交互小于心跳時間,則不會發送心跳包。