一篇文章帮你了解LoRaWAN特性【转自微信公众号 智联网事】

LoRa,相信做小无线开发的朋友都不会陌生,Semtech公司独有的扩频调制技术,能够实现低功耗远距离的Sub-1G无线传输;而LoRaWAN,因为涉及到协议,因此不是那么广为人知;本文,主要针对LoRaWAN协议进行一个总结,包括以下内容:

LoRaWAN从哪里来

LoRaWAN有什么特性

LoRaWAN用到哪里去

/1/ 

LoRaWAN从哪里来

LoRa联盟(LoRa Alliance)于2015年三月由思科,IBM和Semtech等多家厂商共同发起创立,其成立之初的董事会成员包括19家来自于电信运营商,网络安全方案商,云平台方案商,基站方案商,终端芯片方案商,行业应用方案商的企业,截止2018,已经有500+联盟会员;LoRa联盟致力于推广LoRaWAN在物联网低功耗广域网(LPWAN)的标准化及广泛应用;而LoRaWAN定义了从终端节点,到网络服务器端的标准和架构;LoRaWAN网络图如下

/2/

 LoRaWAN 的基本特点

一个LPWAN (Low Power Wide Area Network),一般需要考虑如下参数指标:标准化,网络架构,通信距离,通信时延,功耗,安全性,鲁棒性,网络节点规模,单双工,支持的应用多样性等

我们从如下几个方面来了解LoRaWAN的细节:

标准化:LoRaWAN 本身是一个标准的协议架构,从MAC层往上,都是全球通用开源的,而且还有定义配套的认证标准;考虑到LoRa本身工作在免授权的ISM频段,不同国家针对ISM频段具体规定各不相同;LoRaWAN针对这个问题,规定了基于区域的LoRa参数标准,比如中国ISM的CN470~CN510以及CN779~CN787两部分;

网络架构:LoRaWAN是一个标准的星型网络架构,从节点端发送的数据,经过网关的中继,到达网络服务器端;在这里,为了简化节点端到网关的通信,节点不需绑定具体的网关进行通信,从节点发出的数据,由不同网关接收到后,一起发给服务器端,由服务器进行数据包的处理,同时,如有需求,服务器会选择最优的网关,回应数据给节点;整个过程,其实LoRaWAN实现了类似GPRS的功能;

功耗:LoRaWAN的网络是一个非同步的ALOHA网络,且无中继器的功能,节点端根据自己的需求进行数据的传输;与同步网络需要定时唤醒进行通信相比,LoRaWAN的拓扑具有明显的优势;除了网络方面,LoRaWAN基于的LoRa调制,其射频部分本身就具有低功耗的特性;功耗,也是LoRa与NB-IOT技术对比的一个明显技术优势;

网络容量:没有做个LoRaWAN设计的朋友可能不知道,LoRaWAN 网关端射频芯片与节点端不一样,网关端的芯片射频方案以CN470~CN510举例,为SX1255+SX1301;这与大部分的Sub-1G技术不同;而正是这个设计,使得LoRaWAN的网关容量可以大幅提高;继续往下说,具体是SX1301有哪些特性,能大幅提升网关的节点容量:一个是10个独立的接收通道,一个是ADR; 10个独立通道IF0~IF9中,其中IF0~IF7可以同步接收不同速率下的LoRa包,更多信息可以参考SX1301的数据手册;而ADR,根据节点与网关的远近及信号质量,会动态的设置节点端的通信速率,使的近距离的采用更高的速率,ADR的示意图如下。

因为LoRa是扩频调制技术,不同扩频因子的无线电信号是正交的,这是一个很重要的特性。上面的IF0~IF7,同一个IF信道,扩频因子(Spread Factor)从SF7~SF12(对应速率DR7~DR12)的6个无线电信号,彼此不相冲突。这样一来,一个SX1301可以构建6x8=48个“虚拟信道”,容量得到更进一步提升。(实际SX1301接收过程,同时只能解调8个数据)

安全性:LoRaWAN从如下几个方面保证安全,设备与服务器的双向认证,MAC层的加密以及端到端的应用层数据加密;我们来进一步看LoRa的安全性的实现: 每一个LoRaWAN设备出产时候必须预置 AppKEY,设备端及服务器端保有相同的AppKEY, 这个AppKEY将用于设备入网/激活时,服务器端针对设备端入网命令的解密(AES-CMAC),解密/验证通过后,将产时NwkSKey和AppSKey,分别用于MAC层及APP层的数据有效性检验;

