常见的LoRa网络结构,在星状网络结构中提到了多个问题点,这些问题点在传统的单一拓扑网络结构中很难解决,而LoRaWAN技术可以解决这些问题。我们首先通过学习运营商蜂窝网络的技术特点,了解蜂窝网是如何解决传统网络问题的,再学习LoRaWAN的网络技术,通过对比可以更深刻地了解LoRaWAN的网络 优势。本章对网络结构部分的讲解循序渐进,从简单的网络拓扑开始,到实际应用的简单网络,再到复杂的运营商蜂窝网络,最后到本章要讲解的核心LoRaWAN网络。LoRaWAN网络技术出现最晚,吸取了前面 技术的优势并引入大量物联网创新。
一、蜂窝移动通信系统
蜂窝移动通信(Cellular Mobile Communication)采用蜂窝无线组网方式,在终端和网络设备之间通过无线通道连接起来,进而实现用户在活动中相互通信。其主要特征是终端的移动性,并具有越区切换和跨本地网自动漫游功能。
1.移动通信网的基本组成
移动通信无线服务区由许多正六边形蜂窝小区覆盖而成,通过接口与公众通信网(PSTN、PSDN)互连,图5-11所示。
图5-11 典型蜂窝移动通信系统图
移动通信系统包括移动交换子系统(SS)、操作维护管理子系统(OMS)、基站子系统(BSS)、移动台(MS),是一个完整的信息传输实体。
BSS和SS共同建立呼叫。BSS提供并管理移动台和SS之间的无线传输通道,SS负责呼叫控制功能,所有呼叫都经由SS建立连接,OMS负责管理控制整个移动,MS由移动终端设备和用户数据两部分组成,用户识别卡(SIM)与移动终端设备分离,用于存放用户数据。
从图5-11中可以看出一个基站实现一个正六边形蜂窝小区覆盖,而几个BSS管理。当用户在同一个BSS内移动时,需要切换基站是由本地的移动交换中心(MSC)完成,当跨BSS时,需要两个MSC通过公众通信网(PSTN)连接协调。数字TDMA第二代系统是由MS辅助切换(MAHO)。
下面的内容,针对几个关键问题进行分析讨论:容量及覆盖问题、频道分配问题、跨区问题(信道切换)、频道干扰问题、扩容问题。
2.频率复用和蜂窝小区覆盖
无线通信最重要的问题是解决频率资源有限和用户容量问题。针对区域覆盖,有常见的两种方式:
1)小容量的大区制
(1)一个基站覆盖整个服务区,发射功率要大,利用分集接收等技术来保证上行链路的通信质量。
(2)虽然覆盖范围大,但是只能适用于小容量的通信网。
2)大容量的小区制
(1)采用频率复用方式。
(2)将覆盖区域划分为若干小区,每个小区设立一个基站服务于本小区,但各小区可重复使用频率。
(3)由于频率的复用,带来同频干扰的问题。
由于移动互联网具有大容量的要求,所以在当时的技术条件下,选择了小区制覆盖方式。小区制的概念:将所要覆盖的地区划分为若干小区,每个小区的半径可视用户的分布密度在1~10km,在每个小区设 立一个基站为本小区范围内的用户服务。从而就出现了频率复用的需求。用有限的频率数就可以服务多个小区,每一个小区和其他小区可再重复使用这些频率,称为频率复用。这种组网方式可以构成大区域、大容量移动通信系统。
为了便于讨论覆盖和频率复用,先从简单的带状服务覆盖区展开讨论,一般应用在铁路、公路、沿海等。按横向排列覆盖整个服务区,基站(BS)使用定向天线,由许多细长的无线小区相连而成。
为了克服同频干扰,常采用双频组、三频组或四频组的频率配置方式。双频组和三频组频率配置如图5-12所示。从造价和频率利用率来看,选择双频组最好,但双频组的抗干扰能力最差。
图5-12 多频组频率配置
系统的抗干扰能力是由同频基站之间的距离决定的,当使用三个或者三个以上的频率时,相同频率的基站之间的距离间隔是两个以上的小区空间,其同频干扰大幅下降。但是依然会存在一些位置由于环境影响或者建站的站点位置不理想,引起同频干扰。
而实际应用中的绝大多数的覆盖都是面状服务覆盖区,陆地移动通信大部分是在一个宽广的平面上实现的,由平面服务区内的无线小区组成的实际形状取决于电波传播条件和天线的方向性。如果服务区的地形相同,且基站采用全向天线,其覆盖范围大体是一个圆。为了不留空隙地覆盖整个服务区,无线小区之间会有大量的重叠。在考虑重叠之后,每个小区实际的有效覆盖区是一个圆的内接多边形,这些多边形有正三角形、正方形和正六边形。通过数学家多年来的计算和证明,正六边形小区形状最佳,相互邻接构成蜂窝状网络结构,故称为蜂窝网。
为了实现同频复用,防止同频干扰,要求每个区群中的小区,不得使用相同频率,只有在不同的无线区群中,才可使用相同的频率进行频率复用。这就需要我们对基站的位置以及实际的环境进行分析。如图5-
13所示,基站发射机位置分为:
-
中心激励小区:安置在小区的中心,如图5-13(a)所示为全向辐射天线基站。
-
顶点激励小区:安置在六边形顶点之中的三个顶点上,如图5-13(b)所示为扇形辐射天线基站。
图5-13 基站发射机位置示意图
应用中激励方式一般为中心激励。
由于地形地貌、传播环境、衰落形式的多样性,小区的实际无线覆盖是一个不规则的形状,如图5-14所示。一个小区实际的无线覆盖是不规则的,所以一定要保证同频的区域覆盖之间的间隔足够大。
图5-14 小区无线覆盖形状
蜂窝网络每个区域有相邻的6个区域,且考虑频率复用的问题,所以至少有多种不同的频率组才可以满足干扰问题,这个数学家和拓扑学家已经给出了答案,典型值为4、7或12种。采用4组频率的区群方案,同频小区只间隔一个区域,容易引起同频干扰,实际场景一般选择7组频率的方案。图5-15中共有A、B、C、D、E、F、G七组频率组,可以看到同频之间间隔为2个区域,其同频干扰问题得到了一定的解决。
3.信道切换
1)信道切换概念
当移动用户处于通话状态时,如果用户从一个小区移动到另一个小区,为保证通话的连续,系统要对该移动台的连接控制也从一个小区转移到另一小区。将处于正在通话的移动台转移到新的业务信道(新小区)的过程称为切换。
2)信道切换目的
实现蜂窝移动通信的“无缝隙”覆盖,即当移动台从一个小区进入另一个小区时,保证通信的连续性。切换的操作不仅包括识别新的小区,而且需要分配给移动台在新小区的语音信道和控制信道。
3)引起切换的常见原因
(1)信号的强度或质量下降到系统规定的一定参数以下,此时移动台被切换到信号强度较强的相邻小区。
(2)由于某小区业务信道容量全被占用或几乎全被占用,这时移动台被切换到业务信道容量较空闲的相邻小区。
第一种原因引起的切换一般由移动台发起;第二种原因引起的切换一般由上级实体发起。
4)频率切换会带来一些问题
(1)当移动速度变化范围较大时,系统设计将遇到许多问题。由于移动速度快,其信号强度变化大,因此检测后容易出现判断错误,或出现还未稳定切换到下一个频率,移动物体已经进入下一个区域的情况。
(2)小区拖尾问题。由于用户以非常慢的速度离开基站,平均信号能量衰减不快,即使当用户远离了小区的预定范围,基站接收的信号仍然可能高于切换门限,因此若不做切换,就会产生潜在的干扰和话务量管理问题,因为用户那时已深入到了相邻小区中。
4.扩容问题
小区分裂是一种将拥塞的小区分成更小小区的方法,分裂后的每个小区都有自己的基站并相应地降低天线高度和减小发射机功率。假设每个小区都按半径的一半来分裂,如图5-16所示。为了用这些更小的小区来覆盖整个服务区域,将需要大约为原来小区数目4倍的小区。最终整个服务区基站数目增加。
可以看出小区分裂的方法的确可以带来更多的容量,除了需要更多的基站数目外,还需要对新基站的站点位置有一定的要求,如图5-16(b)所示。且为了防止同频干扰,又要做新的频率规划和区域划分,如图5-16(a)所示。小区分裂在实际应用环境中,会遇到大量的工程问题,尤其是早期完成的网络覆盖区域,做小区分裂更加困难。
图5-16 小区分裂的图例
二、LoRaWAN网络
在5.2.1小节的移动通信蜂窝网络介绍中,虽然技术上有多种创新,仍然有一些问题无法解决,比如地形引起的同频干扰,跨基站的快速移动和小区拖尾问题,站点位置选择问题,扩容的网优和新基站选址问题。针对这些困扰蜂窝网多年的问题,LoRa联盟经过大量的研究和讨论,最终推出了LoRaWAN网络。LoRa联盟的早期成员中有不少是运营商,且LoRaWAN协议最初创立的目的也是为运营商蜂窝网所用,可以说LoRaWAN的网络架构是站在巨人的肩膀上设计出来的。
1.LoRaWAN网络系统组成
如图5-17所示,LoRaWAN网络的系统由4部分组成,分别是终端节点(EndNodes)、网关(Gateway)、网络服务器(Network Server)、应用服务器(ApplicationServer)。其中,终端节点也叫终端设备(EndDevice)、传感器(Sensor)或者节点(Nodes);网关也可以叫集中器(Concentrator)或者基站(BaseStation)。由于LoRaWAN应用于物联网中,所以服务和连接的对象是终端节点,对应于移动通信网络中的用户(也叫移动台)。LoRaWAN网络中的网关对应于移动通信网络中的基站;LoRaWAN网络中的网络服务器对应于移动通信网络中的移动交换中心(MSC)或移动台辅助切换(MAHO);而LoRaWAN网络中的网关与网络服务器之间的连接方式采用3G/4G等移动通信网络或以太网网线连接的方式,对应于移动通信网络中的公众通信网(PSTN、PSDN)。根据应用和服务不同,LoRaWAN网络系统需要应用服务器的支持,它是LoRaWAN系统组成 的必要部分,而移动通信网络中并非必要组成项。这是因为LoRaWAN的节点一定是为了满足某种业务而存在,几乎不存在没有服务业务而挂在网上的情况。这个情况与移动通信网络不同,移动通信服务的目的是让用户一直连接在网络上,对于运行什么业务并不关心。这也是物联网的网络系统与移动通信网系统的重要差别之一。
图5-17 LoRaWAN网络的系统组成
在LoRaWAN网络中,终端节点通过LoRa无线通信与网关连接,网关通过现有的有线/无线网络(以太网/蜂窝网)与网络服务器连接,网络服务器再通过以太网与应用服务器连接。一次通信过程可以是终端节点发起或由应用服务器发起,网关和网络服务器只是实现透传和网络管理的工作,与业务没有直接关系。LoRaWAN网关只是不断接收节点发来的数据并传给网络服务器,而网络服务器会整理数据发往应用服务器;应用服务器收到节点的业务数据后,响应应答指令发往网络服务器,网络服务器管理网关下发命令到达原业务节点。
从LoRaWAN网络的系统与移动通信网系统的类比中,可以发现两个系统的构造非常相似,不过在网络连接上有几点不同:
(1)终端节点与网关的连接方式不同。从图5-17中可以看出,有的终端节点(图中宠物追踪)与一个LoRaWAN网关的连接,有的终端节点(图中水表)同时连接两个网关,而有的终端节点(图中的垃圾桶)同时连接三个网关。这与移动通信网系统中一个用户连接一个网关的方式完全不同。
(2)网关与网关间的连接不同。在移动通信网中,每个区域的MSC管理BSS中的多个基站,而LoRaWAN网络系统中所有的网关之间是独立的,没有任何关系,不需要做频率分配,也不需要做跨网管理。
(3)网关与网络服务器的连接不同。移动通信网中由于系统对于网络的稳定性要求很高,对于上下行通信延迟要求非常高,一般通过光纤交换进行快速数据交互,其延迟在几毫秒;而LoRaWAN网络采用传统的网线或3/4G网络作为连接数据交互手段,这样的网络延迟和稳定性很差,数据交互经常需要上百毫秒。
LoRaWAN的这些不同特点是由于其物联网属性决定的,通过轻量级的管理和实施方式实现更多的节点稳定接入。LoRaWAN采用自适应速度、多信道、同频网络规划的方案实现其物联网属性。
2.自适应数据速率
LoRaWAN网络标准是根据物联网的需求制定的,LoRa芯片的定义也是遵循这一最终目标。针对5.1.2小节提出的链路预算问题,LoRaWAN网络协议开发了自适应数据速率(AdaptiveDataRate,ADR)的功能。
在传统的星状结构网络中,由于采用节点芯片作为网关通信部分,该网络系统只能支持一组特定的链路选择(固定的扩频因子SF、频率f和带宽BW),而当采用SX130X系列的网关芯片作为网关通信核心
后,网关可以同时解调不同的链路设置。星状结构网络中无法解决的不同终端传输速率和传输距离需求不同的问题可以通过更换网关和采用LoRaWAN协议来实现。
在LoRaWAN协议中规定了通信信道带宽为125kHz,扩频因子从SF=7~SF=12可选。终端节点的通信速率可以从SF=12的290b/s到SF=7的5.5kb/s中选择(LoRaWANV1.1之前只有SF=7~12这6种速率,相信之后会扩展到SF=5和SF=6)。
自适应数据速率ADR的实现:
(1)LoRaWAN网关收到终端节点的数据后,可以获得该数据的信噪比和信号强度,通过这两个参数可以估算出节点与网关之间的链路余量是多少,这个链路余量可以理解为网关和节点之间还可以增加多少通信距离。
(2)当发现链路余量比较大时,网关可以发送命令让终端节点以更高的速率和更小的发射功率工作,依然可以保证系统稳定工作。提高通信速率既可以减少终端节点发射时间从而减小功耗,又可以减少其信道的占用增加信道容量。减小发射功率有两点好处:一是减小终端节点的功耗;二是减小该信号的传输距离,从而减小其对整个服务区的其他网关信道占用。
(3)当终端节点上行命令未得到应答时,可以自动调节其发射功率和扩频因子,增加其信号传输距离实现与网关通信。在实际应用中自适应数据速率选择是一个可选配置,用户可以根据终端设备的应用不同配置该功能,从而实现信道容量提升,网络干扰降低,设备功耗降低。
图5-18为一个LoRaWAN系统中距离与扩频因子、功率的仿真图,图的中间是一个LoRaWAN网关,通信椭圆长轴表示终端与基站的距 离。终端节点距离网关近时,由于链路损耗很小,可以选择很低的功率和SF=7的扩频因子,用最快的通信速率。当终端节点与网关的距离变大后,需要提高功率或使用更大的扩频因子。从仿真图中可以看出,不同的距离使用不同的扩频因子和功率。扩频因子比较大时速率较低,信号的空中飞行时间长,对信道的占用较大。一个SF=12的通信时长大于10个SF=7的通信时长。所以,在LoRaWAN覆盖时,信道容量主要由距离基站较远的终端节点决定。
图5-18 LoRaWAN距离与ADR仿真图
3.LoRaWAN覆盖及频率规划
1)LoRaWAN频率使用
LoRaWAN网络系统中并没有规定其信道数量,应当遵守本地区的无线电管理规范。在星状网络的讨论中已经知道,信道越多其容量会越大,如图5-19所示LoRaWAN使用4信道时的ADR覆盖情况。这两幅图为城市中以网关为中心的等距同心圆,同圆环区域内的传输速率是相同的。图5-19(a)中只有1个信道,而图5-19(b)中有4个信道,那么整个网关的信道容量直接变为原来的4倍。
图5-19 LoRaWANADR与城市覆盖
LoRaWAN的网关设计和频率规划中,一般采用8信道模式,这是因为Semtech的SX130X为8信道设计。大容量场景的网络规划可以采用16或64信道的网关,只要所用的频率符合当地规范。
2)LoRaWAN的覆盖
吸取了大区制和小区制的优点,采用小区制的覆盖方法,每个小区又使用了相同的频率,反而没有同频干扰的问题。整个网络采用同频信道,这是LoRaWAN网络的一大特点,可以理解为基站协作接收,具体内容见1.2.5节。当移动通信网络被同频干扰困扰而采用七小区频率复用的方案时,LoRaWAN网络中网关和节点工作在同样一组信道上(常用为8个信道,也可为多个)。通过这种网络规划,跨区、跨基站引起的切换频率问题都可以迎刃而解。那么节点到底是与哪个基站进行通信的呢?在LoRaWAN网络的系统组成图中,一个终端节点可以与多个网关通信。如图5-20所示,在实际的应用中,一个终端节点发射的上行数据会被一个或多个网关接收,网关只做数据透传,把解调的数据一起传输到网络服务器。假设一个LoRaWAN智能设备的数据通过三个网关传到了网络服务器处。网络服务器可以收到三条来自同一个智能设备的上行数据,这三条数据的通信网关不同,其在各个网关处的信噪比和信号强度不同。此时网络服务器会选择信号最好的那组数据对应的网关与该智能设备进行下行通信。如果链路余量充足,网络服务器还可以命令该智能设备进行ADR操作。LoRaWAN上行通道是多路网关共同接收上传,下行通道为指定一个网关下行,这些操作和网络策略都是由
LoRaWAN网络服务器处理的。刚刚的智能设备经过ADR后,也许只有两个网关可以接收到该智能设备的上行LoRa数据,第三个网关的接收通道就空余出来,信道容量也就增加了。
图5-20 终端设备上下行通信示意图
LoRaWAN网关在网络规划时相对比较容易,不需要把覆盖区域进行明确尺寸分区,也不需要规划频率和寻找中心的站址。如果可以按照蜂窝移动通信网络的方式分区、分配中心站址,LoRaWAN网络的效率会更高,即使没有这样的“福利”,其网络通信效率变化不大,稳定性依然很高。
和移动通信网络一样,物联网也面临着网络容量不够用的情况,就需要网络扩容。LoRaWAN网络扩容有两种方案,分别是增加网关和增加信道数量。
1)增加网关
当一个区域内节点数量或通信频次增加时,尤其是距离周边网关都较远的节点增多时,带来的信道压力会更大。原因是距离所有网关都较远的节点(叫作远节点)只能使用较低的速率上行传输,占用信道时间长。此时如果在这些远节点比较聚集的区域放置新网关,这些远节点 ADR后变为高速率、低功率的输出模式,信道的容量大幅提升。当使用增加网关的方式进行扩容时,尽量要把扩容网关放置在原有网关连接区域的几何中心。如果知道覆盖区域内的所有节点以及节点对应的数据速率,可以更好地规划网关放置的位置。
2)增加信道数量
增加信道数量可以直接使信道容量增加,但是由于原来的网关早已安装,需要进行网关硬件升级。如果要将原来8信道的网关升级到16信道,就需要整个服务范围内的所有网关全部更换硬件,然后再通过命令的方式下行设置所有的节点从8信道跳频升级为16信道跳频。虽然节点升级只是一个简单的命令,但是网关升级必须将所有的已经部署好的网关拆下来更换,成本非常高。
在实际应用中,一般会选用增加网关的方法实现扩容。
4.LoRaWAN实例分析
物联网应用中最关心的三个因素是网络容量、覆盖范围、节点功耗,它们对应的系统参数分别为数据率、距离和功耗。下文通过多个终端节点的这三个参数在LoRaWAN网络中的实例进行分析。
图5-21为一个简单的LoRaWAN网络,由一个LoRa终端设备和一个网关组成。这个终端设备根据其自身传输数据率频次、距离基站距离range、功耗power等不同,ADR会选择合适的通信速率。为了方便介绍,定义通信速率从最慢到快有6挡,分别是Speed1~Speed6,如图中的圆形码表为挡位表示。由于这个LoRa设备的位置在深度室内环境,ADR会选择Speed1(最低速率)与网关进行通信。
图5-21 单节点LoRaWAN网络实例图
图5-22为多终端、单网关的LoRaWAN覆盖通信图。图中有多个终端节点,距离网关的距离不同,放置位置分为室内、室外和深度室内。通过ADR后,这些节点优化了自身的通信速率:
-
深度室内的终端节点采用最低的速率Speed1(深度室内环境衰减是最严重的,一般定义为Speed1和Speed2);
-
室内的终端节点根据其距离网关的不同,速率为Speed3和Speed4;
-
室外的终端节点根据其距离网关的不同,速率为Speed5和Speed6。
图5-22 多节点LoRaWAN网络实例图
如图5-22可知,LoRaWAN环境中所有的终端节点都自动地选择合适的扩频因子,从而增加信道容量,降低功耗,减小干扰。此时如果信道容量不够用,需要扩容,可以采用如图5-23增加网关的方式进行扩容。
在原有的基础上增加了一个新的网关G2,放置在有原有的网关G1右侧。原有终端节点的通信速率进行了新的ADR后发生了变化,图中最右侧的三个终端节点由于更靠近G2,则其链路连接改变为与G2的通信,此时其自身的扩频因子会发生变化,其通信速率都增大了,从而减小了G1的信道压力。除了图中右侧的三个终端节点外,其他的终端节点保持原有的通信速率不变。由于右侧的三个终端节点速率增加,其通信包飞行时间减少且传输距离变近,G1收到的信号容量增加,G1附近可以容纳更多的新节点。G2增加后,其周围也可以增加更多终端节点,扩充网络容量。
在上述场景中如果有一个移动的物体,从靠近G1移动到靠近G2,网络服务器会自动为其选址合适的网关下行通信,G1到G2的切换非常方便。LoRaWAN网络是物联网的架构,对于信号的稳定性和延时性要求不高,一个信号发送丢包后可以重发,且延迟几秒对系统的影响不大。一般情况下,对于移动LoRa终端节点,建议ADR采用较高的功率和较低的速率,移动终端节点的数据可以传到更多基站,这样就不会存在高速运动的终端节点在切换区域时丢包的问题。LoRaWAN基站定位的方法就是利用多个基站同时接收到一个终端节点的信号,根据到达时间差(TDOA)的方法可以计算终端节点的位置。
图5-23 多节点LoRaWAN网络实例图
5.LoRaWAN下行同步网络
LoRaWAN网络的应用中绝大多数都是采用异步上行通信的方式,不过有一些应用需要下行低功耗控制功能。在5.1.2小节中的星状网络分析中已提到多个网关无法实现同步下行校准时钟的功能。主要是有两
个原因:一是因为每个网关自身的时间精度有差异;另一个是多个网关的覆盖区域有很多重合,节点同时收到两个授时信号会出现相互干扰的问题。
(1)针对时间精度的解决方案,是通过GPS授时实现的,在SX130X芯片的网关设计中室外网关都加入GPS模块的,这个GPS模块作为网关时钟精度校准器,这样所有的网关的时钟都可以精确到纳秒级。GPS提供的高精度时钟对于LoRa基站定位TDOA提供关键时间
戳。对于一些室内网关只能通过有线的方式将GPS天线引到室外来实现GPS授时。在没有办法GPS授时的室内下行同步LoRaWAN网络中可以通过网关间LoRa/GFSK信道广播传输时钟的方法实现所有网关时钟同步。
(2)针对一个终端节点收到多个网关的下行相互干扰的问题可以从两个思路来解决。第一个思路是LoRa芯片的接收电路具有同信道信号抑制功能,如果LoRa芯片(节点或网关芯片)在同一信道中收到带宽和扩频因子完全相同的两个信号时,且两个信号强度相差超过6dB,会解调信号强度大的那一个。信号强度差小于6dB时,则无法解调。第二个思路就是将网关分区域分频率下行管理,相当于将终端节点根据区域分配指定的网关管理。一般应用情况下较少出现需要分频下行同步的场景。
6.LoRaWAN总结
1)LoRaWAN的优点
对比蜂窝移动通信系统,LoRaWAN网络具有以下优点:
(1)快速移动物体的问题和小区拖尾问题都可以解决。
LoRaWAN网络不需要切换小区和频率,相比之下,GSM系统小区重选与切换所需的最小时间为5s,WCDMA系统应考虑在切换带起呼状态,所需时间一般不超过3s。LoRaWAN支持快速移动物体的应用,即使高铁350km/h的速度在郊外的环境中依然可以保证通信及切换网关时的稳定性,而运营商网络则需要网关有非常大的重叠区域(一般要求100m以上)才可以保证切换区域的操作,具体讨论见8.5.1小节。
(2)对抗多普勒。LoRaWAN协议中,对终端设备的工作频率偏移要求为小于50×10-6,当工作主频为490MHz时,协议允许的最大频率偏移为24.5kHz。对比常用的蜂窝网技术,如GSM制式标准允许的中心频率偏差为±300Hz;WCDMA制式标准允许的中心频率偏差为±800Hz,LoRaWAN协议对频偏的要求要低得多。关于对抗多普勒的具体讨论见8.5.1小节。
(3)LoRaWAN网关站点选择布置简单,不需要一定按照六角蜂窝中心布设。
(4)LoRaWAN网优问题几乎不存在。
(5)LoRaWAN扩容非常简单,只需要增加网关即可,不需要面临复杂频率与站点问题。
(6)LoRaWAN建网成本非常低,网关也只需要供电和连接公共网络。安装架设简单,不需要专业人士。
(7)具有TDOA定位技术,比蜂窝网通过信号强度方法的精度大幅提高,具体讨论见8.3.2小节。
2)LoRaWAN的缺点
在具有上述优点的同时,LoRaWAN的缺点也非常明显:
(1)无法支持高速率的通信,现在的LoRaWAN协议只支持5.5kb/s的通信速率,而Sub1GLoRa芯片最高只支持50kb/s的速率。
(2)实时性差,LoRa终端节点与网关的通信时间一般需要几百毫秒,再加上网关与网络服务器的通信采用普通的公共网络,上下行通信时间最快也要超过1s(LoRaWANClassA协议,节点发射命令后需要等待1s打开接收窗口)。无法应对许多低延时的智能家居等需求。
三、LoRaWANServer
在5.2.2小节的讨论中,已经知道LoRaWAN的网络架构是由终端节点、网关、网络服务器和应用服务器组成的。其中对终端节点和网关已经非常熟悉了,下面针对NS和AS展开分析讲解。
LoRaWAN服务器(LoRaWANSever)端框架如图5-24所示,LoRaWANServer程序可以分为网关服务器(Gateway Server)、网络服务器(Network Server)、应用服务器(Application Server)、接入服务器(Join Server)和认证服务器(Identity Server)五部分。
图5-24 LoRaWANServer端框架图
各个部分的功能如下:
1)认证服务器
认证服务器提供了存储实体(如应用程序及其最终设备、网关、用户、组织和OAuth客户端)的注册表。它还通过成员身份和API密钥管理访问控制。
2)网关服务器
网关服务器的主要作用是保持与各个网关的连接,它支持基站LNS协议、UDP协议、MQTT协议和GRPC协议。同时,它将上行数据包直接或者间接地转发到网络服务器,同时将网络服务器或应用服务器端的下行数据转发到各个网关端。
3)网络服务器
网络服务器处理LoRaWAN网络层,包括MAC命令、区域参数和自适应数据速率(ADR)。它主要包括以下几部分:
(1)设备管理:网络服务器为终端设备管理公开NsEndDeviceRegistry服务。此服务的典型客户端是操作台和CLI,网络服务器存储设备MAC配置、MAC状态和网络会话密钥。设备MAC配置的改变可能触发下行链路消息。
(2)应用下行链路队列管理与连接:网络服务器允许应用服务器通过gRPCAPI推送、替换和列出应用程序下行链路以及链接应用程序。应用下行链路队列的改变可能触发下行链路消息。一旦建立了链接,网络服务器将通过该链接向客户端发送特定于应用程序的上行链路消息。每个应用程序最多只能有一个活动链接。如果链路未处于活动状态,但网络服务器要发送特定于应用程序的上行消息,则这些消息将在建立链路后排队并发送。
(3)下行调度:网络服务器维护内部下行链路任务队列。每个下行链路任务都有一个与其相关联的执行时间,这些任务按升序排序。每当下行链路任务准备好执行时,它就会尽快执行。
(4)加入接受:如果存在挂起的会话,并且设备的加入接受排队,则会安排该会话。
(5)数据下行链路:如果挂起的会话不存在或已发送了加入接受,则网络服务器将尝试在活动会话中生成和调度数据下行链路。
(6)上行链路处理:网络服务器通过gRPC从网关服务器接收上行链路。网络服务器对接收到的上行链路进行相应的处理。第一步是将上行链路与设备匹配。如果上行链路无法与存储在网络服务器中的设备匹配,则将其丢弃。
(7)设备加入请求:如果收到加入请求,则设备使用连接请求中的DevEUI和JoinEUI对进行匹配,后者唯一标识设备。为设备分配新的DevAddr,并为设备派生新的MAC状态。如果群集中存在连接服务器,则网络服务器会向群集本地连接服务器发送连接请求消息。如果群集中不存在连接服务器,或者群集本地连接服务器中未配置设备,则网络服务器将向通过互操作性配置发现的连接服务器发送连接请求消息。如果加入服务器接受了加入请求,则可以将加入接受消息排队等待设备,并将带有加入接受相关信息的特定于应用程序的上行链路消息发送到链接的应用程序服务器。
(8)数据上行链路:如果接收到数据上行链路,则设备使用数据上行链路中的DevAddr进行匹配。通过比较会话上下文和MAC状态以及执行MIC检查来执行匹配。由于多个设备可能具有相同的DevAddr,因此网络服务器在匹配设备之前可能需要遍历多个存储设备。如果MAC命令存在于帧中,则网络服务器处理MAC命令,并相应地更新MAC状态。如果在数据上行链路中设置了ADR位,则网络服务器运行ADR算法并相应地更新MAC状态。如果成功地处理了数据上行链路,
则下行链路可以排队等待该设备,并且向链接的应用服务器发送一个或多个带有加入接受的相关信息的特定于应用程序的上行链路消息。
4)应用服务器
应用服务器处理LoRaWAN应用层,包括上行数据解密解码、下行排队和下行数据编码加密。它托管用于流式应用程序数据的MQTT服务器,支持HTTPwebhook以及pub/sub集成。它主要完成以下职责:
(1)连接到网络服务器:应用服务器链接到网络服务器以接收上游流量并写入下游流量。大多数事物堆栈集群包含一个应用服务器,但也可以将外部应用服务器连接到网络服务器。这将确保应用程序会话密钥(AppSKey)不可用于网络层以实现端到端的安全性。一次只能将 一个应用程序服务器实例连接到网络服务器。
(2)互连性:应用程序可以通过多个协议和机制连接到应用服务器。
(3)MQTT协议:应用程序可以通过MQTT交换JSON消息来连 接到应用程序服务器。MQTT通过TLS提供,为应用程序和应用服务器之间交换的消息提供机密性。上行消息不仅包含数据上行消息,还包含连接接受和下行事件,主题不同。
(4)HTTP网络挂钩:应用程序可以通过HTTPwebhook获取流式JSON消息,并通过向应用服务器发出HTTP请求来调度下行消息。与MQTT一样,可以配置所有上游消息,包括上行链路消息、连接接收和下行链路事件,每一个都是独立的URL路径。
(5)公共/子集成:应用程序还可以使用PUB/SUB集成来处理流数据,包括连接到外部MQTT服务器和NATS服务器。
(6)消息处理:应用服务器可以对终端设备发送和接收的二进制数据中的有效载荷进行解码和编码。这允许使用结构化流数据,例如使用MQTT和HTTPwebhook的JSON对象,但使用通过空中传输的压缩二进制数据。消息处理器可以是众所周知的格式或自定义脚本,并且可以在设备级别或整个应用程序中进行设置。
5)接入服务器
接入服务器处理LoRaWAN连接流,包括网络和应用服务器身份验证和会话密钥生成。
LoRaWAN服务器是LoRaWAN协议运行的必要组成部分,承载着大量的数据、网络、安全、管理的工作。LoRaWAN的应用中高效、合理的NS和AS是保证节点与应用的关键。尤其是在大型智慧城市、智慧社区的应用中,有海量的LoRa终端接入网络,需要面对百万级的高并发场景,需要超强能力的NS。