本文结合了在公司做物联网相关项目的经验,整理了相关知识分享给大家。文章主要介绍了物联网相关的通讯技术和选择物联网通讯技术的一些考量,希望能对想了解物理网通讯技术或者正在做这方面选型的朋友有所帮助。
相信很多人都听过“云管端”这个词,“云”是指在云端为终端提供服务与支持的设备和软件。“端”则是指那些可以通过网络与云端连接的设备(如:手机、电脑、传感器、执行器、家电等各类终端产品)。而“管”就是连接云和端之间的管道,也就是本文说的物联网通讯技术。
在物联网行业,除了“云管端”之外,“边缘计算”这个词也是被大家熟知的,不过今天我们主要聊聊物联网的通讯技术,后期有时间再聊边缘计算的那些事情。
一、通讯技术总览
首先根据各类通讯技术的应用和特点,我简单做了下划分,如下图:
WIFI、UWB、蓝牙、ZigBee、RFID这几类都属于短距离的通讯技术,并且都可以利用其搭建私有网络(搭建私有网络是为了支持多设备协同边缘计算的要求,这个以后有机会细聊),其中WIFI、UWB和蓝牙都属于具备较大通讯速率的技术,可用于音视频或图片的传输。ZigBee和RFID相比通讯速率就要小很多,不过他们各有其他优势我们后面详细说明。
4G、NB-IOT、LoRa、ZETA、Sub-1Ghz(Sub-1Ghz泛指1Ghz以下的通讯)这几类算是传输距离相对较远的广域网技术,其中4G和NB-IOT都属于运营商网络,也就是搭建这种网络需要相关牌照,当然对于用户来说使用运营商网络也是需要付费的。同时因为其不支持搭建私有网络,因此也就无法通私有网络实现多终端协同的边缘计算了。
LoRa、Sub-1Ghz、ZETA这类广域低频的通讯技术是比较适合物联网的通讯场景,企业可以搭建自己的私有网络,并且都是属于免费的频段不用申请相关牌照即可使用。
二、物联网通讯技术选型考量因素
上面介绍了几种通讯技术,下面,我们介绍选择通讯技术时需要考量的几个点。下图的相关技术参数表格,供大家参考(虽然因为一些变量因素会影响到相关参数,不过还是具备参考的价值)
1. 覆盖范围
覆盖范围是指节点(终端)和网关(基站)的有效通信范围,是衡量通信技术的一个重要指标。物联网的应用通常是具备数据量小、设备数量多、分布散等特点,因此覆盖范围便是很重要的一个因素。覆盖范围越大需要的基站数量也就越少,同时基站和布设的成本以及难度也会大大降低。大家可以计算一下假设一个蓝牙基站300块可以覆盖50米的范围,一个LoRa基站5000块可以覆盖3000米的范围,那么如果想覆盖3000米的范围需要使用多少蓝牙基站呢?布设成本又是多少?(注:这仅仅是从覆盖范围做的假设,实际不会只考虑着一个因素)
从上面可以看出来在覆盖范围上LoRa、NB-IOT、ZETA的覆盖范围都是在数十公里上的,ZigBee和蓝牙都是在百米以内。如果你的应用场景需要覆盖范围广是硬性指标,那么就不用考虑后面两种了。从上图可以看来,通常情况下通讯频段越低其覆盖范围越大,这里主要是因为越低的频段在空气和物体中传播时衰减越小,反之亦然。
2. 通信速率
通信速率是节点或网关在一定时间内可以传输数据的数量。假设一个网关的通信速率是10kbps(1280字节),一个传感器的一次数据是8字节。那么也就是说这个网关或节点最多每秒可以收发1280字节/8字节=160个传感器的数据。当然这只是理论值,实际会因避免数据冲突以及数据下发等因素影响。通讯速率和网关的信道数量有关,信道越多速率越高。
在常用通讯技术上来说一般是速率越高越好,不过在物联网行业本身特性就没有特别大的数据量需要传输,因此在考虑通讯速率时主要考虑在一个区域下有多少设备?会产生多大的并发数据量?什么通讯技术的网关可以承载这些数量,以此选择适合的通讯技术并预留一些冗余即可。
3. 通信频段
频段指的是电磁波的频率范围,单位为Hz,我们常说的2.4G或5GWIFI其实指的就是频段。无线电的频段是有免授权和授权两种类型的,像是WIFI用的2.4G、5G和LoRa在中国使用的470~510MHz等都是免授权频段,因此我们可以直接免费使用。还有一些频段是受国家管制的,是需要向国家申请才可使用。因此我们选择频段的时候需要考虑频段是否需要授权,如果是非授权频段也要考试频段是否拥挤?以及如何处理同频段干扰问题。
无线电的频段越高其数据的传输速率也就越高,当然功耗随之增加。物联网行业很多的设备通常都是数据量小、使用电池供电,所以需要设备尽可能降的低功耗,像是WiFi这种高功耗的通讯技术使用场景就非常有限了,通常只会用在小范围内的有源设备上。
4. 运营商网络&私有网络
运营商网络是指联通、移动、电信等公司搭建的通讯网络,这类网络的网关是运营商搭建的,因此是不可以通过此类网络实现本地设备的局域网通讯,也无法实现本地多数据源的边缘计算。运营商网络覆盖范围大、信号稳定、用户接入即可使用,当然也是需要支付通讯费用。
在第一张图中除了4G、NB-IOT是运营商网络之外,像是LoRa、WiFi、Zigbee、蓝牙、ZETA、RFID等技术都可以搭建私有的局域网络。这类网络需要用户建造网关组网,相对运营商网络来说这类网络不需要通讯费用,也可以利用其局域网特性实现本地多数据源的边缘计算。但是基站的布设和维护成本高,所以需要根据业务场景考虑使用什么方式的网络更加合适。
像是共享单车这类数据量小、设备分散且不固定的应用场景,使用运营商网络是最适合的,但如果是场地固定、设备集中或需要多数据源以及大量数据的边缘计算场景,那么搭建私有网络是比较合适的,这样会省去很多通讯费用,并且数据的响应速度也会比较快。
5. 功耗
功耗是物联网行业一直要做取舍和头疼的问题,除了上面说的频段越高,传输速率越大,能耗越高之外,还有一个影响功耗的因素就是通讯协议。像是WIFI这类通讯协议相对比较复杂,并且会保持长连接,因此会比较费电。而像是LoRa、ZigBee、NB-IOT这类技术的通讯协议简单报文长度短,且具备多种工作模式,可以根据应用场景调整工作模式从而实现减低功耗的目的。
6. 单跳&多跳通讯
如上图所示,单跳的通讯方式是节点——网关——云端,也就是说节点的数据通过网关直接上云,不可以在网关之间进行路由转发。这种方式单个网关的信号范围就是其可以使用的范围,如果想覆盖更大或更远的范围则只能增加网关,但是每个网关需要连接以太网进将数据上云,因此网关的联网成本和复杂度较高,需要网关布设的地方同时具备电源和网络覆盖。
多跳通讯方式是节点——网关——中继——云端的架构,也就是说数据可以在网关和中继之间做路由跳转,最后通一个网关将多个中继下终端的数据上云。这种多跳方式可以通过增加中继覆盖更大或更远的范围,并且只需要一个网关具备数据上云能力即可。这样的话哪些中继设备只需要有电源供应即可,甚至可以使用电池供电,这样布设成本和布设难度将大大降低。这种方式最适合的应用场景是高压线路的通讯等范围大、数据量小方面的应用,因为一般高压电基站都是在空旷的田野或山区中假设,相联网相对比较麻烦,通过多跳通讯只要一个网关能联网上云就可以带动很多网关的数据上云。
LoRa等通讯都是属于单跳通讯,ZETA、ZigBee、WIFI、蓝牙等通讯是属于多跳通讯。在使用多跳通讯的时候需要注意的是上云网关通讯速率的大小直接限制了通过它上云网关的总通讯速率大小。
三、常见物联通通讯技术详解
通信技术有很多,下面选几个在物联网应用比较适合的和大家详细分析其特点和适用场景。
1. LoRa
LoRa是一种远距离的调制技术,由法国的Cycleo公司研发,后来被美国的Semtech(升特)收购。其特点是具备较长的传输距离,它是基于线性扩频(CSS)的一个变种,具备向前就纠错的(FEC)的能力,同时具备较高的接收灵敏度和抗噪声能力。在国内LoRa是运行在免费的频段470~510MHz之间。
LoRaWAN是基于LoRa的一种通讯协议,相比LoRa它除了包含物理层的定义还包含了数据链路层的定义,LoRa可以通过扩频因子(SF)调节通讯速率和距离,扩频因子越大传输速率就越小,但传输距离就会越远。这就好比同样油量的摩托车可以跑得快、跑得远,但是载重很小,而货车就可以带很多东西,但是跑得就会比较慢且距离很短。因此在设置扩频因子时就需要个根据数据量和传输距离做取舍。
LoRaWAN的单通道实际速率大约0.3~11kbps,目前国内常用的终端芯片有SX1276和SX1278两种,网关芯片有SX1255、SX1301、SX1308等型号。其拓扑结构是星型拓扑,即每个网关通过网络将数据传输到中央服务器,节点会将数据同时发送至多个网关,由中央服务器进行冗余检测和其他的处理。其网关容量主要取决于数据的并发大小。
LoRaWAN具有A类、B类、C类的通讯模式。
终端双向通讯(A类):
节点随时可以发送信息给网关,发送后会打开两个持续时间很短的接收窗口用于接收网关的下行数据,通过这种方式实现上下行的通讯。这种方式节点会在需要时随时发送信息给网关,并不会与网关沟通确认发送信息的时机。这种方式其优点是通讯逻辑简单,不会因为与网关确定数据上报时间而增加通讯次数导致电量的消耗,但这种方式会遇到数据碰撞的问题。此类方式适用于仅做数据上报、不需要精准的执行指令操作、对电量消耗比较敏感,且能接受一定数量数据丢失的传感器,适用与电池供电设备。
具备特定时间接收窗口的双向通讯(B类):
B类方式在A类方式的基础上增加了更多的接收窗口用于接收数据,B类方式会通过接收网关发来的信标来完成时间同步,基于时钟同步会按照设定在特定的时间开启更多的接收窗口,网关基于开启的窗口时间就可以主动给节点发送数据了。这种方式适用于除了被动的接收数据下发数据之外还需要在特定的时间下发数据被节点。
最大接收窗口通讯(C类):
C类方式除了在发送数据时,其他时间接收窗口是一直处于开启中。这种方式功耗最大的,不过服务器可以随时下发数据,数据延迟最小。通常这种方式适用于有源设备或随时需要接收数据和指令的执行器。
综合上面的信息可以得知LoRaWAN是一种覆盖范围广(无遮挡十几公里,有遮挡几公里)、功耗低、传输速率在十几kbps、免费可搭建私有网络的通讯技术,结合这些特点我们可以分析出其大多是应用在那些数据量小、设备所在区域较广、需要搭建私有网络的场景,比如农业监控、环境数据采集、市政设备状态的上报等行业。
关于功耗
关于影响功耗的因素有很多比如通信类型、扩频因子、数据大小、通信间隔、电池容量、传感器本身耗电等,之前看了很多文章是说LoRa可以使用XX年,但是丝毫不提以上影响待机时长的参数,对于这种没有参考意义的数据真是看了不如不看。以下功耗参数是朋友实际项目的数值,虽然缺乏通讯模式、扩频因子、数据间隔以及传感器本身耗电的因素,但还是具备一些参考意义的。
2.NB-IOT
NB-IOT是一种低功耗、覆盖广的物联网通信技术,它是构建于现有的蜂窝网络之上,占用200KHz频段。只要开辟出200KHz频段即可直接部署在GSM网络、UMTS网络和LET网上。
联通和移动部署在900MHz、1800MHz频段,电信部署在800MHz。传输速率大于160kbps,小于250kbps,采用双半工模式。覆盖范围与LoRa基本无异郊区可达到十几公里,市区可达几公里,
其低功耗方面主要在通讯协议上做了优化,较少不必要的通讯数据,同时采用休眠机制节省电量消耗。NB-IOT属于授权频段无法搭建私有网络,因此我也没有太细致的去了解其功耗和实际通讯速率。
由于NB-IOT可部署在现有的蜂窝网络上,所以目前一二线城市基本全部覆盖。NB-IOT的比较适用于数据量小、要求低功耗、设备区域较广、设备移动性强的场景,OFO就使用NB-IOT通讯,正好满足其数据量小、低功耗、设备区域光数量多、且不断移动位置的需求。
3. ZETA
ZETA是上海纵行推出的非授权频段的LPWAN(低功耗广域网)标准。该标准是使用UNB(超窄带)的多信道通信,在传统LPWAN的穿透性能基础上,进一步通过分布式接入机制实现快速部署。网上相关ZETA的资料比较少,我是去拜访过一次,了解到其特点是2KHz超低频段(如果我没记错的话),除了低功耗之外在通讯协议上有点类似LoRa和ZigBee的结合,可以实现多跳自组网,以及分配确认通讯时间等机制,中继设备可以通过电池供电实现超过1年的工作时间。
4. ZigBee
以上说的广域网的物联网通讯技术,下面我们就看看局域网的通讯技术。像是WIFI、蓝牙都是常见的局域网通讯技术也都有在物联网方面的应用,由于这两中技术比较常见我们就不多说了,主要看看Zigbee在物联网通讯方案的应用和特点。
ZigBee是基于IEEE802.15.4协议的低功耗短距离的无线通信技术,它主要运行在2.4GHz、868MHz和915MHz3个频段上,分别通讯速率是250kb/s、20kb/s和40kb/s。其接入设备量理论可以达到6万多个设备(实际接入设备了受通讯速率的限制,无法达到理论接入量)常规通讯范围约20米。作为物联网通讯技术其同样具备低功耗特点,在低耗电待机模式下,两节普通5号干电池(5000~6000mah)可使用6个月以上(仅做参考此参数未获取各种影响功耗的详细条件)。
ZigBee因为是使用的免费授权频段,所以是可以搭建私有网络的。同时它还支持多跳通讯,也就是一个设备即可接收数据也可以转发数据,这样就可以通过多跳的方式利用中继设备将数据转发到可以上云的网关。在信号较弱的地方可通过增加中继设备来提高覆盖面积和信号强度,而不需要增加可以将数据上云的网关。
除上述特点为ZigBee还具备双向确认的特点,也就受控设备接收到指令后会反馈执行结果给控制设备(类似MQTT协议),同样控制设备发出指令后也会监控是否收到反馈信号,如果没有收到则意味着数据发生碰撞,控制设备会重新发送指令以达到指令的绝对执行。针对控制类设备这点是十分友好。
之前听说在小米有一个说法是“有源设备用WIFI,无源设备用蓝牙”,不过现在小米和云丁也都使用起来了ZigBee。我想也正是因为ZigBee功耗低、速率高(相比LoRa),完全可以满足家庭类监控设备和执行设备的通讯要求,同时还可以通过中继解决多房间的信号盲区以及搭建私有网络的特点小米和云丁才会用它的,尤其是低功耗可搭建私有网络这个特点,不知道小米会不会在小爱同学上添加ZigBee模块,让其可以实现指令的本地储存和执行,毕竟网络的异常还是比较常见,如果这些指令可以本地处理和执行那么对于物联网设备的稳定运行也是十分重要的。
三、最后小结
LoRa、ZETA、SUB-1Ghz:适用于大项目、大区域、设备数量多、数据量不大、设备固定的场景。例如,楼宇城市的设备状态监控、环境监控、远程控制等,或者农业环境、设备的监控和控制等,以及需要需要搭建私有网络的应用场景。LoRa在协议、规范、生态都比较成熟,适合大部分企业使用。ZETA还在成长期,在协议上有一些优势,使用的话整体生态不太丰富成熟方案不太多。SUB-1Ghz需要自己开发通讯协议,工作量较大,扩展其他品牌的设备比较困难,因此一般公司没有太多精力去造轮子。
NB-IOT:适用移动性强、设备分散、设备数量大、数据量小、设备独立无需多设备协同的运行场景。例如,移动物品或车辆的监控和控制、精度不高定位、楼宇城市的设备状态监控、环境监控、远程控制等场景。NB-IOT三大运营商在一二线城市都已经铺设,生态和方案都比较成熟没有搭建基站的烦恼和费用,不过需要和手机一样缴纳通讯流量费。
4G:适用于大数据量、功耗不敏感、移动性强、使用地区偏远的场景。例如,车辆的通讯定位、铁搭的监控和控制、无其他物联网通讯覆盖的区域、设备数量少不值得搭建网关的一些场地。
ZigBee、蓝牙、WiFi:适用于小区域、数据量稍大、设备固定、设备数量少、需要多设备联动运行的场景。例如,智能家居、独立小商铺等小区域的场所。ZigBee是比较适合上述场景的,其功耗、通讯速率合适、协议完善稳定,可通过多跳覆盖一个中型场所。蓝牙方案成熟,不过功耗稍微有点高,保持长链接数量太少。WiFi功耗太大,在无源设备基本无法使用,但通讯速率很高。
不同的场景和需求使用不同的通讯技术,在选型的时候可以先列出硬性指标,然后再这个范围内做有限的调研和选择。比如我们在选择时的两个硬性的指标是覆盖范围大、可搭建私有网络,所以像是NB-IOT、ZigBee这种基本就不用浪费了时间去纠结啦。
好啦,这次就聊到这里,由于我们项目的需求比较适合LoRa,所以其他的通讯技术我并没有把功耗和细节分析的特别透彻,如果大家有问题可以关注微信公众号“智能硬件产品汪”回复“入群”加我好友交流,同时也可加入我们的智能硬件PM群。如有不足欢迎大家补充指正。
最后分享一张物联网生态图给大家: