LoRaWAN版本历史及协议格式说明

译文参考翻译原文链接LoRaWAN 规范 1.0 (章节2~4)LoRaWAN 规范 1.0 (章节5)LoRaWAN 规范 1.0 (章节6)LoRaWAN 规范 1.0 (章节7)LoRaWAN 规范 1.0 (章节10~13)英文文档下载链接LoRaWAN1.0.1_d3LoRaWAN Specification 1R0LoRaWAN1.0.2第7章物理层(Physical layer)的内容放到另一个文档LoRaWAN Regional Parameters修正章节4.3.1.1中与ADR相关的错误描述(要写成ADR_ACK_LIMT而不是ADR_ACK_DELAY)修正章节18.2标题错误(1.0.1中是19.2)增加MAC命令DlChannelRec,该命令用来修改节点下行频率增加MAC命令Tx ParamSetupRec,此命令用来远程修改某些区域中节点的最大TX驻留时间和最大无线电发射功率终端设备能够处理多个ADRreq命令(章节5.2)明确AppKey定义LoRaWAN1.0.1_d3该版本是一些bug修复,协议本身没有什么改动。阅读中文翻译的朋友可以略过大部分改动,因为这些在翻译过程中已经处理了。变化如下:明确 RX 窗口开启时间修正 章节NA 中 DR2 负载大小上限修正 7.2.2 中的拼写错误对 7.2.2 中使用码率 4/5 提出新的规定,以保证无线传输时间 < 400ms修正 6.2.5 中的JoinAccept MIC算法5.2 中的 字段名由 NbRep 改为 NbTrans删掉4.3.3.2,排除 MAC层不对应用数据(Applicative payload)加密的情况。出于应用对安全的进一步要求,不管用什么算法,需要对payload加密(这里无关LoRaWAN协议,跟个人安全有关),然后再使用LoRaWAN中的算法在MAC层再次加密。修正 FHDR 相关错别字修正 7.2.5 中 chMaskCntl 等于6或7时 ChMask 对信道的影响。说明 JoinResp 消息中 RX1 的数据速率偏移删除 7.2.7 中 DRoffset表的下半部分。LoRaWAN Specification 1R0初始版本协议格式整理整个协议包括LoRa和网关交互部分,服务器只需要带颜色的数据。最近有不少朋友对PHYPayload还是搞不清,再分享两张图片,把整个流程都分享给大家1 入网激活2 接收入网3 正常通信本文由 qingchuwudi 整理、译制,除非另有声明,本作品采用知识共享署名 3.0 中国大陆许可协议进行许可。了解详情

利用DEMO系统 评估LoRa终端与网关

