LoRaWAN 协议介绍

更新时间:
2023-11-30
下载文档

LoRaWAN 协议介绍

本章将介绍 LoRaWAN 协议,但在介绍 LoRaWAN 协议之前,让我们来认识一下什么是 LoRa。

LoRa

LoRa 的全称为 Long Range,其全称已体现出这种无线技术的特点——覆盖范围广(链路预算达到 168dB)。

avatar

LoRa 技术是由法国 Cycleo 公司(一家 IP 和设计方案提供商,成立于 2009 年)开发的一种扩频无线调制专利技术(EP2763321 from 2013 和 US7791415 from 2008),2012 年 Cycleo 公司被美国 Semtech 公司收购。收购之后,Semtech 公司对该技术进行了强有力的营销,包括成立 LoRa 联盟,以促进其他公司包括部分移动运营商参与到 LoRa 生态系统中。

LoRa 的主要特点: 远距离,低功耗,网络容量大,低成本,抗扰特性强,低速率,小数据传输。

avatar

目前,LoRa 主要运行在 ISM 频段,包括 433/470/868/915MHz 等。

什么是 ISM 频段?

ISM(Industrial Scientific Medical Band)频段,就是工业、科学及医疗频段。世界各国为了让一些工业、科学及医疗领域的公共设备不用专门申请频段,就设置了一些无需授权即可使用的频段,就是 ISM 频段,也就是我们常说的免费频段。像 Wi-Fi、蓝牙、LoRa、ZigBee 等用的都是 ISM 频段。

但由于不同地区的无线电法规不同,所以在不同地区 LoRa 使用的频段也会不同,中国地区有 2 个频段可用:CN779~CN787、CN470~CN510。

  • CN779~CN787 该频段有一个硬伤:最大发射功率仅 10mW(10dBm),并没有实用价值
  • CN470~CN510 这是中国无委会规定的民用抄表频段,属于 ISM 免费频段

LoRaWAN

LoRaWAN 定义了使用 LoRa 技术的端到端标准规范,包括物联网市场安全、能源效率、漫游和配置入网(on-boarding)等。LoRaWAN 起初叫 LoRaMAC,由 Semtech、Actility、IBM Research 共同制定,在 2015 年巴塞罗那移动世界通信大会上,被改名为 LoRaWAN,成为 LoRa 联盟成员的规范。LoRaWAN 规范可以从 LoRa 联盟网站open in new window 下载,LoRaWAN 和 LoRa 的区别在于,LoRa 是一种技术,而 LoRaWAN 是一套标准规范。

按照 LoRa 联盟官方白皮书《What is LoRaWAN》的介绍,LoRaWAN 是为 LoRa 远距离通信网络设计的一套通讯协议和系统架构,下图为 LoRaWAN 协议层次图:

avatar

LoRaWAN 在协议和网络架构的设计上,充分考虑了终端节点功耗、网络容量、QoS、安全性和网络应用多样性等几个因素。

LoRaWAN 网络架构

下图是 LoRa 联盟官方白皮书中的 LoRaWAN 网络架构图:

avatar

可以看到一个 LoRaWAN 网络架构中包含了 End Node(终端节点,也称设备)、Gateway(基站,也称网关)、Network Server(网络服务器)、Application Server(应用服务器)这四个部分。基站和终端节点之间采用星型网络拓扑,因为 LoRa 能长距离通信特性,基站和终端节点之间得以使用单跳传输。在终端节点部分,官方列了 6 个典型应用,有个细节,您会发现终端节点的数据可以同时发给多个基站。基站则对网络服务器和终端节点之间的 LoRaWAN 协议数据做转发处理,将 LoRaWAN 数据分别承载在 LoRa 射频传输和 TCP/IP 上。

LoRaWAN 终端节点

在前面的介绍中我们可以看到 LoRaWAN 规范定义了 Class A/B/C 三类终端节点,这三类终端节点基本覆盖了物联网所有的应用场景,如下表所示:

Class 介绍 下行时机 应用场景
A ('all')Class A 的终端节点采用 Aloha 协议按需上报数据。在每次上行后都会紧跟两个短暂的下行接收窗口,以此实现双向传输。这种操作是最省电的。必须等待终端节点上报数据后才能对其下发数据。垃圾桶监测、烟雾报警器、气体监测等
B ('beacon')Class B 的终端节点,除了 Class A 的随机接收窗口,还会在指定时间打开接收窗口。为了让终端节点可以在指定时间打开接收窗口,终端节点需要从网关接收时间同步的信标。在终端节点固定接收窗口即可对其下发数据,下发的延时有所提高。阀控水气电表等
C ('continuous')Class C 的终端节点基本是一直打开着接收窗口,只在发送时短暂关闭。Class C 的终端节点会比 Class A 和 Class B 更加耗电。由于终端节点处于持续接收状态,可在任意时间对终端节点下发数据。路灯控制等

LoRaWAN 相关术语

术语含义
DevEUI终端设备 ID,一个类似 IEEE EUI64 的全球唯一 ID,用于标识唯一的终端节点
JoinEUI应用唯一标识 ID,一个类似 IEEE EUI64 的全球唯一 ID,用于标识终端节点的应用提供者,JoinEUI 存储在终端节点中
AppKey应用密钥,由应用程序拥有者分配给终端节点,用来产生会话密钥 NwkSKey 和 AppSKey
DevAddr32 位终端设备地址,OTAA 机制终端节点入网时由网络服务器分配地址,ABP 机制 DevAddr 存储在终端节点中
NwkSKey网络层会话密钥,用于加密和校验网络层数据,ABP 机制 NwkSKey 存储在终端节点中
AppSKey应用层会话密钥,用于加密和校验应用层数据,ABP 机制 AppSKey 存储在终端节点中
NetId24 位网络 ID,用于区分同一物理空间中的不同 LoRaWAN 网络,OTAA 机制才有意义

Spirit 1 对 LoRa 支持

Spirit 1 带有 LoRa 终端射频芯片 SX1276,SX1276 是 Semtech 公司在 2013 年推出的一款远距离、低功耗、高性能的物联网无线收发器,具备特殊的 LoRa 调制方式,在一定程度上增加了通信距离。

avatar

EdgerOS 对 LoRaWAN 支持

EdgerOS 将 LoRaWAN 网络架构中的基站(网关)、网络服务器、应用服务器三者的功能进行了深度融合,开发者使用 Spirit 1 和 LoRaWAN 终端节点组建 LoRaWAN 网络时,不需要使用额外的基站(网关)和去搭建网络服务器、应用服务器,极大降低了 LoRa 的使用门槛和成本。

目前 EdgerOS 支持 Class A/C 两类 LoRaWAN 终端节点(Class B 终端节点目前工作在 Class A 模式),支持 OTAA(Over-The-Air Activation,空中入网)和 ABP (Activation By Personalization,个性化激活)两种入网机制。

EdgerOS LoRa 服务配置流程

  1. 手机通过爱智 App 进入 EdgerOS 后,点击 LoRa App,进入 LoRa 设备管理界面:

    edgeros-lora

  2. 点击右下方的设置图标进入设置界面:

    setting

  3. 打开启用开关,服务状态将切换为运行中:

    start_device

  4. 点击网络设置进入网络设置界面:

    network-settings

    网络设置界面如下所示:

    network-setting-panel

  5. 点击网络 ID,进入网络 ID 设置界面:

    network-id

    在输入框设置网络 ID,最后点击保存按钮保存并退出网路 ID 设置:

    network-id-setting

  6. 点击通道配置进入通道设置界面:

    channel-setting

    点击通道 1,选择通道 1 的信道(如信道 0),点击确认完成信道选择,最后点击左上角的返回箭头返回:

    select-channel

  7. 点击应用按钮,在弹出来的提示框点击确认应用以上设置:

    apply

    confirm

LoRaWAN 设备二维码生成

EdgerOS 支持扫码添加 LoRaWAN 设备,二维码信息是由设备的 DevEUI、JoinEUI、AppKey、classType 等入网信息组成的 JSON 字符串。

  • OTAA 入网机制的 LoRaWAN 设备的入网信息 JSON 字符串如下所示:

    {"DevEUI": "4736549f00310005", "JoinEUI": "526973696e674846", 
     "AppKey": "2b7e151628aed2a6abf7158809cf4f3c", "classType": "A"}
    
  • ABP 入网机制的 LoRaWAN 设备的入网信息 JSON 字符串如下所示:

    {"DevEUI": "4736549f00310005", "JoinEUI": "526973696e674846", 
     "AppKey": "2b7e151628aed2a6abf7158809cf4f3c", "NwkSKey": "2b7e151628aed2a6abf7158809cf4f3c", 
     "AppSKey": "2b7e151628aed2a6abf7158809cf4f3c", "DevAddr": "126", "classType": "A"}
    

复制入网信息 JSON 字符串并粘贴到 草料二维码生成器open in new window 的文本输入框,生成二维码图片并保存。

confirm

LoRaWAN 设备添加流程

  1. 手机通过爱智 App 进入 EdgerOS 后,点击 LoRa App,进入 LoRa 设备管理界面:

    edgeros-lora

  2. 点击下方的加号图标,打开设备添加方式选项:

    add-device

  3. 点击扫码,扫描 LoRaWAN 设备的二维码:

    scan-qr-code

    扫描完成后如下所示:

    scanned-infomation

  4. 点击添加设备按钮,即可把设备加入到 EdgerOS:

    added-device

LoRaWAN 设备开发

我们将在《IoT Pi Pro LoRaWAN 设备开发》章节介绍如何开发一个能接入到 EdgerOS 的 LoRaWAN 终端节点。

文档内容是否对您有所帮助?
有帮助
没帮助