锐米LoRa网关连接云服务器

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

物联网的人对人通信:用LoRa DIY一部双向呼叫器

━━━━如今,我们有很多方式来实现无线数据传输,Wi-Fi、蓝牙、Zigbee和蜂窝连接是比较常见的几种方式。不过还有一种较新的协议受到了越来越多的欢迎。LoRa能够在中等距离范围内提供低功率、低带宽通信,通信距离为2到15公里之间,具体取决于环境的复杂程度。LoRa是为迅速发展的物联网而建立的,它使用扩频传输方式,将远程传感器和嵌入式设备与中心节点相连接。数据速率一般为0.3到27千比特/秒(k...了解详情

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.....
了解详情

全面介绍LoRaWAN终端OTAA入网方式

在之前的文章中向大家介绍了LoRa终端OTAA与ABP入网方式工作原理区别介绍、在弱网区域下,LoRa终端的入网方式该如何选取。本文主要介绍了OTAA节点是如何入网的。此文来自小七老师,小七老师是腾讯云在线课堂物联网讲师。OTAA,终端入网,LoRaWAOTAA的全称是Over The Air Activation。它的入网步骤是这样的:节点发出的Join Request请求通过网关转发到服务器...了解详情

千呼万唤始出来,ART-Pi LoRa开发套件正式发售

描述ART-Pi LoRa上线开售随着国内物联网产业的蓬勃发展,RT-Thread国产开源操作系统开始被大量开发者使用,成为目前国产RTOS中用户群最大的一个,开发者生态也最为活跃。基于此,利尔达科技与睿赛德科技联合出品了一套面向物联网开发者的 LoRa 产品原型设计工具包——ART-Pi LoRa开发套件。ART-Pi LoRa开发套件(EVKM0201)支持利尔达全系LoRa节点与网关模块,拥...了解详情

LoRa开发板升级的时候,为什么需要修改跳线帽?

描述一般来说,LoRa开发板都会提供boot选择,也就是从哪个区域启动。很多是采用跳线帽的方式来进行boot选择的,这也导致了LoRa开发板升级的时候,往往需要修改跳线帽。LoRa开发板的跳线帽位置的示例可以参见图1图1 LoRa开发板跳线帽位置示例图1是瑞科慧联公司的WisNode-lora,其包括了RAK811模块。图1中红色圆圈的部分是放置跳线帽的地方。从图1可以看出,这块板子是一个跳线帽...了解详情

LoRaWAN协议中文版 第17章 Class C – 持续接收的终端

前言这是《LoRaWAN102》的译文,即LoRaWAN协议规范 V1.0.2 版本( 2016 年 7 月定稿)。我正在陆续对协议的各个章节进行翻译,具体其他章节的译文,以及译文之外的代码解析,可点此查看帖子LoRa学习笔记_汇总。本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/翻译开始第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 开启之间还打开了一个短暂的RX2窗口。图13.Class C 终端的接收时隙时序图17.2 Class C 对多播下行的处理和 Class B 类似,Class C 设备也可以接收多播下行帧。多播地址和相关的 NWKSKEY 及 APPSKEY 都需要从应用层获取。Class C 多播下行帧也有相同的限制:不允许携带MAC命令,既不能放在FOpts域中,也不能放在 port 0 的 payload 中,因为多播下行无法像单播帧那样具备相同的鲁棒性。ACK 和 ADRACKReq 位必须要为0。MType 域需要为 Unconfirmed Data Down 类型的数值。FPending 位表明有更多的多播数据要发送。考虑到 Classs C 设备在大部分时间处于接收状态,FPending位不触发终端的任何特殊行为。翻译完了解详情

LoRaWAN协议中文版 第2章 LoRaWAN Classes 类型介绍

前言这是《LoRaWAN102》的译文,即LoRaWAN协议规范 V1.0.2 版本( 2016 年 7 月定稿)。我正在陆续对协议的各个章节进行翻译,具体其他章节的译文,以及译文之外的代码解析,可点此查看帖子LoRa学习笔记_汇总。本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/翻译开始第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 设备还会在指定时间打开别的接收窗口。为了让终端可以在指定时间打开接收窗口,终端需要从网关接收时间同步的信标 Beacon。这使得服务器可以知道终端正在监听。最大化接收时隙的双向传输终端(Class C): Class C 的终端基本是一直打开着接收窗口,只在发送时短暂关闭。Class C 的终端会比 Class A 和 Class B更加耗电,但同时从服务器下发给终端的时延也是最短的。2.2 文档范围这份LoRaWAN协议还描述了与 Class A 不同的其他 Class 的额外功能。更高 Class 的终端必须满足 Class A 定义的所有功能。注意:物理层帧格式,MAC帧格式,以及协议中更高 class 和 Class A 相同的内容都写在了 Class A 部分,避免内容重复。翻译完了解详情

LoRaWAN协议中文版 第1章 介绍

前言这是《LoRaWAN102》的译文,即LoRaWAN协议规范 V1.0.2 版本( 2016 年 7 月定稿)。我正在陆续对协议的各个章节进行翻译,具体其他章节的译文,以及译文之外的代码解析,可点此查看帖子LoRa学习笔记_汇总。本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/翻译开始第1章 介绍本文档描述了LoRaWAN网络协议,是针对电池供电的终端设备(不管移动还是固定位置)进行优化的一套网络协议。LoRaWAN网络通常采用星型拓扑结构,由拓扑中的网关来转发终端与后台网络服务器间的消息。网关通过标准IP连接来接入网络服务器,而终端则通过单跳的 LoRa 或者 FSK 来和一个或多个网关通讯。虽然主要传输方式是终端上行传输给网络服务器,但所有的传输通常都是双向的。终端和网关间的通讯被分散到不同的信道频点和数据速率上。数据速率的选择需要权衡距离和消息时长两个因素,使用不同数据速率的设备互不影响。LoRa的数据速率范围可以从 0.3kbps 到 50kbps。为了最大程度地延长终端的电池寿命和扩大网络容量,LoRa网络使用速率自适应(ADR)机制来独立管理每个终端的速率和RF输出。虽然每个设备可以在任意信道,任意时间,发送任意数据,但需要注意遵守如下规定:终端的每次传输都使用伪随机方式来改变信道。频率的多变使得系统具有更强的抗干扰能力。终端要遵守相应频段和本地区的无线电规定中的发射占空比要求。终端要遵守相应频段和本地区的无线电规定中的发射时长要求。twowinter注:发射占空比,意思是发射时长占总时长的比例。按照无线电规定,每个设备不能疯狂发射霸占信道,总得给别人一点机会。这份文档主要讲述协议细节,一些基于各地区规定的操作参数,例如发射占空比和发射时长等,在另一份文档[LoRaWAN地区参数]中做具体描述。将这份文档分开,是为了加入新地区参数时不影响基础的协议规范。1.1 LoRaWAN Classes所有的LoRaWAN设备都必须至少实现本文档描述的 Class A 功能。另外也可以实现本文档中描述的 Class B 和 Class C 及后续将定义的可选功能。不管怎么样,设备都必须兼容 Class A。1.2 文档约定MAC命令的格式写作 LinkCheckReq (粗斜体),位和位域的格式写作 FRMPayload (粗体),常量的格式写作 RECEIVE_DELAY1,变量的格式写作 N。在本文档中,所有多字节字段的字节序均采用小端模式EUI 是8字节字段,采用小端模式传输默认所有RFU保留位都设为0翻译完了解详情

LoRaWAN协议中文版 第3章 PHY帧格式

前言这是《LoRaWAN102》的译文,即LoRaWAN协议规范 V1.0.2 版本( 2016 年 7 月定稿)。我正在陆续对协议的各个章节进行翻译,具体其他章节的译文,以及译文之外的代码解析,可点此查看帖子LoRa学习笔记_汇总。本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/翻译开始第3章 PHY 帧格式LoRa 有上行消息和下行消息。3.1 上行消息上行消息是由终端发出,经过一个或多个网关转发给网络服务器。上行消息使用 LoRa 射频帧的严格模式,消息中含有 PHDR 和 PHDR_CRC 。载荷有CRC校验来保证完整性。PHDR,PHDR_CRC 及载荷 CRC 域都通过射频收发器加入。上行 PHY:
PreamblPHDPHDR_CRPHYPayloaCR
图2.上行PHY帧格式3.2 下行消息下行消息是由网络服务器发出,经过单个网关转发给单个终端。下行消息使用射频帧的严格模式,消息中包含 PHDR 和 PHDR_CRC。下行 PHY:
PreamblPHDPHDR_CRPHYPayloa
图3.下行PHY帧格式3.3 接收窗口每个上行传输后终端都要开两个短的接收窗口。接收窗口开始时间的规定,是以传输结束时间为参考。图4.终端接收时隙的时序图3.3.1 第一接收窗口的信道,数据速率和启动。第一接收窗口 RX1 使用的频率和上行频率有关,使用的速率和上行速率有关。RX1 是在上行调制结束后的 RECEIVE_DELAY1 秒打开。上行和 RX1 时隙下行速率的关系是按区域规定,详细描述在[LoRaWAN地区参数]文件中。默认第一窗口的速率是和最后一次上行的速率相同。3.3.2 第二接收窗口的信道,数据速率和启动。第二接收窗口 RX2 使用一个固定可配置的频率和数据速率,在上行调制结束后的 RECEIVE_DELAY2 秒打开。频率和数据速率可以通过 MAC 命令(见 第5章)。默认的频率和速率是按区域规定,详细描述在[LoRaWAN地区参数]文件中。3.3.3 接收窗口的持续时间接收窗口的长度至少要让终端射频收发器有足够的时间来检测到下行的前导码。3.3.4 接收方在接收窗口期间的处理如果在任何一个接收窗口中检测到前导码,射频收发器需要继续激活,直到整个下行帧都解调完毕。如果在第一接收窗口检测到数据帧,且这个数据帧的地址和MIC校验通过确认是给这个终端,那终端就不必开启第二个接收窗口。3.3.5 网络发送消息给终端如果网络想要发一个下行消息给终端,它会精确地在两个接收窗口的起始点发起传输。3.3.6 接收窗口的重要事项终端在第一或第二接收窗口收到下行消息后,或者在第二接收窗口阶段,不能再发起另一个上行消息。3.3.7 其他协议的收发处理节点在LoRaWAN收发窗口阶段可以收发其他协议,只要终端能满足当地要求以及兼容LoRaWAN协议。翻译完了解详情

LoRaWAN协议V1.0.2中文版_配套文件 地区参数(物理层)

前言这是《LoRaWAN102》的配套文档《LoRaWAN_Regional_Parameters_v1_0》(2016年7月定稿)的中文译文,在早期的LoRaWAN协议中它是以第7章 物理层的形式存在,由于LoRaWAN逐步应用过程中肯定会有很多新区域加进来,为了不影响旧有协议文档主体,所以从V1.0.2版本开始,联盟把这块内容单独出来。该LoRaWAN官方源文件可点此下载。我正在陆续对协议的各个章节进行翻译,具体其他章节的译文,以及译文之外的代码解析,可点此查看帖子LoRa学习笔记_汇总。本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/翻译开始LoRaWAN地区参数1 介绍这份文档描述了全球不同地区的LoRaWAN具体参数。这份文档是对LoRaWAN协议文档(从版本V1.0.2开始)的配套补充文档。为了避免新区域的加入而导致文档的变动,因此将地区参数章节从协议规范中剥离出来。2 LoRaWAN地区参数2.1 欧洲 863-870MHz 免授权频段待补充,计划3月份补足。2.2 美国 902-928MHz 免授权频段待补充,计划3月份补足。2.3 中国 779-787MHz 免授权频段待补充,计划3月份补足。2.4 欧洲 433MHz 免授权频段待补充2.5 澳洲 915-928MHz 免授权频段待补充2.6 中国 470-510MHz 频段2.6.1 中国 470-510MHz 前导码格式要用如下的同步字:
调制方式同步字前导码长度
LoR...
了解详情

LoRaWAN协议解析 第6章 终端激活

1 前言我正在陆续对《LoRaWAN102》即LoRaWAN协议规范 V1.0.2 版本(2016年7月定稿)协议的各个章节进行翻译。译文之外还对LoRaWAN协议和源码进行了解析,可点此查看帖子LoRa学习笔记_汇总。欢迎同行朋友们留言交流。本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/2 梳理解析LoRaWAN第6章,主要对节点加网做了描述,它有两种方式。如果要用一句话来总结的话,那就是这一句了,请看:如果是空中激活,则需要准备 DevEUI,AppEUI,AppKey 这三个参数,即设备自身MAC地址和要使用的应用(应用ID和密钥)。如果是ABP激活,则直接配置 DevAddr,NwkSKey,AppSKey 这三个LoRaWAN最终通讯的参数,不再需要join流程。在这种情况下,这个设备是可以直接发应用数据的。这里插个题外话,商用的LoRaWAN网络一般都是走OTAA流程,这样安全性才得以保证。(twowinter,你数数,这是一句话?)(如果是空中激活,则需要准备 DevEUI,AppEUI,AppKey来join。如果是ABP激活,则直接配置 DevAddr,NwkSKey,AppSKey。)3 代码位置3.1 激活处理协议的第6章,相关的核心代码是这么几行,位于 \src\mac\main.c。整个代码结构非常清晰,用一个宏(OVER_THE_AIR_ACTIVATION)分开两段,分别对应两种激活方式。3.2 参数配置关于参数部分,相关的默认值全部位于\src\apps\LoRaMac\classA\硬件平台\Comissioning.h本尊有机会接触了几个LoRaWAN基站厂家,发现大家为了调试方便,一般也会支持这些默认值。End了解详情

LoRaWAN协议解析 第5章 MAC命令

1 前言我正在陆续对《LoRaWAN102》即LoRaWAN协议规范 V1.0.2 版本(2016年7月定稿)协议的各个章节进行翻译。译文之外还对LoRaWAN协议和源码进行了解析,可点此查看帖子LoRa学习笔记_汇总。欢迎同行朋友们留言交流。本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/2 梳理解析从LoRaWAN第4章的帧格式可以得到如下信息:MAC命令,要么使用FPort0来单独传输,要么使用非零的FPort来和数据一起传输。LoRaWAN第5章,LoRaWAN出于网络管理需要,提出了9条MAC命令,这个章节是对9条命令进行具体的描述。说个题外话,CLAA(中国LoRa应用联盟)在9条命令以外还扩充了一些MAC命令。现阶段协议还不能公开,所以我就不多说了。中兴目前作为LoRa联盟董事会成员,也许以后会把这些拓展MAC命令引入到LoRaWAN协议也说不准,大家暂且当个课外知识了解下就好。3 代码位置MAC命令枚举MAC命令的接收处理OnRadioRxDone()携带着MAC帧进来,经过层层筛选,最终到达ProcessMacCommands()来处理MAC命令。这里代码中涉及的两种处理方式,可以跟协议对应起来:port = 0时,MAC命令放在FRMPayload中,需要先解密再处理;port非零时,MAC命令放在fopts中。MAC命令的发送及回复MAC命令的发送及回复处理都在这个函数中,AddMacCommand()。协议栈对MAC命令发送的处理还是比较简单的,都是放在Fopts中来传输,都在这个15字节的MacCommandsBuffer中。了解详情

LoRaWAN协议解析 第4章 MAC帧格式

1 前言我正在陆续对《LoRaWAN102》即LoRaWAN协议规范 V1.0.2 版本(2016年7月定稿)协议的各个章节进行翻译。译文之外还对LoRaWAN协议和源码进行了解析,可点此查看帖子LoRa学习笔记_汇总。欢迎同行朋友们留言交流。本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/2 梳理解析LoRaWAN第4章,主要讲述了MAC帧格式,对所有涉及的字段都做了解释。千言万语汇成一句话,哦不,汇成一个表。
数据帧头DevAddFCtrFCnFOpt
数据帧PreamblPHDPHDR_CRMHDFHDFPorFRMPayloaMICR
MAC层PreamblPHDPHDR_CRMHD...
了解详情