一.  系统意义为帮助客户有效评估LoRa终端http://www.rimelink.com/pd.jsp?id=2)和网关(http://www.rimelink.com/pd.jsp?id=14),我们设计一个DEMO板,该DEMO板需要满足:简单易用,成本低廉,稳定可靠,开放设计资料(免费下载源代码:http://www.rimelink.com/nd.jsp?id=38&_np=105_315)。达到:1. 帮助用户与LoRa终端硬件接线;2. 帮助用户与LoRa终端解析软件协议帧;3. 有效评估LoRa终端的性能(通信距离、能耗等)和LoRa网关功能。如此一来,客户可以快速搭建一个物联网系统,该系统如下图所示,可以将温湿度采集到云服务器,通过智能手机查看。二. 产品框架DEMO板的整体框架如下图所示,MCU选用STM8L151C8T6,达到开发和采购低成本;温湿度传感器选用SHT10,它的成本较低;电池盒安装2节AAA干电池,贴片方式焊接在电路板上;miniUSB接口方便接入5V供电;2.0mm圆孔8芯排座用于安装LoRa终端。三. 硬件设计四. 软件设计1. 软件开发环境开发语言为ASNI C,IDE为IAR for STM8,为降低复杂度没有使用操作系统。2. Demo系统逻辑Demo系统的主程序逻辑如上图所示,非常简洁,基于最简单的软件结构:while(1)无限循环。经过实测:Demo系统采集SHT10的12位湿度约用时62毫秒,采集14位温度约用时216毫秒。用户每3秒采集一次温湿度数据,再传输给RNDU470T。3. UART驱动时序RNDU470T是超低功耗产品,它大部分时间都处于休眠状态,因此Demo系统需要“唤醒”RNDU470T才能发送UART数据帧;同理,考虑Demo系统也可能处于休眠状态,RNDU470T在发送UART数据帧也通过信号线“唤醒”用户系统。具体时序请查看《锐米LoRa终端说明书》。如下图所示,当Demo系统发送UART数据帧时,先置高P7引脚,然后启动UART端口发送序列,当发送结束时再拉低P7引脚;置高P7引脚(T0时刻)与启动UART端口发送(T1时刻)有一个延时Tx prepare time,它的最小值为100微秒。4. UART通信帧解析算法RNDU470T的UART通信帧格式如下图所示,它是变长数据帧,帧具体的定义请参考《锐米LoRa终端说明书》。为简化系统设计,我们强烈建议您采用“状态机”来解析该UART数据帧,并且把解析工作放在ISR(中断服务程序)完成,仅当接收到最后一个字节(0x0D)时,再将整个数据帧提交给进程(Demo系统为main程序)处理。该解析状态机的原理如下图所示:5. 代码工程整个工程文件如下图所示:main.c:Demo系统的整体逻辑代码;SHT7x.c/.h:SHT10驱动代码;stm8l15x_it.c/.h:MCU中断服务程序注册文件timer.c/.h:定时器驱动代码;uart.c/.h:UART驱动代码。Project下存放基于IAR开发环境的工程文件;STM8L15x_StdPeriph_Driver:ST公司官方驱动库文件。了解详情

LoRaWAN 规范1.0 (章节10~13)

10 B类模式的上行数据帧除了帧头中FCtrl字段的保留(RFU)位,B类和A类的上行数据帧一样。B类使用A类中没有使用的RFU位
第几位3…
FCtrADADRACKReACClassFOptsLe
上行数据中的 ClassB 位设为1,来告诉网络服务器:设备已经转换为B类模式,已经准备在照预定时间接收下行ping。下行数据的 FPending 位意义不变,仍然表示服务器上有等...了解详情

LoRaWAN 规范1.0.2(章节7)

