收藏官网首页
查看: 11260|回复: 2

[资料] LoRaWAN 架构

50

主题

94

帖子

2135

积分

金牌会员

Rank: 6Rank: 6

积分
2135
发表于 2017-7-28 11:30:58 | 显示全部楼层 |阅读模式
免费使用STM32、APP自动代码生成工具
LoRaWAN架构


1 LoRaWAN网络结构:星型网络(star)
C:/Users/shu/AppData/Local/YNote/data/zhangshu9206@163.com/bd5565dc479441568379bb895ea3c0a2/20170106101846513.jpeg

1.jpeg
star相比mesh(网格)具备以下优势
C:/Users/shu/AppData/Local/YNote/data/zhangshu9206@163.com/a116a227006f4cf3b905925906865488/20170106105642696.jpeg

2.jpeg
2  LoRaWAN标准架构
LoRa Alliance制定的LoRaWAN架构分四个网络实体:End Nodes(子节点)、Gateway(中心节点)、LoRaWAN Server (LoRaWAN服务器)和 User Server(用户云端)。
C:/Users/shu/AppData/Local/YNote/data/zhangshu9206@163.com/c4aa3cce1c124616af689433ed17e505/20170106101931857.jpeg

3.jpeg
C:/Users/shu/AppData/Local/YNote/data/zhangshu9206@163.com/771bfe84e0c44af5a95cabe71228936e/%E4%B8%80%E5%BC%A0%E5%9B%BE%E7%9C%8B%E6%87%82lorawan%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84.png
End Nodes和Gateway,semtech开放全部硬件和软件设计,降低了开发难度。
LoRaWAN的核心功能,都是由LoRaWAN Server实现的:
控制无线参数:速率、功率、频率和ADR自适应速率;
实现QoS:ACK可靠通信、网络管理等;
通信协议:信息去冗余、精准回复、唤醒节点等;
网络安全:节点入网、网络层和应用层加密解密;
节点漫游:移动节点从A网关切换到B网关;
增值服务:节点定位,节点自动升级等

3 如何部署LoRaWAN Server(不同的角色)
运营商:提供区域、国家级的物联网,自己开发与维护LoRaWAN Server;
私网:提供小范围(工厂或农场等)的物联网,可以使用商业的LoRaWAN Server,目前,国际主流的商业Server公司有:
Loriot:https://loriot.io/ (进入网站有耐心看到底,您将看到NADIA美丽的眼神)
The Things Network:https://www.thethingsnetwork.org/
开发者:和semtech公司签订NDA(Non Disclosure Agreement,不公开协议),您可以获取LoRaWANServer的源代码和资料,它也只是一个框架系统,针对具体的物联网,还是需要修改和维护。
探索者:有一个开源的LoRaWAN Server:https://docs.loraserver.io/loraserver/

4 如何开发 LoRa Gatewa
实现LoRa Gateway,更明智的做法:
协议:使用LoRaWAN协议(它由 LoRa Alliance 设计+验证+制定+维护)
芯片:使用SX1301(它由semtech 设计+验证+供货+维护)
系统:使用Linux(它由全球精英开发+维护+推广+使用)

LoRaWAN 特点

1 长距离
得益于扩频调制和前向纠错码的增益,LoRa取得大约2倍蜂窝技术(手机)的通信距离。在最佳环境下,LoRa的最大空空通信距离可达15kM、城市环境3kM

2 大容量
网关容量是指在一定时间内网关接收数据包数量的能力。理论上来说,单个SX1301芯片拥有8个信道,在完全符合LoRaWAN协议的情况下最多每天能接收1500万个数据包。如果某应用发包频率为1包/小时,单个SX1301芯片构成的网关能接入62500个终端节点。当然,这只是一个理论值,网关接入终端数量最终还是与网关信道数量、终端发包频率、发包字节数和扩频因子息息相关。

3 传输速率
LoRaWAN网络数据传输速率范围为0.3 kbps至50 kbps,为了最大化终端设备电池寿命和整个网络容量,LoRaWAN网络服务器通过一种速率自适应(ADR)方案来控制数据传输速率和每一终端设备的射频输出。
ADR技术说明:
ADR(Adaptive DataRate,速率自适应)
如下图所示,依赖End Nodes和Gateway的距离:越近,End Nodes将采用高速率;越远,End Nodes将采用低速率。
C:/Users/shu/AppData/Local/YNote/data/zhangshu9206@163.com/4d8680e7465c4c0ebcaec6349908897d/20170106172107978.jpeg



ADR技术能带来如下好处:
速率和容量
离Gateway近的End Nodes因为采用高速率,可以大大缩短无线电的空中时间,从而给其他End Nodes通信留下宝贵的带宽,即,扩展了网络容量。
更低的能耗
很明显,End Nodes的速率越高,将会更多地休眠,电池寿命也就更长。
轻松扩容
当一个LoRaWAN网络需要增加容量时,通过增加Gateway即可,因为部署更多的Gateway,它附近的End Nodes将会提速,整个网络带宽得到显著提升。

4 安全
无线电天生容易被**,安全变得很重要,LoRaWAN是第一个提出双重加密的物联网。
应用层:LoRaWAN Server和End Nodes的应用数据,由AppSKey进行128ASE加密和解密,即使网络操作员也无法**应用数据。
网络层:LoRaWAN Server和End Nodes的通信帧,由NwkSKey进行128ASE加密和解密,它主要用于信息完整性校验和防止“伪节点”攻击。

5 低功耗
18dBm下:13 -- 93 mA
几种窄带低功耗传输技术功耗对比:
C:/Users/shu/AppData/Local/YNote/data/zhangshu9206@163.com/c085b02aeab546e7a2cf116a53ef00e7/clipboard.png
5.png
怎样把LoRa终端功耗降到极:http://blog.csdn.net/jiangjunjie_2005/article/details/50628279

