GPRS如何防范掉线

由于博客系统迁移,所以有一些文章无法找到,故此在此贴出,以帮助有需要的开发者。

-----------

应用场景:物联网洗衣机项目

传输机制:TCP透传

开发板:    Air202 S5


GPRS通信出现的问题:

  1. 模块TCP连接状态为已连接,但是无法传送数据
  2. 铁皮干扰GPRS信号

解决方案:

      对于问题(1),由于GPRS连接蜂窝网络,长时间没有数据传送蜂窝网络会认为是断开,此时模块的TCP连接没有收到FIN的帧。所以air202模块认为网络还是连接着,但是实际是无法传输数据的;需要做个心跳功能定时发送数据,我现在用的是90秒(官方的说是10分钟,但是我在宁波的网络测试3分钟有的时候都不行),在福州和宁波的网络测试都正常。

      对于问题(2),天线需要远离环形的铁皮

      为了确保模块运行可靠,应增添容错机制 ——在tcp透传demo的基础上面添加了一个4分钟没有检测到心跳信号就重启模块的检测程序。

上次更新 2021-01-28