从上一篇发布的NB-IOT低功耗能力之后,好像距上次发文已经过了几个月了,实在抱歉,从今天起,我会不定期的连载NB-IOT专题。
此专题后续会涉及到TCP/UDP、MQTT、LWM2M、HTTP等通信协议,也会涉及到模组对接各主流云平台的平台端操作,顺带着也会讲一些模块在各场景下的注意事项等等。大家拭目以待吧。
那么今天就给大家分享一下,NB-IOT设备实现长连接的方案。
前言
为什么要单独讲NB-IOT的长连接呢?有人会问,我之前用的2g、4g都是直接用的呀,连上服务器,发个心跳不就做到长连接了吗?没错,2g、4g的通讯模组这样做确实就可以了,但是NB-IOT不可以,由于NB-IOT的网络原因,本身就是针对低频次、小数据量的场景,对长连接方案并不友好。
但是既然有需求,当然也就有解决方案,下文会针对需求,提供两种方案,来使NB设备达到长连接的效果。
理论分析
都说NB-IOT不适合做长连接,那么是因为什么原因导致的呢?我们来仔细的分析下。 (由于博主不是专业的协议栈工程师,所以NBIOT的附着过程就不放出来了,有兴趣的可以自己百度下)。
从NB-IOT的工作状态来看,因为NB-IOT引入了PSM机制(别说你不知道,第一章低功耗章节有讲到),终端进入PSM模式后,也就是模块关闭了RF功能,也就意味着终端与网络的连接已经断开,此时终端处于断网状态,任何服务器下发的指令都不可能收的到。
还一个就是IP老化问题,只是这个问题,我虽然遇到