LoRaWAN介绍7 入网

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangjunjie_2005/article/details/54345432

LoRaWAN介绍7 入网

“生命在他里头,这生命就是人的光。光照在黑暗里,黑暗却不接受光。”--《新约·约翰福音》

 

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


1  ABP

ABP是一种简单的入网机制,同时,它也不太安全,适合于建设私网。

它的核心原理是,LoRaWANServer和End Nodes双方都保存相同的3个参数:DevAddr、NwkSKey和AppSKey。

我们一起看一个实例,Loriot的Server是如何提供ABP入网机制的。

首先,每一个EndNode都会有一个DevEUI(Device Extended Unique Identifier,设备扩展唯一标识),最常见的做法是,取MCU的SN(Serial Number,序列号),经过某种算法得到64位的DevEUI。在本例中,设一Node有

DevEUI=BE-7A-00-00-00-00-0A-8E

然后,在Loriot的Server端,提供DevEUI,将得到如下图的三个值(大端):

DevAddr=01-33-51-A4

NwkSKey=5A-DA-30-AA-3E-D6-98-4A-A3-FD-04-0D-3C-A6-86-B9

AppSKey=7F-34-F6-20-41-37-EE-4C-97-B0-B2-82-2B-E1-7B-80

最后,将这三个值,分别保存到End Node中。这样,该Node就完成了入网,可以与Server通信。



2  OTAA

OTAA是一种安全系统很高的入网机制,当然,它的代价是较复杂。

借用大师Eric(经典书籍《The Art of Unix Programming》的作者)的一句话:数据结构压倒一切,它是编程的核心。我们列出了OTAA的数据流,如果有耐心看懂下图,您也就掌握了OTAA的入网原理。

一个重要的数据,AppKey,它是root key,被Server和End Node共享使用。

首先,一个End Node需要配置:AppEUI和DevEUI;并且取LoRa芯片的RSSI随机值,得到DevNonce。将这3个参数,组织成Join Request数据帧,发送给LoRaWAN Server。

Server接收到Join Request后,分配DevAddr,连同AppNonce和NetID,组织成JoinAccept数据帧,回应给EndNode。

End Node接收Join Accept后,提取DevAddr;结合4个参数:AppKey、AppNonce、NetID和DevNonce,使用aes128_encrypt(),生成2个密钥:NekSKey和AppSKey。


您会发现,无论是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的法规,还必须遵循如下的限制时间,以防止过多的入网报文干扰网络正常运行。



4 保存契约

一个End Node至少有2方面的属性:

无线参数:频段范围、最大发射功率、RxDelay1和RxDelay2时长;

应用类别:警报器、能源表计、资产跟踪、监测、网络控制等

这些称之为契约,需要存储在Server中,AS(Application Server)和NC(NetworkController)需要使用它们,以便提供更好的网络服务。


5 感知地区

LoRaWAN是工作在ISM免费频段,然而,每个地区和国家的ISM频段是不一样的;即使是相同的频段,网关也可以使用多个信道,比如,中国470~510MHz的频域,划分了96个上行和48个下行信道。

  • 一个End Node在发起入网前,需要确认自己所有的区域和可以使用的信道,这需要采用如下的方法:
  • 如果End Node安装了GPS,它可以得知自身所有的区域和信道范围;
  • End Node可以搜索beacon(网关每128秒发送),一旦接收成功,它将得知区域和信道范围;
  • End Node可以搜索beacon,一旦接收成功且beacon包括GPS信息,它将得知区域和信道范围;
  • End Node可以搜索beacon,一旦接收到入网频段列表,它将得知区域和信道范围。

下载经典的LoRaWAN资料,请链接:http://www.rimelink.com/nd.jsp?id=48&_np=107_316

欢迎加入“LoRaWAN论坛”http://lora.timeddd.com/forum.php


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页