从上面的总结可以看出,LoRaWAN是从设计之初就考虑到LPWAN应用情景所需要考虑的问题,从各方面都有对应的优化设计;

通信时延:通信时延与多方面因素相关,包括通信的速率,通信包的构成,信道的拥挤程度,同频的干扰,以及通信的方式设定;LoRaWAN的底层速率可设置SF7~SF12,分别对应250bps和5470bps,针对包格式,可以参考LoRaWAN的数据手册,这里就不特别举例计算,LoRaWAN的通信速率并不高,不适用与实时性要求高的场合;

通信模式:LoRaWAN支持半双工通信,以Class A举例,节点端发送数据后,在RX_DELAYS(一般默认1s)后会开启接收端口,接收来自服务器的数据;而Class C模式, 节点射频除了需要发送数据,其他时间都处于接收状态;

/3/ 

了解LoRaWAN的专属词汇

谈到一个LPWAN,从顶层来看,肯定设计到设备定义,网络模型,如何入网,如何通信等基本,我们就针对这些概念讲讲。

设备定义及网络拓扑

如最上图所示,LoRaWAN协议为星型网络,由终端节点,网关,网络服务器,和应用服务器组成;LoRaWAN入网过程,通过哪个网关加入服务器,由服务器决定,这对终端节点来说,网关算是透明的,这个特性也使得LoRaWAN网关很适用于移动物联网设备;

入网流程

LoRaWAN的入网方式有两种, OTAA (Over The Air Activation)和ABP(Activation by Personalization); 节点端通过OTAA入网的流程如下图。

  -/入网前,需要模组预置 JoinEUI, DeviceEUI,NwkKey和AppKey,这些需要向LoRaWAN运营商申请, 比如在阿里的LinkWAN平台申请;

  -/接着,节点端先发送JOIN 请求, JOIN请求携带JoinEUI, DeviceEUI和DeviceNonce,所有收到JOIN请求的网关都将转发JOIN请求给网络服务器;

  -/服务器收到JOIN请求后,向应用服务器转发,由应用服务器根据JOIN请求包里的密钥信息,决定是否授权节点入网;

  -/如果允许节点入网,应用服务器回复Join Accept信息,包含JoinNonce, DevAddr,HomeNetID这些关键信息;

-/节点端解析JOIN ACCEPT消息,解密出对应的密钥,完成入网过程(这里,不同LoRaWAN版本的密钥定义不一样,详见LoRaWAN保准)。

ABP入网流程,只是将与网关的交互过程省略,而直接将通信用密钥预存在节点中,这里不做描述;

节点工作模式

LoRaWAN分三种工作模式,Class A, Class B, Class C;三种模式的简要对比如下:

Class A: 非同步网络, 节点平常处于睡眠,需要发送数据时,唤醒发送,发送后可以开启两个短暂的接收窗口接收服务器的数据;服务器有数据下发必须等节点的上传后的接收窗口;这种模式优点是功耗低,缺点是服务器下行数据时延不确定;

Class B:同步网络,在Class A基础上, 节点端可以定时开启接收端口接收数据,这种方式会让服务器端的下行数据时间可控,附带的成本,是所有节点必须与服务器端进行时间同步;

Class C: 节点除了发送状态外,其他时候均处于接收状态;这种工作方式双向时延最低,但是带来的也是更高的功耗;

LoRa,相信做小无线开发的朋友都不会陌生,Semtech公司独有的扩频调制技术,能够实现低功耗远距离的Sub-1G无线传输;而LoRaWAN,因为涉及到协议,因此不是那么广为人知;本文,主要针对LoRaWAN协议进行一个总结,包括以下内容:

通信流程

通信流程与LoRaWAN节点工作模式相关,也和发送的数据类型有关。数据类型包括Confirmed data (需要接收端回馈ACK)和unconfirmed data (无需要接收端回复), 这里以最通用的Class A举例,如下图。在节点端上传数据Cu后,会在RECEIVE_DELAY(一般1s)后开启接收端口,网关接收到数据后,如果网关有额外的数据需要下发,可以在下发的数据包置位F_P (Frame Pending),告知节点还有下一包数据。节点接收到网关的Confirmed Data0 cd后,发现包中的F_P是置位的,于是马上回复ACK,然后1s后继续开启接收端口接收第二个Confirmed Data cd+1,节点回复ACK后,结束。更复杂的设计到通信失败的情景,可查阅LoRaWAN的标准;

猜你喜欢

转载自blog.csdn.net/iotthings/article/details/84027255
今日推荐