6 一网络多网关
在LoRaWAN网络中,一个End Node的发送数据帧可以被多个Gateway接收,再转发给LoRaWAN Server。这样做的好处是,Server可以选择最佳(信号强度最大)的Gateway回复,并调整ADR。如果是移动的Node,从一个Gateway漫游到另一个Gateway,因为是同一个Server在管理,免除了复杂的移交工作,这给“定位”(如资产跟踪)提供更多的便利。

7 三类终端
LoRaWAN协议定义了三类终端,这样做的好处是,用户可以根据:应用场景、节能需求和唤醒时延,灵活地选择最佳的种类。更难得的是:协议允许End Nodes在运行中根据需要,进行Class A和B的切换。
类别应用实体优点缺点
Class A电池供电传感器最佳节能Server无法唤醒End Node
Class B电池供电执行器节能并唤醒时延可控复杂,实现代价大
Class C市电供电执行器随时唤醒通信耗能大


8 低成本
LoRaWAN工作在ISM免费频段,没有频段税费,让人们低成本部署一个私有物联网成为可能。

9 应用数据的封包大小
下图是LoRaWAN中国频段的最大数据帧长度规定,可以看到,DR0/DR1/DR2(分别对应:250/440/980bps)下,应用层最大数据长度为51字节,在不同的速率下,该值还是变化的。这给应用层设计MTU(Maximum Transmission Unit,最大传输单元)大小,增加了额外的困难。
C:/Users/shu/AppData/Local/YNote/data/zhangshu9206@163.com/8c759d08281c4f2897521374b69077a9/clipboard.png

LoRaWAN 设备入网

End Node要加入LoRaWAN网络,有2种方法完成入网:ABP(Activation by Personalization,个性化激活)和OTAA(Over-the-Air Activation,空中激活)。

说明:设备地址(DevAddr)、应用ID(AppEUI)、网络会话密钥(NwkSKey)和应用会话密钥(AppKey)<AppKey作为root key,被Server和End Node共享>、NwkSKey(层数据加密)和AppSKey(MAC协议帧加密)。

1  ABP(提前固定设备地址)
ABP是一种简单的入网机制,同时,它也不太安全,适合于建设私网。
它的核心原理是,LoRaWANServer和End Nodes双方都保存相同的3个参数:DevAddr、NwkSKey和AppSKey。

流程:
1. 首先,每一个EndNode都会有一个DevEUI(Device Extended Unique Identifier,设备扩展唯一标识),最常见的做法是,取MCU的SN(Serial Number,序列号),经过某种算法得到64位的DevEUI。
2. 然后,Server端提供DevEUI,将得到如下三个值:DevAddr、NwkSKey、AppSKey
3. 最后,将这三个值,分别保存到End Node中。这样,该Node就完成了入网,可以与Server通信。


2  OTAA(动态分配设备地址,生成动态秘钥)
OTAA是一种安全系统很高的入网机制,较复杂(数据结构是核心)。

流程:
1. 首先,一个End Node需要配置:AppEUI和DevEUI;并且取LoRa芯片的RSSI随机值,得到DevNonce。将这3个参数,组织成Join Request数据帧,发送给LoRaWAN Server。
2. Server接收到Join Request后,分配DevAddr,连同AppNonce和NetID,组织成JoinAccept数据帧,回应给EndNode。
3. End Node接收Join Accept后,提取DevAddr;结合4个参数:AppKey、AppNonce、NetID和DevNonce,使用aes128_encrypt(),生成2个密钥:NekSKey和AppSKey。
C:/Users/shu/AppData/Local/YNote/data/zhangshu9206@163.com/a4cc272a08da4667817c620e634ccde8/20170111171036761.jpeg

总结:
无论是ABP,还是OTAA,最终,End Node都会得到3个参数:DevAdd、NwkSKey和AppSKey。

3 重传的限制
一些外部事件的发生,如:断电、信号拥塞、网络断供…,一旦恢复,很可能会有大量(>100)的End Node同时申请入网。为了防止这些广播的Join Request拥塞整个网络,End Node需要实现“伪随机”离散入网,并且限制发送时间。
“伪随机”,可以将DevAddr代入随机函数,生成入网时间,这样有效降低End Node同时入网的概率。
一个End Node发送Join Request的时间,不但要遵守duty cycle的法规,还必须遵循如下的限制时间,以防止过多的入网报文干扰网络正常运行。
C:/Users/shu/AppData/Local/YNote/data/zhangshu9206@163.com/430cbdf6d8ee47f9882455682014c69d/20170111171107016.jpeg



4 保存契约(无线参数、产品类型保存服务器)
一个End Node至少有2方面的属性:
无线参数:频段范围、最大发射功率、RxDelay1和RxDelay2时长;
应用类别:警报器、能源表计、资产跟踪、监测、网络控制等
这些称之为契约,需要存储在Server中,AS(Application Server)和NC(NetworkController)需要使用它们,以便提供更好的网络服务。

5 感知地区
LoRaWAN是工作在ISM免费频段,然而,每个地区和国家的ISM频段是不一样的;即使是相同的频段,网关也可以使用多个信道,比如,中国470~510MHz的频域,划分了96个上行和48个下行信道。
一个End Node在发起入网前,需要确认自己所有的区域和可以使用的信道。


4.png

2

主题

6

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2018-3-16 14:51:36 | 显示全部楼层
有没有LORA作为网关如何同时接收客户端发送来的信号
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

© 2011-2017 Gizwits ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表