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