终端协议架构
LoRaWAN是 LoRa联盟推出的一个基于开源的MAC层协议的低功耗广域网(Low Power Wide Area Network, LPWAN)标准。这一技术可以为电池供电的无线设备提供局域、全国或全球的网络。LoRaWAN瞄准的是物联网中的一些核心需求,如安全双向通讯、移动通讯和静态位置识别等服务。该技术无需本地复杂配置,就可以让智能设备间实现无缝对接互操作,给物联网领域的用户、开发者和企业自由操作权限。LoRaWan通讯协议,终端协议架构如下图所示。
网络架构
LoRaWAN网络架构是一个典型的星形拓扑结构,在这个网络架构中,LoRa网关是一个透明传输的中继,连接终端设备和后端中央服务器。网关与服务器间通过标准IP连接,终端设备采用单跳与一个或多个网关通信。所有的节点与网关间均是双向通信,同时也支持云端升级等操作以减少云端通讯时间。
自适应速率
终端与网关之间的通信是在不同频率和数据传输速率基础上完成的,数据速率的选择需要在传输距离和消息时延之间权衡。由于采用了扩频技术,不同传输速率的通信不会互相干扰,且还会创建一组“虚拟化”的频段来增加网关容量。LoRaWAN的数据传输速率范围为0.3 kbps至37.5 kbps,为了最大化终端设备电池的寿命和整个网络容量,LoRaWAN网络服务器通过一种速率自适应(Adaptive Data Rate , ADR)方案来控制数据传输速率和每一终端设备的射频输出功率。
通信加密
全国性覆盖的广域网络瞄准的是诸如关键性基础设施建设、机密的个人数据传输或社会公共服务等物联网应用。
关于安全通信,LoRaWAN一般采用多层加密的方式来解决:
一、独特的网络密钥(EU164),保证网络层安全;
二、独特的应用密钥(EU164),保证应用层终端到终端之间的安全;
三、属于设备的特别密钥(EUI128)。
A/B/C类终端介绍
LoRaWAN网络根据实际应用的不同,把终端设备划分成A/B/C三类:
**Class A:**双向通信终端设备。这一类的终端设备允许双向通信,每一个终端设备上行传输会伴随着两个下行接收窗口。终端设备的传输槽是基于其自身通信需求,其微调是基于一个随机的时间基准(ALOHA协议)。Class A所属的终端设备在应用时功耗最低,终端发送一个上行传输信号后,服务器能很迅速地进行下行通信,任何时候,服务器的下行通信都只能在上行通信之后。
**Class B:**具有预设接收槽的双向通信终端设备。这一类的终端设备会在预设时间中开放多余的接收窗口,为了达到这一目的,终端设备会同步从网关接收一个Beacon,通过Beacon将基站与模块的时间进行同步。这种方式能使服务器知晓终端设备正在接收数据。
**Class C:**具有最大接收槽的双向通信终端设备。这一类的终端设备持续开放接收窗口,只在传输时关闭。
LoRa技术要点
相关要点
一般说来,传输速率、工作频段和网络拓扑结构是影响传感网络特性的三个主要参数。传输速率的选择将影响系统的传输距离和电池寿命;工作频段的选择要折中考虑频段和系统的设计目标;而在FSK系统中,网络拓扑结构的选择是由传输距离要求和系统需要的节点数目来决定的。
前向纠错编码技术
LoRa融合了数字扩频、数字信号处理和前向纠错编码技术,拥有前所未有的性能。此前,只有那些高等级的工业无线电通信会融合这些技术,而随着LoRa的引入,嵌入式无线通信领域的局面发生了彻底的改变。
前向纠错编码技术是给待传输数据序列中增加了一些冗余信息,这样,数据传输进程中注入的错误码元在接收端就会被及时纠正。这一技术减少了以往创建“自修复”数据包来重发的需求,且在解决由多径衰落引发的突发性误码中表现良好。一旦数据包分组建立起来且注入前向纠错编码以保障可靠性,这些数据包将被送到数字扩频调制器中。这一调制器将分组数据包中每一比特馈入一个“展扩器”中,将每一比特时间划分为众多码片。
抗干扰能力
LoRa调制解调器经配置后,可划分的范围为64-4096码片/比特,最高可使用4096码片/比特中的最高扩频因子(12)。相对而言,ZigBee仅能划分的范围为10-12码片/比特。
通过使用高扩频因子,LoRa技术可将小容量数据通过大范围的无线电频谱传输出去。实际上,当你通过频谱分析仪测量时,这些数据看上去像噪音,但区别在于噪音是不相关的,而数据具有相关性,基于此,数据实际上可以从噪音中被提取出来。扩频因子越高,越多数据可从噪音中提取出来。在一个运转良好的GFSK接收端,8dB的最小信噪比(SNR)需要可靠地解调信号,采用配置AngelBlocks的方式,LoRa可解调一个信号,其信噪比为-20dB,GFSK方式与这一结果差距为28dB,这相当于范围和距离扩大了很多。在户外环境下,6dB的差距就可以实现2倍于原来的传输距离。
超强的链路预算
为了有效地对比不同技术之间传输范围的表现,我们使用一个叫做“链路预算”的定量指标。链路预算包括影响接收端信号强度的每一变量,在其简化体系中包括发射功率加上接收端灵敏度。AngelBlocks的发射功率为100mW (20dBm),接收端灵敏度为-129dBm,总的链路预算为149dB。比较而言,拥有灵敏度-110dBm(这已是其极好的数据)的GFSK无线技术,需要5W的功率(37dBm)才能达到相同的链路预算值。在实践中,大多GFSK无线技术接收端灵敏度可达到-103dBm,在此状况下,发射端发射频率必须为46dBm或者大约36W,才能达到与LoRa类似的链路预算值。
因此,使用LoRa技术我们能够以低发射功率获得更广的传输范围和距离,这种低功耗广域技术正是我们所需的。
关于LPWAN
低功耗广域网络(Low Power Wide Area Network, LPWAN)是物联网中不可或缺的一部分,具有功耗低、覆盖范围广、穿透性强的特点,适用于每隔几分钟发送和接收少量数据的应用情况,如水运定位、路灯监测、停车位监测等等。LPWAN相关组织LoRa联盟目前在全球已有145位成员,其繁茂的生态系统让遵循LoRaWAN协议的设备具有很强的互操作性。一个完全符合LoRaWAN标准的通讯网关可以接入5到10公里内上万个无线传感器节点,其效率远远高于传统的点对点轮询的通讯模式,也能大幅度降低节点通讯功耗。
划重点要考
谢谢大家看到这里,下面是干货。除了上面LoRa官方的解释,下面是小编对LoRaWan的个人见解,帮助初学者门,希望大家不要绕弯路。。。干货奉上。
终端
LoRa联盟是由Semtech公司发起的,Semtech公司在LoRa中起到什么作用?我们知道LoRaWan分为4部分,终端,网关,服务器,应用层。其中终端到网关这两个部分,也就是无线传感网部分。Semtech公司设计的sx127x射频芯片,用于收发消息。全球不同地区频段是不一样的。中国免费频段是433Mhz和470~510Mhz,详细请看LoRaWan物理层规定。对应的射频芯片可以使用SX1278射频芯片。SX1278射频芯片目前市场上供货很多价钱便宜。Semtech公司对SX1278没有任何管制,大家可以随便购买。sx1278射频芯片是半双工通信的射频芯片,LoRaWan协议需要主控MCU来运行,目前ST公司牵手了Semtech公司,STM32L系列低功耗主控MCU通过SPI控制SX1278射频芯片。终端的LoRaWan协议是开源的,可以在下面下载。总结下终端等于SX1278+STM32L系列单片机。
网关
网关部分,没有网关LoRaWan通讯协议没法运行,我们知道一个信道,在同一时间空中只允许一个电磁波的存在,否则会发生碰撞。LoRaWan通讯协议作为无线传感网的一种,首先需要解决的数据碰撞的问题。硬件方面网关是由树莓派+SX1301射频芯片构成的。Semtech公司设计的SX1301射频芯片拥有7个LoRa信道以及一个FSK通信信道。能够保证同一时间收到下方多个终端消息。网关通过网络层控制下方终端的通信信道,哪个信道空闲优先使用空闲信道,并且配置每个终端的信道占用比。超过信道空占比,会延迟发送消息。关键中的关键,SX1301射频芯片是Semtech公司的核心利益。完全不开源包括数据手册。官方的人也不会外泄,而且SX1301芯片供货买不到。只有大的供货厂商和公司加入联盟,签订保密协议才能拿到SX1301芯片。成型便宜网关的参考价格在2000人名币左右。所以网上卖终端的烂大街,卖网关的就一两家。目前网上卖终端的都是做透传用的,和LoRaWan没有关系,没有指出网关这一茬,sx1301如下图所示。
服务器
拥有终端和网关后还需要服务器的搭建,LoRaWan缺一不可。LoRa目前都是以做项目为主,网关一般不单卖,很不赚钱。
用户应用层
个性化定制,提取数据库内数据。
线性调制
LoRa为什么通信距离那么远相比FSK调制方式,LoRa调制方式采用了线性扩频技术。线性扩频技术为什么这么牛逼。我们知道wifi、zigbee包括3G\4G采用了直序译码技术,蓝牙采用了跳频技术。线性扩频技术难于调制,技术难点高。一般用于军用通讯,好处是抗噪强,传播距离远,难于破解。
低速率
LoRa通讯速率低,低到什么程度。LoRa的通讯速率越低距离越远,真的很远。在Sf = 7,bw = 125kHz时传输10b字节需要59ms。在sf=12,bw=125kHz时传输10b字节需要1361ms,64包字节需要2450ms(以上都是大概数据仅供参考,实际情况会有出入)。但是距离会很长。
LoRaWan相关资料
下面时官方LoRaWan的相关资料。
终端node代码:LoRaMac-node-master.zip
网关gataway代码:Lora_gateway-master.zip
服务器代码:croft-master.zip
SX1278驱动库文件:Sx12xxDrivers-V2.1.0.zip
SX1276/6/8中文数据手册:SX1278-China-data-cn.pdf
ST公司提供的终端LoRaWan协议使用手册:En.DM00300436.pdf
ST公司LoRaWan终端代码发布位置(获取位置,如下图所示):http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-expansion-software/i-cube-lrwan.html