LoRaWAN学习笔记2.1—LoRaWAN协议
--樊渝江
升特官方在2017年11月推出了LoRaWAN-Specification-v1.1,新协议在架构上有些变化,但大体没有变。等1.1推出一段时间后我会针对新协议修改一些服务器程序。
言归正传,目前大家都还是使用的老版本协议LoRaWAN-Specification-v1.0.2版本,你能买到的并且支持LoRaWAN标准的产品,都是基于这个版本开发的,所以我们以此版本开始分析。这个版本熟悉了再去看1.1版本也不是什么难事,如果有那就是英语问题。
在开始看的时候希望大家能先阅读一下《LoRaWAN-Specification-v1.0.2》,也有英语大神翻译的缩减版,名字叫《LoRa规范CLASS-A》,如果看英语困难就去看中文版本的吧,翻译的挺好。《LoRa规范CLASS-A》 下载 地址
现在就让我们来见识见识这个协议。
LoRaWAN的定义我在上一个笔记里已经讲过了,如果还不理解的话就翻翻上一篇,或者百度一下。现在我们直接开始干货。
LoRaWAN将终端通信模式分为了三类,分别为CLASSA,CLASS B,CLASS C。
ClASS A:双向终端设备,通过在终端设备上行链路传输后开放两个下行链路窗口,使Class A 的设备可以双向通信。传输时隙由终端设备决定,该传输时隙基于其自身的通信需求,在随机时间基准(ALOHA型协议,全随机,当两个包频率相同,发射时间相同,1301会接收信号强度强的那个包,这是我实测过得。)上进行小变动。由于应用层只在终端设备上行链接传输后较短的时间内需要来自服务器的下行链路通信,因此 CLASS A 模式的设备是功耗最低的终端设备系统。服务器在其他任意时刻的下行链路都需要等待直到下一个确定的上行链路。服务器不能主动向终端发数据,必须等到终端上发了数据后才能给他下发数据。
CLASS B:具有确定接收时隙的双向终端设备,CLASS B 设备考虑了更多接收时隙。除 CLASS A 的随机接收窗口外,CLASS B 设备会在确定的时间内打开额外的接收窗口。为保证终端设备在确定的时间内打开接收窗口,终端设备会从网关接收到一个时间同步信标。这使服务器知道终端设备何时在监听。这种方式就是时钟同步方式,能使系统的终端数更多,可惜1.0.2官方提供的源码中,并没有。