使用 LoRa 进行低速率、长距离物联网应用开发
设计人员可以使用各种各样的无线技术将产品连接到物联网 (IoT)。每种技术适用于不同的应用,需要设计人员仔细考虑作用距离和数据速率、成本、功耗、体积和外形等因素。
本文将介绍 LoRa 协议,比较其相对其他协议的优势,并介绍几种产品和开发工具包,让工程师们快速开发出基于 LoRa 的系统。
无线物联网折衷考量
每种无线技术都有其强弱点。例如,标准 Wi-Fi 可以高速传输大量数据,但作用距离有限。蜂窝网络结合了高速和远距离优势,但功率不足。
像远程数据采集、城市照明控制、天气监测和农业这样的物联网应用拥有不同的优先级组合。在这些应用中,像天气条件、土壤含水量或路灯开关之类数量测量或控制,在较长的时间内变化都很慢。
此外,传感器节点往往会相距几英里,并且由电池供电,因此最佳的无线协议必须能够以最小功耗长距离发送小数据包。LoRa 协议正是因应此类要求而设计的。
LoRa 技术概览
LoRa 针对的是低功率、广域网(LPWAN)应用。其作用距离超过 15 公里,连接节点可达 100 万个。低功耗与长距离极限的组合可将最大数据速率提升至每秒 50千比特(Kbps)。
LoRa 是 Semtech Corporation 拥有的专有专利技术,运行在 ISM 频段。根据地区的不同,ISM 的频率分配和监管要求不尽相同(图 1)。两个最受欢迎的频率是欧洲使用的 868 兆赫(MHz),北美使用的 915 MHz。其他地区,特别是亚洲地区也有不同的要求。
欧洲北美频段867-869 MHz902-328 MHz频道数1064 + 8 + 8上行频道带宽125/250 kHz125/500 kHz下行频道带宽125 kHz500 kHz上行发射功率+14 dBm+ 20 dBm(典型值)(允许 +30 dBm)下行发射功率+14 dBm+27 dBmSF 范围7-127-10数据速率250 bps - 50 kbps980 bps - 21.9 kbps上行链路预算155 dB154 dB下行链路预算155 dB157 dB
图 1:两个广泛使用 ISM 频段的地区欧洲和美国的 LoRa 规范比较。(图片来源:LoRa 联盟)
LoRa 物理层使用扩频调制 (SSM)(图2)。SSM 以较高的频率序列对基本信号进行编码,特意在较宽带宽上扩散基本信号,降低了功耗,并增加了电磁抗干扰能力。
图 2:扩频系统将输入数据乘以更快的扩展信号带宽的代码序列。(图片来源:Semtech Corporation)
基本信号的扩频因子 (SF) 是可变的,代表的是一种折衷。 对于既定的可用带宽,较大的扩频因子降低了比特率,但也因为增加传输时间而减少了电池寿命。
指定扩频因子 (SF) 和带宽 (BW) 将按以下公式确定比特率:
LoRa 允许有六个扩频因子(SF7 - SF12)和三个不同的带宽(125 kHz,250 kHz,500 kHz)。允许的扩频因子和带宽由地区管制机构确定。例如,北美规定带宽为 500 kHz,扩频因子为 7 到 10。
由于采用扩频技术,不同数据速率的消息是正交的,并且通过创建一组“虚拟”频道,增加了网关容量,因而彼此相互不干扰。
LoRa 方案基于称为线性调频扩频 (CSS) 调制的 SSM 变体(图 3)。CSS 使用“线性调频”对数据进行编码,基本上是一种随时间增减的宽带调频正弦信号。
图 3:CSS“上扫频”既可以跟随频率相对时间的多项式表达式,也可以展现如这里所示的线性关系。(图片来源:维基百科)
CSS 非常适合需要低功率消耗的低数据速率(<1 Mb/s)应用。IEEE 802.15.4a 是另一个低速率标准,将 CSS 指定为在无线个人局域网 (LR-WPAN) 中所用的技术。CSS 已经使用了许多年,在军事和空间应用中提供稳健的长距离通信,但是 LoRa 是第一个低成本的商业实现。
LoRaWAN 和 LoRa 网络架构
LoRaWAN 规范定义了 LPWAN 的媒体访问控制 (MAC) 层。LoRaWAN 在 LoRa 物理层之上实现,并指定了通信协议和网络架构。这些功能对多个性能参数有很大的影响,其中包括:
- 节点的电池寿命
- 网络容量
- 网络安全
- 所服务的应用
LoRaWAN 网络架构使用星形拓扑结构,其中每个端节点通过网络服务器与多个网关进行通信。
LoRa 网络有四个要素(图 4):
端节点收集传感器数据,将其传输至上游,并从应用服务器接收下游通信数据。端点设备使用单跳无线通信方式与一个或多个网关进行通信。
集中器/网关充当透明网桥,并在端节点和上游服务器之间中继转发双向数据。
网络服务器通过有线或无线式安全 TCP/IP 连接与多个网关连接;消除了重复消息;决定哪个网关应该响应端节点消息;并使用自适应数据速率 (ADR) 方案管理端节点数据速率,以最大限度地提高网络容量并延长端节点的电池寿命。
应用服务器会收集和分析端节点的数据,并确定端节点的动作。
图 4:LoRa 网络有四个主要块和两个安全层。(图片来源:LoRa 联盟)
端点通信通常是双向的,但是 LoRa 还支持像软件升级这样的多播操作。许多竞争协议,如 ZigBee,采用网状拓扑,其中各个端节点从其他端节点接收和重发信息。这种方法增加了网络的范围和蜂窝的大小,但是增加通信开销也增加了复杂性,降低了网络容量,并增加了各个节点的功耗。
LoRa 端节点分类
端节点设备有三类。所有三个类均允许双向通信,并且可以经由网关启动到服务器的上行链路。它们在接收传入的服务器消息时有所不同。
LoRaWAN A 类设备的功耗最小。结束节点只允许在上行链路传输之后短期开放的两个短接收窗口期间,接收来自服务器的通信数据。在任何其他时间,来自服务器的消息都必须等待,直至到达下一个计划上行链路时间。A 类设备是异步的。端点只要有数据发送就会开始传输,然后等待预设时间并侦听响应。
LoRa B 类设备提供 A 类功能,但也可以在预定时间打开额外的接收窗口。为了与网络同步,B 类节点每隔 128 秒即会从网关接收时间同步信标。在这个 128 秒内,该设备会分配一个时隙,让服务器知道终端设备何时正在侦听。
LoRa C 类设备提供几乎连续开放的接收窗口。窗口仅在端点传输期间关闭。C 类设备适用于需要接收大量数据而不是发送数据的情形。
LoRaWAN 安全
强大的安全性是任何 LPWAN 设计的关键要素。LoRaWAN 使用 AES 128 位加密,并具有两个独立的安全层、一个网络会话密钥 (NwkSKey) 和一个应用会话密钥 (AppSKey)(图 5)。
图 5:从 LoRa 终端设备到应用的数据流在链路的开始和结束处包括了加密和解密,因此只有端点传感器和应用可以访问纯文本数据。(图片来源:Microchip Technology)
网络安全层确保了网络中节点的真伪,应用安全层确保了网络运营商无权访问终端用户的应用数据。
部署密钥有两种方法:
个性化激活(ABP):此时,LoRaWAN 终端设备可以使用特定 LoRaWAN 网络的验证信息进行工厂编程。
空中激活(OTAA):这种方法使用应用 ID、唯一设备 ID 和网络指定设备地址来派生出 NwkSKey 和 AppSKey。首选这种方法,因为密钥不是预先确定的,且可以重新生成。
启动 LoRa 开发
制造商为设计人员提供了一系列 LoRa 选择,集成程度不一,从单个设备到完整的开发套件。
Semtech Corporation 的 SX1279 单芯片 LoRa 收发器可以覆盖欧洲和北美 ISM 频段(图 6)。根据适用的法规,该设备提供的频道带宽从 7.8 kHz 到 500 kHz,扩频因子从 6 到 12。
图 6:Semtech SX1279 提供 18 位/秒到 37.5 千位/秒的有效比特率,比 LoRaWAN 允许的范围更宽。(图片来源:Semtech Corporation)
在模块级别,作为 LoRa IP 的被许可方 Microchip,为 868 MHz 的欧洲应用提供了 RN2483,并为北美 915 MHz 应用提供了 RN2903 LoRa(图 7)。这两个模块均包含一个带有 LoRa 协议栈的应用特定微控制器、一个符合 LoRa 标准的无线电收发器、一个为器件提供唯一 EUI-64 标识符的串行 EEPROM 以及十四个用于模拟或数字传感器输入、开关或状态指示灯的输入/输出(I/O)引脚。
这些模块旨在作为 A 类设备使用,并通过一个集成的 +18.5 分贝-毫瓦(dBm)输出高能效功率放大器(在 RN2483 中为 +14 dBm)实现长距离操作,并具有 -146 dBm 的接收灵敏度。
图 7:典型的 RN2903 端节点可以同时包括输入和输出功能。可选的 ICSP 端口可用于更新固件。(图片来源:Microchip Technology)
在板级,Microchip 提供一款基于 RN2903 LoRa 调制解调器的 A 类终端设备 DM164139 尘埃。尘埃是一个独立的电池供电型节点,为 RN2903 的远距离功能提供了一个便利的演示平台。
尘埃包括光和温度传感器。数据传输可以通过按钮按下激活,或按固定计划发送。有一个 LCD 用来显示诸如连接状态、传感器值或下行链路数据之类信息。
该板通过 USB 2.0 micro-B 连接器连接到计算机,访问 RN2903 的 UART 接口。UART 允许通过高级 ASCII 指令集快速设置和控制板载 LoRaWAN 协议栈。
RN2483 调制解调器有自己的尘埃板 DM164138。
最后,Microchip 的 DV164140-2 LoRa 网络评估套件还包括两个 RN2903 尘埃板和一个网关板(图 8)。这样设计人员就可以轻松评估全套 915 MHz LoRa 系统的功能。姊妹套件 DV164140-1 覆盖 868 MHz 应用。
图 8:Microchip 的 DV164140-2(915MHz)和 DV164140-1(868 MHz)LoRa 评估套件包括两个尘埃板、网关核心板和无线电板(从左到右)。(图片来源:Microchip Technology)
网关板由一个核心板和一个附属无线电板组成。它包括一块 LCD 屏幕、一个用于配置数据的 SD 卡、一个以太网连接、一个天线和全波段捕获无线电。
网关板通过一根同时提供电源和通信的 USB 电缆连接到主机PC。另外,核心板和 PC 的局域网(LAN)连接器之间连接有一根以太网电缆,用于在网关和服务器之间进行通信。
尘埃开发板通过自己的 USB 连接连接到主机。
网络评估套件软件
评估套件软件由 Microchip 的 LoRa 开发套件组成,可从 Digi-Key 的 DV164140-2 产品页面免费下载。该套件适用于 Mac、Windows 或 Linux 机器,设置了一个本地版本的 LoRaWAN 网络服务器,无需外部网络连接即可在主机操作系统下运行。该开发套件构建了一个自足式演示网络,可以快速轻松地测试 LoRa 网络。
在内部,LoRa 开发套件利用一个叫 Docker 的开源开发平台运行容器化应用程序。Docker 允许 Oracle 虚拟机 (VM) 在 Windows、Mac 或 Linux 环境中运行(图 9)。VM 托管 Docker Engine,反过来运行 LoRa 评估服务器。评估服务器通过以太网端口与网关板进行通信,网关板则通过 LoRa 链路将数据中继到 RN 模块。
图 9:LoRa 网络评估套件实现了在主机操作系统下运行的 LoRa 评估服务器。(图片来源:Microchip Technology)
LoRa 开发实用程序在 Java 运行时环境(JRE)中运行,它们是一组能够开发 Java 应用程序的软件工具。该实用程序允许用户执行一系列任务,例如:扫描网络以获取新终端设备;授予它们对网络的访问权;创建一个新的应用服务器;以及配置网络(图 10)。
图 10:LoRa 开发实用程序可从评估套件产品页面下载,能够控制许多 LoRa 评估套件功能,包括网络配置。(图片来源:Microchip Technology)
结论
LoRa 协议满足了物联网实现长距离、低功耗、低数据速率通信的重要需求。本文讨论了能够满足这一需求的 LoRa 物理层和 LoRaWAN 规范,并重点介绍了一系列器件和工具包,帮助设计人员快速评估 LoRa 在一系列目标应用中的性能。
作者:Paul Pickering
您的留言或需求: