17 Class C Continuously listening end-device
第17章 持续接收的终端具备Class C 能力的终端,通常应用于供电充足的场景,因此不必精简接收时间。 Class C 的终端不能执行 Class B 。 Class C 终端会尽可能地使用 RX2 窗口来监听。按照 Class A 的规定,终端是在 RX1 无数据收发才进行 RX2 接收。为了满足这个规定,终端会在上行发送结束和 RX1 接收窗口开启之间,打开一个短暂的 RX2 窗口,一旦 RX1 接收窗口关闭,终端会立即切换到 RX2 接收状态; RX2 接收窗口会持续打开,除非终端需要发送其他消息。 注意:没有规定节点必须要告诉服务端它是 Class C 节点。这完全取决于服务端的应用程序,它们可以在 join 流程通过协议交互来获知是否是 Class C 节点。 17.1 Class C 的第二接收窗口持续时间Class C 设备执行和 Class A 一样的两个接收窗口,但它们没有关闭 RX2 ,除非他们需要再次发送数据。因此它们几乎可以在任意时间用 RX2 来接收下行消息,包括MAC命令和ACK传输的下行消息。另外在发送结束和 RX1 开启之间还打开了一个短暂的...
15 Beaconing[Class B option]
第15章 信标(Class B选项)15.1 信标物理层所有网关除了可以为终端和网络服务器转发消息,还可以通过在可配置的固定时间间隔上发送信标(BEACON_INTERVAL)来参与提供一个时间同步机制。所有信标都以无线分组隐式模式进行发送,即没有 LoRa 物理帧头和 CRC 校验。 PHY Preamble BCNPayload 信标的 Preamble 开始于(长于默认)10个未调制符号。这允许终端实现低功耗占空比信标搜索。 信标的帧长度与无线电物理层紧密耦合。因此实际的帧长度可能从一个区域实现变为另一个区域实现。更改字段在下面的部分以粗体显示。 15.1.1 欧盟 863-870MHz ISM 频段信标使用下面的设置进行传送: DR 3 对应于125kHz带宽的SF9扩频因子 CR 1 编码率=4/5 frequency 869.525MHz 这是推荐的允许+27 d...
2 Introduction on LoRaWAN options
第2章 LoRaWAN Classes 类型介绍LoRa 是由Semtech面向长距离、低功耗、低速率应用而开发的无线调制技术。本文档中,将 Class A 基础上实现了更多功能的设备称为“更高 class 终端”。 2.1 LoRaWAN ClassesLoRa网络包含基础LoRaWAN(称之为Class A)和可选功能(Class B,Class C): 图1.LoRaWAN Classes 双向传输终端(Class A): Class A 的终端在每次上行后都会紧跟两个短暂的下行接收窗口,以此实现双向传输。终端基于自身通信需求来安排传输时隙,在随机时间的基础上具有较小的变化(即ALOHA协议)。这种Class A 操作为应用提供了最低功耗的终端系统,只要求应用在终端上行传输后的很短时间内进行服务器的下行传输。服务器在其他任何时间进行的下行传输都得等终端的下一次上行。 划定接收时隙的双向传输终端(Class B): Class B 的终端会有更多的接收时隙。除了Class A 的随机接收窗口,Class B 设备还会在指定时间打开别的接收窗口。为了让终端可以在指定时间打开...
16 Class B unicast & multicast downlink channel frequencies
第16章 Class B单播/多播下行信道频率16.1 欧盟 863-870MHz ISM 频段所有的 Class B 的下行单播和多播都使用由 “PingSLotChannelReq” MAC 命令所定义的单频信道。默认的频率是 869.525MHz。 16.2 美国 902-928MHz ISM 频段默认的,Class B的下行使用最后一个信标(鉴信标帧格式内容)的 Time 字段的信道函数和 DevAddr。 Class B downlink channel = [DevAddr + floor(Beacon_Time/Beacon_period)] modulo 8 其中 Beacon_Time 是当前信标周期的 32 位 Time 字段。 Beacon_period 是信标周期的长度(协议中定义的是128s) Floor 指的是四舍五入到临近的较低整数值。 DevAddr 是终端的32位网络地址。 因此 Class B 的下行在 ISM 频段的 8 个信道进行跳跃并且所有的 Class B 终端平等地使用 8 个下行信道...
3 Physical Message Formats
第3章 PHY 帧格式LoRa 有上行消息和下行消息。 3.1 上行消息上行消息是由终端发出,经过一个或多个网关转发给网络服务器。 上行消息使用 LoRa 射频帧的严格模式,消息中含有 PHDR 和 PHDR_CRC 。载荷有CRC校验来保证完整性。 PHDR,PHDR_CRC 及载荷 CRC 域都通过射频收发器加入。 上行 PHY: Preamble PHDR PHDR_CRC PHYPayload CRC 图2.上行PHY帧格式 3.2 下行消息下行消息是由网络服务器发出,经过单个网关转发给单个终端。 下行消息使用射频帧的严格模式,消息中包含 PHDR 和 PHDR_CRC。 下行 PHY: Preamble PHDR PHDR_CRC PHYPayload 图3.下行PHY帧格式 3.3 接收窗口每个上行传输后终端都要开两个短的接收窗口。接收窗口开始时间的规定,是以传输结束时间为参考。 图4.终端接收时隙的时序图 ...
5 MAC Commands
第5章 MAC命令对网络管理者而言,有一套专门的MAC命令用来在服务器和终端MAC层之间交互。这套MAC命令对应用程序或者应用服务器或者运行在终端设备上的应用程序是不可见的。 单个数据帧中可以包含MAC命令序列,要么在FOpts字段中捎带,要么作为独立帧将FPort设成0后放在FRMPayload里。如果采用FOpts捎带的方式,MAC命令不进行加密并且长度不能超过15字节。如果采用独立帧放在FRMPayload的方式,那就必须采用加密方式,并且不能超过FRMPayload的最大长度。 注意:如果MAC命令不想被窃听,那就必须以独立帧形式放在FRMPayload中进行发送。 每个MAC命令是由 1字节命令码 (CID) 跟着一段可能为空的特定命令字节序列组成的。 CID Command 由谁发送 描述 终端 网关 0x02 LinkCheckReq x 终端利用这个命令来判断网络连接质量 ...
4 MAC Message Formats
第4章 MAC帧格式LoRa所有上下行链路消息都会携带PHY载荷,PHY载荷以1字节MAC头(MHDR)开始,紧接着MAC载荷(MACPayload),最后是4字节的MAC校验码(MIC)。 射频PHY层: Preamble PHDR PHDR_CRC PHYPayload CRC 图5.射频PHY结构(注意 CRC只有上行链路消息中存在) PHY载荷: MHDR MACPayload MIC 或者 MHDR Join-Request MIC 或者 MHDR Join-Response MIC 图6.PHY载荷结构 MAC载荷: FHDR FPort FRMPayload 图7.MAC载荷结构 FHDR: DevAddr FCtrl ...
6 End-Device Activation
第6章 终端激活为了加入LoRaWAN网络,每个终端需要初始化及激活。 终端的激活有两种方式,一种是空中激活 Over-The-Air Activation (OTAA),当设备部署和重置时使用; 另一种是独立激活 Activation By Personalization (ABP),此时初始化和激活这两步就在一个步骤内完成。 twowinter 备注: ABP 这个词不太好翻译,通常会翻成个性化激活,也就是通过独立配置参数的方式激活。但总感觉少点味道,与空中激活摆在一起,感觉独立激活这个词在语义上更有并列感。当然这是我的主观感觉,建议大家和同行交流时,还是说 ABP激活 吧。 6.1 终端激活后的数据存储激活后,终端会存储如下信息:设备地址(DevAddr),应用ID(AppEUI),网络会话密钥(NwkSKey),应用会话密钥(AppSKey)。 6.1.1 终端地址(DevAddr) 终端地址(DevAddr)由可标识当前网络设备的32位ID所组成,具体格式如下: Bit# [31..25] [24..0] ...
12 Beacon acquisition and tracking
第12章 信标的获得和追踪在从 Class A 切换到 Class B 之前,终端必须首先接收一个网络的信标来将它自身的时间基准与网络时间进行校准。 一旦处于 Class B 模式,终端必须定期地去搜索并且接收一个网络信标,以消除自身内部基准时间相对于网络时间的任何漂移。 Class B 模式的设备也许会短暂性地无法接收信标(超出与网关的通信范围,存在干扰,…)在这种情况之下,终端必须考虑它内部时钟可能产生的漂移,逐步地加大信标和ping时隙的接收窗口时间。 例如,一个设备精度为 10ppm 的内部时钟每个信标周期(128s)就会有+/-1.3ms的漂移。 12.1 最小 beacon-less 操作时间在信标丢失的情况之下,一个终端需要在接收到最后一个信标节点时间开始算起保持2小时的 Class B 操作。这种短暂的没有信标的 Class B 操作就称之为 “beacon-less” 操作。这种情况之下就需要依赖终端自己的时钟来保持时间。 在 “beacon-less” 的情况下,单播、多播还有信标接收时隙都必须逐步地扩大接收窗口时间以容纳终端可能的时钟漂移。 ...
8 Introduction to Class B
第8章 Class B 介绍这章描述了LoRaWAN Class B层,这是为电池节点优化设计的,不管节点是移动的还是固定在某个位置。 Class B 的终端必须执行如下操作,为了获得服务端发起的下行消息,终端必须按要求开启一个固定时间间隔的接收窗口。 LoRaWAN Class B 就是在终端上增加一个经过同步的接收窗口。 LoRaWAN Class A 的限制之一就是终端发送数据使用的Aloha算法;这使得客户应用程序或者服务端不能在确定时间内联系上终端。Class B 的目的就是在Class A 终端随机上行后的接收窗口之外,让终端也能在可预见的时间内开启接收。Class B 是让网关周期发送信标来同步网络中的所有终端,以便终端能够在周期时隙的确定时间点打开一个短的接收窗口(叫做“ping slot”)。 注意:是否要从Class A 切换到 Class B,这个要在终端的应用层进行处理。如果打算从网络端将Class A 切换到 Class B,客户程序只能利用终端 Class A的上行包来反馈一个下行包给节点,需要应用层上处理来识别这个请求 - 这个处理不在LoRaWA...

![15 Beaconing[Class B option]](/images/covers/01.jpg)





