厦门欣仰邦科技有限公司

24小时咨询电话:

0592-3564822

经验案例

LoRa协议定义的终端类型三层应用定义

LoRa整个网络协议层如图所示:

LoRa协议定义的终端类型三层应用定义

Application为应用层,常见的LoRaWAN协议即为LoRaMAC协议,协议定义的终端类型有ClassA、ClassB、ClassC三种类型,其主要差别ClassA上行触发下行接收窗口,只有在上行发送了数据的情形下才能打开下行接收窗口;ClassB定义ping周期,周期性进行下行数据监测;ClassC尽可能多地监测下行接收,基本只有在上行发送时刻停止下行接收;协议要求每个终端必须支持ClassA,而B、C为可选功能,同时在支持ClassC功能的终端上无需支持classB类型。

Class A B C介绍 

Class A

双向通信终端设备。这一类的终端设备允许双向通信,每一个终端设备上行传输会伴随着两个下行接收窗口。终端设备的传输槽是基于其自身通信需求,其微调是基于一个随机的时间基准(ALOHA协议)。A所属的终端设备在应用时功耗最低,终端发送一个上行传输信号后,服务器能很迅速地进行下行通信,任何时候,服务器的下行通信都只能在上行通信之后。

Class B

具有预设接收槽的双向通信终端设备。这一类的终端设备会在预设时间中开放多余的接收窗口,为了达到这一目的,终端设备会同步从网关接收一个Beacon,通过Beacon将基站与模块的时间进行同步。这种方式能使服务器知晓终端设备正在接收数据。

Class C

具有最大接收槽的双向通信终端设备。这一类的终端设备持续开放接收窗口,只在传输时关闭。

LoRa网络结构

LoRa整体网络结构分为终端、网关、网络服务、应用服务几个功能。终端节点可以同时发给多个基站,一般LoRa终端和网关之间可以同过LoRa无线技术进行数据传输,而网关和核心网或广域网之间的交互可以通过TCP/IP协议,当然可以是有线连接的以太网,亦可以为3G/4G类的无线连接。为了保证数据的安全性、可靠性,LoRaWAN采用了长度为128比特的对称加密算法AES进行完整性保护和数据加密。

LoRa协议定义的终端类型三层应用定义

星型拓扑结构

LoRaWAN中Server模块按照功能可以细分为Join server、Application server和Network Server,实际中可以是一个物理整体。Join Server用于终端设备的请求网络服务能力时的激活流程,Netwrok Server负责和网关及终端的MAC数据交互,Application Server为应用层服务端。

LoRa协议定义的终端类型三层应用定义

终端节点的加网

终端节点有两种加网方式:Over-the-Air Activation(空中激活方式OTAA),Activation by Personalization(独立激活方式ABP)。

OTAA激活流程需要准备三个参数:DevEUI,AppEUI,AppKey

DevEUI:类似于设备的MAC地址,标识唯一终端设备。

AppEUI:标识唯一的应用提供者,比如垃圾桶监测应用、烟雾报警器应用等,都具有自己的唯一ID。

AppKey:是一个AES-128的应用密钥,由该应用程序所有者分配给终端设备,从每一个应用独立的根密钥中推演出来。每当一个终端设备通过加入过程加入网络时,AppKey用于推演出为终端设备定义的会话密钥NwkSKey和AppSKey,用于网络通信的安全。而应用密钥用于保障应用的端到端安全。

终端在发起加网join流程后,发出加网命令,NS(网络服务器)确认无误后会给终端做加网回复,分配网络地址 DevAddr(32位ID),双方利用加网回复中的相关信息以及AppKey,产生会话密钥NwkSKey和AppSKey,用来对数据进行加密和校验。

如果是ABP激活,则比较简单粗暴,直接配置 DevAddr,NwkSKey,AppSKey 这三个LoRaWAN最终通讯的参数,不再需要join流程。在这种情况下,这个设备是可以直接发应用数据的。

数据收发

LoRaWAN规定的数据帧类型有Comfirmed(需要应答)和Unconfirmed(不需要应答)两种。另外,为支持应用多样性,除了用AppEUI来划分应用类型外,在数据传输时也可以利用FPort应用端口来对数据分别处理。FPort的取值范围是(1-223),由应用层指定。

配置产品17850532774
最新内容

全国服务电话:0592-3564822

Copyright © 2021 厦门欣仰邦科技有限公司 版权所有

地址:厦门市集美区软件园三期B区04栋

备案号:闽ICP备18009268号-1