7. 物理层(Physical Layer7.1 欧洲ISM频段 863-870MHz7.1.1 欧洲 863-870 前导码同步字见下表:
调制方式同步字前导码长度
LoR0x38 symbol
GFS0xC194C5 byte
symbols参考资料比特速率、码片速率和符号速率等区分7.1.2 欧洲863-870 ISM频段信道频率欧洲的无线电频谱的ISM频段由ETSI[EN300.220]分配。网络运营商可以自己定义网络通道,但任何 EU868MHz 终端设备都必须实现下面三个默认信道。这些信道是所有网络网关都必须一直终监听的最小集合。
调制方式带宽[kHz信道频率[MHzFSK 比特率 或 LoRa 数据率或比特率Nb 信道占空比
LoR12868.10 868.30 868.5DR0 至 DR5 / 0.3-5kbp<
为了访问物理层,ETSI强制规定...了解详情

LoRaWAN 规范 1.0.2 (章节6)

6 终端激活(End-Device Activation所有终端设备在正式加入LoRaWAN网络之前必须先进行初始化并激活。有两种激活方式无线激活(Over-The-Air Activation (OTAA)),设备部署和重置时使用;手动激活(Activation By Personalization (ABP)),此时初始化和激活一步完成。6.1 激活成功后存储在终端设备的数据以下信息在激活成功后回存储在终端设备:设备地址(DevAddr)、应用ID(AppEUI)、网络会话密钥(NwkSKey)和应用会话密钥(AppKey)。6.1.1 终端设备地址(DevAddr)DevAddr是终端在当前网络中的识别码,大小32bits。结构如下:
Bi[31..25[24..0
DevAddr bit...
了解详情

LoRaWAN 规范 1.0.2 (章节5)

5 MAC Command网络管理时会在网络服务器和终端MAC层之间传输一系列MAC命令。MAC层命令对应用、应用服务器以及终端设备上的应用永不可见。一帧数据中可以包含任何MAC命令序列,MAC命令既可以放在FOpts中和正常数据一起发送;也可以放在FRMPayload中单独发送,此时FPort = 0,但不能同时在两个字段携带MAC命令。放在FOpts中的MAC命令不加密,并且不能超过15个字...了解详情

LoRaWAN 规范 1.0.2 (2~4章)

2 LoRaWAN 简介LoRaTM 是由Semtech开发的一种远距离、低功耗、低速率的无线射频技术。本文档中,将具有比A类更多功能的设备统一称为 “高类终端设备”。原文Devices implementing more than Class A are generally named “higher Class end-devices” in this document.2.1 LoRaWAN Classes终端双向通信(A类)A类的终端设备每次发送数据后会打开两个持续时间很短的接收窗口来接收下行数据,终端设备通过这种方式实现双向通信。传输时间间隔等于终端设备基础的时间间隔加上一个随机时间(ALOHA类型协议)。对终端设备来说,A类是功耗最低的系统,只有在发送数据后的一小段时间内接收处理服务器发送来的数据。服务器在其它所有时间上的下行数据必须等待节点下一次发送数据才可以下发。通过随机时间对间隔进行微调来实现随机访问,让所发送者平等、自由地竞争信道的使用权。低功耗,先发送后接收,发送和接收交替进行。终端只有在发送数据后才能接收处理服务器发送来的数据,发送数据不受接收数据的影响。收发比=1:1具有接收时隙的终端双向通信(B类)B类终端设备允许更多的接收窗口。在A类接收窗口的基础上B类设备还会在特定的时刻打开更多的接收窗口。而为了保证终端设备能够在特定的时间打开接收窗口,它会从网关接收信标来完成时间同步。这样服务器也就可以获知终端设备的所有接收窗口的时刻。同样是先发送后接收,不同的是每次发送后按照一定时间间隔启动接收窗口,接收多条数据。时间间隔从网关获取,以便服务器知晓终端接收消息的时刻。收发比=1:N最大接收时隙的终端双向通信(C类)C类终端设备的接收窗口,除了在发送数据的时候关闭外一直处于打开状态。C类终端功耗比A类和B类都大,但对于和服务器之间的交互来说延迟也最低。打开接收窗口的时间间隔很小,几乎不间断的接收消息。比A和B更耗能,但和服务器交互的延迟低。 2.2 规范高级类的附加功能向下兼容低级类。所有LoRaWAN终端必须实现A类的功能。注意:本规范手册中:物理消息格式、MAC消息格式以及A类和其它高级类都具备的东西,只在本手册的A类部分介绍。3 物理层消息格式LoRa中用来区分上行和下行消息。3.1 上行链路消息上行链路消息由终端发送经过一个或多个网关中转后到达服务器1。它使用的LoRa无线分组显性模式由物理头(PHDR)和它的CRC(PHDR_CRC)校验组成。由CRC保证荷载数据的一致性(发送和接收的数据完全一致,不仅仅是数据完整)。Uplink PHY:3.2 下行链路消息下行链路消息由服务器发送给终端设备,每条消息对应的终端设备是唯一确定的,而且只通过一个网关2转发。下行链路消息由物理头(PHDR)和这个头的CRC(PHDR_CRC)组成3。下行链路消息:3.3 接收窗口设备终端每次发送数据完成后打开两个收窗口。以数据发送结束作为基准进行计算接收窗口的开启时间。发送 | | RX1 | RX2|<---------------------->|<--------------------------->| || 无线发送耗时 | RECEIVE_DELAY1 | || |<------------------------------------------------------->|RECEIVE_DELAY3.3.1 第一个接收窗口的 开启、使用的信道和数据速率第一个接收窗口(RX1)使用的频率、数据速率与上行传输时使用的频率、数据速率存在映射关系。RX1在发送完成后第RECEIVE_DELAY1秒(+/- 20 毫秒)开启。并且收发数据使用的数据速率和地域有关,详情资料在文档《LoRaWAN 区域相关参数手册》(LoRaWAN Regional Parameters document)。默认情况下第一个接收窗口数据速率和最后一次发送数据时使用的速率相同。3.3.2 第二个接收窗口的 开启、使用的信道和数据速率第二个接收窗口RX2使用经过修正的可配置的 经过配置的固定的 频率和数据速率。RX2在发送完成后第RECEIVE_DELAY2秒(+/- 20 毫秒)开启。频率和数据速率可以通过MAC命令修改(见第5章)。默认的频率和数据速率与地域相关,详情资料在文档《LoRaWAN 区域相关参数手册》(LoRaWAN Regional Parameters document)。3.3.3 接收窗口持续时间接收窗口的最短时间必需满足:终端设备的无线收发器能够处理完下行数据的前导码。3.3.4 接收期间接收者的活动无线电接收器在某个接收窗口检测到相应的前导码后会继续接收,直到下行数据帧全部解调完毕。如果在第一个接收窗口检测并完成解调,同时通过检查地址(服务器分配的地址)和MIC,确认该帧属于本节点,终端设备不再打开第二个接收窗口。3.3.5 服务器给终端设备发送消息服务器必需要十分精确的在这两个接收窗口的时间点上发送数据终端设备才能收到。3.3.6 接收窗口相关的重要事项上一次发送结束后,在没有收到数据或者第二个没有关闭前,不能再次发送。3.3.7 其它协议数据的收发节点可以通过LoRaWAN收发窗口监听或传输其它协议,或者做任何传输。收发其它协议或者在LoRaWAN收发窗口之间传输任何数据。 不过,终端设备仍然要遵守当地法律法规并且遵循LoRaWAN规范。4 MAC 消息格式LoRa所有的上下行链路消息都会包含PHY负载(Payload),该负载以单字节MAC头(MHDR)为开始,MAC头后面是MAC负载(MACPayload)4,结尾是4字节的消息一致码(MIC)。4.1 MAC 层 (PHYPayload)
大小(字节1.....
了解详情

怎样把LoRa终端功耗降到极致

一.   引言能耗对于电池供电的产品来说是一个重大的问题,一旦电能耗尽设备将“罢工”,在某些场合电能意味着电子产品的生命。物联网时代将会有越来越多电池供电的设备通过无线通信连接,降低能耗再次摆在工程师的桌面上—解决它。锐米LoRa终端(简称终端)RNDU470Thttp://www.rimelink.com/pd.jsp?id=2)不但具备空旷环境传输5km的超长距离优势,还将休眠能耗降低到极致(0.4uA,带RTC为1.4uA)。我们是怎么做到的呢?接下来,一步一步解密。二.   硬件设计1.   选用低功耗器件终端MCU选用STM8L151C8T6,它属于超低功耗,不带RTC休眠为400nA,带RTC下休眠为1.4uA。该MCU拥有较大的RAM(4KB)和自带EEPROM(2KB),不用扩展外部存储设备,进行一步降低功耗和成本。终端射频芯片选用SX1278,在休眠模式下,该芯片功耗低至忽略不计。2.   尽可能快地让射频模块休眠SX1278属于LoRa TM扩频调制技术,它的远距离优势得益于调制增益,不是靠增大发射功率(那将消耗更多电能)。该射频芯片的电流消耗如下:休眠<0.2uA,空闲=1.6mA,接收=12mA,发射(最大功率)=120mA.终端MCU通过“中断+定时器超时”方式控制SX1278,一旦射频完成发送或接收,立即进入休眠模式。3.   了解MCU的工作模式与功耗降低MCU的功耗首先尽可能少地开启外设,其次尽可能地让其休眠。我们一起看看STM8L151C8T6不同工作模式下功耗。更多信息请链接http://blog.csdn.net/jiangjunjie_2005/article/details/47700597
模式等待低功耗运行低功耗等待主动停止停止
入口WFWF软件代码软件代码+WFHALHAL
晶振LSI或LSLSI或LSLSI或LS...
了解详情

巧用LoRa无线网络 远距离采集温湿度

一. 采集系统意义温湿度是自然界中和人类打交道最多的两个物理参数,无论是在生产实验场所,还是在居住休闲场所,温湿度的采集或控制都十分频繁和重要,比如机房,变电站,粮仓,冷库,图书馆,博物馆,药厂等都需要监测环境的温湿度,而且,网络化远程采集温湿度并报警是现代科技发展的一个必然趋势。如果您购买锐米公司的LoRa终端和LoRa网关,可以快速搭建一个采集温湿度的物联网系统,该系统如下图所示,可以将温湿度采集到云服务器,通过智能手机查看。快速搭建锐米物联网系统请链接:http://www.rimelink.com/nd.jsp?id=36&_np=105_315如上图红色虚线框所示,为快速设计Demo系统硬件采用了RNDU470T和温湿度传感器SHT71,开发语言为ASNI C,开发环境为IAR for STM8(免费下载链接:http://www.rimelink.com/nd.jsp?id=33&_np=105_315),为降低复杂度没有使用操作系统二. 硬件连接采集系统硬件基于RNDU470T(锐米LoRa终端www.rimelink.com)设计,它的引脚定义如下:
引脚号引脚名称引脚类型描述
VCSuppl3.3V电源
GNSuppl电源地
RXD IN/OUUART接收
TXD IN/OUUART发送
CONDIN/OUUART输出信号端口
CONDIN/OUUART输入信号端口
COND IN/OU保留
RSD IN/OU复位引脚
固定引脚
固定引脚
SM
了解详情

云服务器如何连接LoRa网关

【数据采集节点采集的数据,会通过USB串口转换线转接至网关软件,数据内容包括UserId与实际数据:其中UserId用于标识节点,可认为是个两个字节的整形数,而实际数据则与具体采集来源相关,因此,采用字节数组的方式。【传输格式网关中的传输设置,是为了把采集到的数据传输到云端或其它业务数据中心,以便进行远程展示或应用。为了传输的便捷,对于接收的实际数据,会转换成16进制字符串并且16进制形式的每...了解详情

巧用LoRa无线网络 实现工厂节能减排

据统计测算,2011年我国工业领域电机总用电量为2.6万亿kWh,占工业用电的75%。系统调节方式落后,大部分风机、泵类采用机械节流方式调节,效率比调速方式约低30%。如果全国整体提升电机系统效率5-8%,年可实现节电1300-2300亿度,相当于2-3个三峡电站的发电量,因此进行电机能效提升和电机系统的节能改造,是进行可持续发展和产业升级的一条必由之路。 现在物联网技术助力工厂节能减排。如下图所...了解详情

锐米LoRa网关连接云服务器

【数据采集节点采集的数据,会通过USB串口转换线转接至网关软件,数据内容包括UserId与实际数据:其中UserId用于标识节点,可认为是个两个字节的整形数,而实际数据则与具体采集来源相关,因此,采用字节数组的方式。【传输格式网关中的传输设置,是为了把采集到的数据传输到云端或其它业务数据中心,以便进行远程展示或应用。为了传输的便捷,对于接收的实际数据,会转换成16进制字符串并且16进制形式的每...了解详情

LoRa频率与带宽测试

一、测试目的跳频是抵抗外部干扰和多径衰退的好方法,它将频率分成一个个单独的物理信道。LoRa无线通信也不例外,需要按频率划分信道。LoRa的中心频率和通信带宽都是可以动态设置的,本实验旨在测试带宽与信道划分的关系。二、测试方法如上图所示,用2片iWL881A(长沙市锐米通信科技有限公司,www.rimelink.com)通过USB转串口连接到PC机上。模块都支持shell命令,可以设置BW(带宽)和Freq(频率)。RX模块接收到数据后,通过UART打印到PC屏幕上。三、测试数据
带宽(kHz中心(kHz最小(kHz最大(kHz信道(kHz信道/带宽
50470,00469,90470,42521.0
471,00470,90471,42
25...
了解详情