NB-IOT物联网,网络传输变化很大!反向控制、心跳包、功耗分析

欢迎关注燚智能头条号↗

燚智能硬件开发网

用简单的语言,讲复杂的技术!

正反两个传输方向

物联网中,我们会有“正向”和“反向”两个数据传输方向。

正向:终端设备发送数据给服务器,也叫上行。例如一个温度传感器向服务器上报温度数据。

反向:服务器给终端设备发控制命令,也叫下行。例如通过服务器给智能窗帘下发“关窗帘”的指令。

NB-IOT物联网,网络传输变化很大!反向控制、心跳包、功耗分析_第1张图片

终端能找到服务器,但服务器找不到终端

不管是互联网还是物联网,都面临这个问题。

终端能通过IP地址、域名等方式找到服务器。但是终端自己没有域名,也没有独立不变的IP地址,服务器不能主动找到终端。

服务器要找到终端,就需要“长连接”

要想随时随地被服务器找到,就需要建立一个通道(长连接)。不管是Socket还是MQTT,都会建立这个长连接。例如微信、QQ这样的即时通信,以及摩拜单车的开锁等。

如果没有这个长连接,就不会收到微信推送的消息,单车也做不到立刻开锁。

要维持长连接,就需要“心跳包”

终端设备和服务器之间的这个“长连接”,实际上是个虚拟的连接,中间经过了无数道网络节点,每个节点都可能把这个长连接断掉。

因此终端设备需要定期给服务器发送一个心跳包,告诉服务器“我还活着、我在这里,不要把我踢掉!”。一般是几分钟一次。

NB-IOT物联网,网络传输变化很大!反向控制、心跳包、功耗分析_第2张图片

但是,心跳包很耗电

对于手机,几分钟发一个心跳包,耗电不算大,还能接受。(iPhone只维持一个系统级长连接,而Android每个APP有自己的长连接,所以Android比iPhone更费电一些)

但对于电池供电的物联网设备,这个心跳包就非常耗电了。首先,不能断开和基站之间的信号连接,信号一断,连接就断了。其次,每次发送心跳包,至少要几秒钟的时间,需要大功率发射信号

拿摩拜单车举例,虽然内置了超过5000mAh的锂电池,但是依然需要充电。第一代摩拜单车骑起来那么费劲,主要就是要通过骑行给电池充电。后面的单车,也免不了一块太阳能充电板来充电。

电池供电的物联网终端,如何省电?

想要省电,必须要把通信模块完全关闭掉,只维持RTC运行。此时是没有连接到网络上的。

终端设备定期唤醒一次,连上服务器,上报消息,接收指令,然后再关闭,继续休眠。

服务器无法随时随地找到终端,只有等终端唤醒之后才能联系上。

OFO的单车和远程抄水表终端,都是这样的方式。所以一节电池能用几年。

为什么手机不需要心跳包也能接电话?

2G网络下,手机的在网待机电流约2mA,挺大的。这是因为手机和基站之间本身就有“心跳包”,用来让基站随时找到手机。因此不需要TCP/IP的心跳包,也能够随时接收到电话,和短信。

NB-IOT物联网,网络传输变化很大!反向控制、心跳包、功耗分析_第3张图片

NB-IOT的心跳包机制

NB-IOT和2G一样,基站都可以随时找到物联网终端。以现在国内最成熟的中国电信的NB-IOT系统为例,没有使用HTTP和MQTT传输数据,而是采用了最轻量化的CoAP传输协议。传一次就结束,不维持传统的TCP/IP长连接,也不需要额外的心跳包。采用了NB-IOT网络自己的长连接机制(DRX模式),使基站能够随时向终端发数据。

(NB基站已经做好了心跳包)

PSM极致省电模式

NB-IOT还有一个PSM模式,能过做到“1节电池用10年”,就是采用的OFO单车锁和远程抄表那样,定时唤醒系统的模式。此时基站也不能随时找到终端设备。


欢迎关注燚智能头条号↗

燚智能周教授,智能硬件开发实战派

精彩内容回顾:

详解NB-IOT上行和下行数据传输方式

物联网常用的通信模块介绍

NB-IOT物联网硬件产品,功耗实测数据分析!

你可能感兴趣的:(综合)