lorawan_lorawan网关 - CSDN
精华内容
参与话题
  • LoRa及LoRaWAN简介

    万次阅读 多人点赞 2019-08-27 22:59:45
    1、什么是LoRa和LoRaWAN 1.1 LoRa和LoRaWAN的区别 LoRa是低功耗广域网通信技术中的一种,是Semtech公司专有的一种基于扩频技术的超远距离无线传输技术。 LoRaWAN是为LoRa远距离通信网络设计的一套通讯协议和系统...

    目录

     

    1、什么是LoRa和LoRaWAN

      1.1 LoRa和LoRaWAN的区别

      1.2 LoRa扩频技术介绍

        1.2.1 什么是扩频技术

        1.2.2 扩频技术的作用

        1.2.3 扩频技术常用术语介绍

      1.3 LoRaWAN帧结构

      1.4 硬件方案介绍

        1.4.1 终端设备方案

        1.4.2 网关方案

    2、LoRaWAN网络架构

    3、LoRaWAN终端设备分类

    4、LoRaWAN终端设备入网

      4.1 OTAA(Over-The-Air Activation)

      4.2 ABP(Activation by Personalization)

    5、LoRaWAN终端设备数据传输

      5.1 数据上下行介绍 

      5.2 数据传输的一些基本规定

    6、ADR机制介绍

      6.1 什么是ADR

      6.2 ADR有什么用

      6.3 ADR如何工作

    7、CAD机制介绍

      7.1 空中唤醒技术

      7.2 CAD工作原理

        7.2.1 CAD工作流程

        7.2.2 CAD周期计算

        7.2.3 前导码时间计算

    8、MAC命令介绍

    9、区域参数


    1、什么是LoRa和LoRaWAN

      1.1 LoRa和LoRaWAN的区别

        LoRa是低功耗广域网通信技术中的一种,是Semtech公司专有的一种基于扩频技术的超远距离无线传输技术。 LoRaWAN是为LoRa远距离通信网络设计的一套通讯协议和系统架构。它是一种媒体访问控制(MAC)层协议。

        LoRa         = PHY Layer

        LoRaWAN = MAC Layer

     

      1.2 LoRa扩频技术介绍

        1.2.1 什么是扩频技术

          通过注入一个更高频信号将基带信号扩展到更宽的频带,它的基本特点是其传输信息所用信号的带宽远大于信息本身的带宽。

        1.2.2 扩频技术的作用

          根据香农公式:C = B × log2(1 + S/N)。 式中,C是信道容量,单位为比特每秒(bps),它是在理论上可接受的误码率(BER)下所允许的最大数据速率;B是要求的信道带宽,单位是Hz;S/N是信号噪声功率比。C表示通信信道所允许的信息量,也表示了所希望得到的性能。      从上式可以看出,通过提高信号带宽(B)可以维持或提高通信的性能(C),甚至信号的功率可以低于噪底(表现为抗干扰强、传输更远)。

        1.2.3 扩频技术常用术语介绍

          带宽(BandWidth)

          每个信道的上限频率和下限频率之差。增加BW,可以提高有效数据速率以缩短传输时间,但是以牺牲部分接受灵敏度为代价。增加带宽为什么会牺牲信号灵敏度?

          SNR(信噪比)

          信号和噪声的比值,计量单位是dB,其计算方法是10lg(PS/PN)。根据计算公式可知,SNR小于0时表示信号功率小于噪声功率,SNR大于0时表示信号功率大于噪声功率。

          RSSI(接收信号强度指示)

          即接收灵敏度(单位为dBm)。在纯净环境下,RSSI值与距离是一个非线性曲线的关系,所以路测时在一定距离内RSSI值有参考价值,过距离后基本没有参考价值。

          扩频因子(SF)

          扩频调制技术采用多个信息码片来代表有效负载信息的每个位。扩频信息的发送速度称为符号速率(Rs),而码片速率与标称符号速率之间的比值即为扩频因子,其表示每个信息位发送的符号数量。Rs = BW/2^SF。

          编码率(CR)

          编码率,是数据流中有用部分的比例。也就是说,如果编码率是k/n,则对每k位有用信息,编码器总共产生n位的数据,其中n-k是多余的。LoRa采用循环纠错编码进行前向错误检测与纠错。

          EIRP(Effective Isotropic Radiated Power)

          有效全向辐射功率。在LoRa上,每个地区规定的最大EIRP值是不一样的,EIRP = P(LoRa芯片发送功率) + G(天线增益) – Loss(损耗)。

      1.3 LoRaWAN帧结构

        LoRa有两种包格式,显性模式和隐形模式。显性模式下有Header部分,隐形模式没有。

        Preamble:用于保持接收机与输入的数据流同步。默认是12个符号长度,LoRaWAN中使用8个符号长度。前导长度是一个可以通过编程来设置的变量,所以前导码的长度可以扩展。接收机的前导码长度应与发射机一致。如果前导码长度为未知或可能会发生变化,应将接收机的前导码长度设置为最大值。可以通过设置前导码值进行地址过滤,实现分组通信。

        Header:包含的信息有,Payload的字节数、编码率、是否打开Payload CRC。LoRaWAN中使用显性模式,隐形模式下这三个内容需要手动在通讯的两端配置。

        Payload:真正发送的数据。

        Payload CRC:对Payload的CRC校验,2个字节。

        注意:收到confirmed类型的消息时,接收者要回复一条设置了确认位的消息(ACK 设为1)。如果发送者是终端,网络就把确认消息发送到该终端打开的接收窗口。如果发送者是网关,确认消息的发送由终端就自行判断。

        注意:

        帧挂起位(FPending):只在下行交互中使用,表示网关还有数据挂起等待下发,此时要求终端尽快发送上行消息从而再打开接收窗口接收数据。

        FPort:0表示FRMPayload中只有MAC命令。1…223(0x01…0xDF)范围内的FPort由应用指定; FPort = 224 专门为LoRaWAN Mac层测试协议服务。

      1.4 硬件方案介绍

        1.4.1 终端设备方案

    • 从图中可以看出,sx1276功能和频段覆盖是最完善的,可以针对欧洲标准、美国标准、中国标准、国际标准市场,目前中国一般使用的是sx1278。
    • SX1276/77/78 配备了三个不同的射频功率放大器。其中两个分别与 RFO_LF 和 RFO_HF引脚连接,能够实现高达+14dBm的功率放大功能。第三个功率放大器与 PA_BOOST 引脚连接,通过专门的匹配网络实现高达+20dBm的功率放大功能。
    • RFO_LF 主要针对LF频段( 低频段169M和433M、470M),RFO_HF主要针对高频频段(868M-915M),而PA_BOOST能覆盖所有频段,一般现在设计使用PA_BOOST引脚,能保证+20dBM的发送功率。
    • SPI通信可以达到10M,一般LoraWAN时要求使用10M保证SPI通信时间可以忽略。

        1.4.2 网关方案

          网关采用SX1301+SX1255/57的方案 

          SX125X是射频前端芯片,它负责I/Q(In-phase / Quadrature,同相正交数字信号)和无线电模拟信号之间的转换。1255支持的频段为400~510M,1257为862~1020M。

          SX1301由2个MCU和ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)的组成。主要部件包括:

          射频MCU:该MCU通过SPI总线连接2片SX125x,主要负责实时自动增益控制、射频校准和收发切换。

          数据MCU:该MCU负责分配8个LoRa调制解调器给多个通道,它仲裁数据包的机制包括速率、通道、射频和信号强度。

          IF0~IF7通道:它们的带宽固定为125kHz,每个通道可以设置中心频率,每个通道可以接收SF7~SF12共6种速率的LoRa信号。理论上可以同时处理6*8=48个终端的上行数据,但是它只有8路LoRa解调器,所以一个通道(IF0~IF7)接收了6个正交数据包,解调器也只负责处理其中一个。

          IF8通道:带宽支持125 / 250 / 500kHz,用于基站之间的高速通信。

          IF9通道:收发(G)FSK信号,LoRaWAN在欧洲地区使用了该通道。

    2、LoRaWAN网络架构

        LoRaWAN的网络实体分为四个部分: 终端节点、网关、LoRaWAN服务器和用户服务器。

        End Node: 终端节点一般是各类传感器,进行数据采集,开关控制等 。

        Gateway: LoRa网关,对收集到的节点数据进行封装转发 。

        NetworkServer: 主要负责上下行数据包的完整性校验。

        ApplicationServer: 主要负责OTAA设备的入网激活,应用数据的加解密 。

        CustomerServer: 从AS中接收来自节点的数据,进行业务逻辑处理,通过AS提供的API接口向节点发送数据。

    3、LoRaWAN终端设备分类

        根据协议规定有 Class A/B/C 三类终端设备,这三类设备基本覆盖了物联网所有的应用场景。CLASSA/B/C的应用和区别可见下表

    4、LoRaWAN终端设备入网

      4.1 OTAA(Over-The-Air Activation)

    • DevEUI(设备唯一标识符, Server与Node预先存储)
    • AppEUI(应用唯一标识符, Server与Node预先存储)  
    • AppKey(Server和Node都要预先存好, 用于对join_accept message的加解密还有node用于生成AppSKey和NwkSKey)  
    • DevNonce(可以由LoRa芯片的RSSI随机值得到)
    • NetID的7个最低有效位称作NwkID,即DevAddr(终端短址)的7个最高有效位。区域相邻或重叠的网络的NwkID不能相同。余下的17个最高有效位由网络运营商自由分配。

    入网请求包格式

    入网接收包格式

    • DevAddr:设备短地址,类似于IP地址。
    • DLSettings:低4位表示RX2的速率,高4位表示RX1的速率偏移。
    • RxDelay:设置从发送完成到打开RX1窗口的时间。
    • CFList:服务器将信道列表带给终端。每个通道占用三个字节,最多下发5个通道

      4.2 ABP(Activation by Personalization)

        这种方法比较简单粗暴,直接配置 DevAddr,NwkSKey,AppSKey 这三个LoRaWAN最终通讯的参数,不再需要join流程。在这种情况下,这个设备是可以直接发应用数据的。

    5、LoRaWAN终端设备数据传输

      5.1 数据上下行介绍 

        这是Class A 上下行的时序图,目前接收窗口RX1一般是在上行后1秒开始,接收窗口RX2是在上行后2秒开始。

        Class C 和 A 基本是相同的,只是在 Class A 休眠的期间,它都打开了接收窗口RX2

        Class B 的时隙则复杂一些,它有一个同步时隙beacon,还有一个固定周期的接收窗口ping时隙。如这个示例中,beacon周期为128秒,ping周期为32秒

    • 加网之后,应用数据就被加密处理了。
    • LoRaWAN规定数据帧类型有 Confirmed 或者 Unconfirmed 两种,即需要应答和不需要应答类型。厂商可以根据应用需要选择合适的类型。
    • 另外,从介绍中可以看到,LoRaWAN设计之初的一大考虑就是要支持应用多样性。除了利用 AppEUI 来划分应用外,在传输时也可以利用 FPort 应用端口来对数据分别处理。FPort 的取值范围是(1~223),由应用层来指定。

      5.2 数据传输的一些基本规定

    1. 切换信道 终端节点每次发送数据包都要随机切换信道,切换信道可以有效降低同频干扰和无线信号衰减。
    2. 发送占空比(DutyCycle) 不同国家和地区, 在ISM频段, 每个无线设备允许的最大发送占空比是有限制的, 这样是为了保证公平和防止非法占用信道。 以欧洲为例, DutyCycle=1%,如果一个设备发射时间为1s, 则接下来99s它都不能再发射无线信号(但是可以接收)。
    3. 驻留时间(DwellTime) 该限制主要在北美地区, 在ISM频段, 一个无线电设备每0.4s必须切换信道, 这样做是为了保证信道利用率和增强抗干扰能力。例如, 一个设备发射时间为1s, 它必须调频3次才能完成发射任务。

    6、ADR机制介绍

      6.1 什么是ADR

        LoRa网络允许终端设备逐一使用所有可用的数据速率。LoRaWAN协议根据该特性对静态终端的数据速率进行调整优化,这就是数据速率自适应(ADR)。

      6.2 ADR有什么用

        ADR可用时,网络会对速率进行优化,使其使用的数据速率尽可能快。这样可以延长终端的电池寿命、充分利用网络带宽。

      6.3 ADR如何工作

        如果终端的数据速率经过网络优化比最低速率大,那节点就要定期检查保证服务器仍然能够收到上传的数据。

        终端上行的帧计数器每递增一次(重传时计数器不递增)的同时,设备的 ADR_ACK_CNT 计数器也递增。如果 ADR_ACK_LIMIT (ADR_ACK_CNT >= ADR_ACK_LIMIT)次上行之后没有收到下行回复,就会设置 ADR 请求响应位(将 ADRACKReq 设为1)。此时要求网络在接下来的 ADR_ACK_DELAY 次上行之内做出响应,在任何一次上行后收到下行数据,节点都会重置计数器 ADR_ACK_CNT。在此期间的下行数据不需设置ACK位,因为终端在等待接收期间收到任何应答都表示网关还能接收来自该设备的上行数据。如果在接下来 ADR_ACK_DELAY 次之内(比如:总共发送次数 ADR_ACK_LIMIT + ADR_ACK_DELAY)没有收到回复,就切换到更低的数据速率上,以获得更远的射频传输距离,并重复上述过程。终端设备每达到 ADR_ACK_DELAY 就会再次降低自己的数据速率。如果设备正在使用默认的数据速率就不再设置 ADRACKReq ,这种情况下传输距离已经最大,任何操作都不会有改善。

    7、CAD机制介绍

      7.1 空中唤醒技术

        在无线传感网络设计中,往往大部分的无线收发机节点都需要低功耗处理。为了降低功耗,只有通过减少无用的工作时间。在大多数的物联网应用中,无线通信时,射频部分大多数时间都处在接收状态,也是主要的能量消耗所在。而当在整个无线网络中数据量较少,但是节点又要随时准备接收数据。理想状态是,当有数据需要接收时,节点处于接收状态,无信息接收时,节点处于睡眠状态,这就需要空中唤醒技术。

        空中唤醒从现象上看,好像是发射机把接收机从睡眠中唤醒,实则不然,其实是接收机周期性自动醒来,查看空中有没有呼叫信号,如果没有,则继续睡眠;如果有,则被唤醒进入接收状态。因此,在空中没有呼叫信号时,接收机平均功耗较低。

        但是如何发现呼叫信号,传统的做法是通过设定RSSI阈值来判断,只有信号强度足够时才认为有效,唤醒节点,否则相反。随着扩频调制技术的应用,人们在确定可能低于接收机底噪声的信号是否已经使用信道时,面临重重挑战。这种情况下,使用RSSI无疑是行不通的。为了解决这个问题,可使用信道活动检测器来检测信号。

      7.2 CAD工作原理

        7.2.1 CAD工作流程

          从机设置好频率和扩频因子,开启CAD模式,当有匹配(相同的频率和扩频因子)的信号到来时,就会产生CADDetect中断,CADDone也会产生(无论是否有信号到来,都会产生CADDone中断)。如果检测到CADDetect中断说明有信号要接收,从机切换成接收模式接收数据,否则清除中断标志,等待下次检测。

        7.2.2 CAD周期计算

          发送方的前导码时间要大于CAD整个周期,这样才能保证接收方正常接收数据。CAD接收时间:Trec=(2^SF+32)/BW,整个CAD周期:Tcad=1.85*Trec。

        7.2.3 前导码时间计算

          Tpreamble=(Npreamble+4.25)*Tsym

          Tsym=1/Rs

          Rs=BW/(2^SF)

          当BW=125kHz,SF=7,Tpreamble=12.544ms

    8、MAC命令介绍

        网络管理时会在网络服务器和终端MAC层之间传输一系列MAC命令。MAC层命令对应用、应用服务器以及终端设备上的应用永不可见。

        一帧数据中可以包含任何MAC命令序列,MAC命令既可以放在FOpts中和正常数据一起发送;也可以放在FRMPayload中单独发送,此时FPort = 0,但不能同时在两个字段携带MAC命令。放在FOpts中的MAC命令不加密,并且不能超过15个字节。放在FRMPayload中的MAC命令必须加密,同时不能超过FRMPayload的最大长度。

        一条MAC命令由一个字节的命令ID(CID)和特定的命令序列组成,命令序列可以是空。常见命令如下表所示

    9、区域参数

        注意:第一个接收窗口(RX1)使用的频率、数据速率与上行传输时使用的频率、数据速率存在映射关系。第二个窗口根据每个地区定义有一个默认值,可以通过MAC命令修改。

    展开全文
  • 花一个小时,打造自己的LoRaWAN网关

    万次阅读 2020-04-30 15:55:24
    花一个小时,打造自己的LoRaWAN网关 第1步:准备材料 表1-1 硬件材料清单 名称 用途 供方 SX1301模块 并行处理8路LoRa无线电 锐米提供 ...

                            花一个小时,打造自己的LoRaWAN网关

    LoRaWAN 是全球统一的物联网标准,LoRaWAN网关是核心基站。一个“零基础”用户,按本文 3 步骤,可在1小时内,打造自己的LoRaWAN网关。

    第1步:准备材料

     

     

    表1-1 硬件材料清单

    名称

    用途

    SX1301模块

    并行处理8路LoRa无线电数据帧

    ARM-Linux主控

    驱动SX1301,与Server通信

    高速Micro SD卡

    预装Linux和网关软件,可二次开发

    5V2A Micro USB电源适配器

    提供电能(电流最小 2A)

    7dBi 高增益 LoRa 专用天线

    470~510MHz 中国地区频段

    以太网线缆

    连接路由器,接入 Internet

    采购硬件材料请链接:https://item.taobao.com/item.htm?spm=2013.1.w4023-13955217959.11.4ff71b03xIhC6B&id=611216956593

    第2步:连接设备

     

    快速调试

    如果手头有 USB 转串口工具,可接 debug 串口: 1=GND, 2=RXD, 3=TXD 115200-8-n-1  使用串口软件登录 Linux   用户名=guest   密码=rimelink
    推荐TeraTerminal 链接 http://www.rimelink.com/nd.jsp?id=33#_np=105_315

    执行 sudo ifconfig eth0 即可获取 IP 和 MAC 地址

     

    第3步:验证网关

    3.1 生成EUI

     按上图 5 个步骤,从路由器获取网关的 MAC 地址(如有困难,请咨询网络管理员 或查询路由器使用说明书)。

    如本例,MAC地址 = B8 : 27 : EB : 49 : 95 : 0E

    按规则,生成EUI  = B8 : 27 : EB : FF: FE : 49 : 95 : 0E

     

     3.2 组网测试

     

    3.3 查看日志

    使用 putty连接 gateway,用户名=guest    密码=rimelink

    (下载 putty:http://www.rimelink.com/nd.jsp?id=33#_np=105_315


    查看网关日志执行 tail –f /tmp/start_gateway.sh.log

     

    下载本文 PDF 版本,请链接:https://pan.baidu.com/s/1XKPeoA8AApeSegaX_MkTTg (提取码:rdhp)

     

     

    展开全文
  • LoRaWAN学习笔记1—LoRaWAN概念

    千次阅读 2018-01-19 14:03:26
    LoRaWAN学习笔记1—LoRaWAN概念 --樊渝江 踩了无数反步兵地雷,遭遇了几场路边炸弹,现在终于把产品搞出来了。 其实很早就想写点东西,但时间不巧,最近要过年了,还是利用空余时间把东西理一下,...
    LoRaWAN学习笔记1—LoRaWAN概念
    --樊渝江

    踩了无数反步兵地雷,遭遇了几场路边炸弹,现在终于把产品搞出来了。

           其实很早就想写点东西,但时间不巧,最近要过年了,还是利用空余时间把东西理一下,这样也能总结总结。也学学周播剧每周更新一次,如果有LoRaWAN的疑问可以直接联系我,我教你扫雷和抄近道,空袭我不管。

           初次听到LoRa和LoRaWAN的时候,把LoRaWAN听成了LoRa网了,以为LoRa和LoRaWAN这两个是同一个意思,后续开始看资料的时候是才知道这两个是不同的(建议英语好的直接看原版协议和翻墙)。

            以下是抄别人的经典语录再加了些自己的理解:

    LPWAN(低功耗广域网),是技术的总称(百度一下可以更加详细了解),像LoRa和NB-IoT都属于 LPWAN,只是使用不同标准技术而已。

    LoRa全称是Long Range, LoRa技术是基于线性调频扩频调制,兼顾了FSK低功耗的同时又增加了距离,整个网络采用星型网连接,根据扩频因子⑴的不同,数据率范围是从 0.3kbps 到 50kbps。(升特有一个软件叫LoRa Modem Calculator Tool,填好你的配置,就可以计算通信速率等一些参数,后面会介绍。

     )


            LoRaWAN和LoRa的区别在于,LoRa是一种技术,而LoRaWAN是一套标准规范(可以这样类比,LoRa类比于网卡,LoRaWAN类比于TCP\IP协议,虽然比喻不是很恰当,但前期可以这样理解),就好比NB-IoT与3GPP TR的关系一样,LoRaWAN主要包括2个部分:通信协议和体系结构。后续的笔记都是围绕LoRaWAN来写的,毕竟是一个标准协议,点对点的一些玩法嘛,有时间再写吧,毕竟点对点会限制一些应用。
     
    大概理一下:
    Application:就是你自己写的应用逻辑,比如:采集温度、休眠、检测地雷、探测UFO等等,都是 你自己要动手写的。
    LoRa MAC :是LoRaWAN协议标准定义的,包的结构、指令都有详细的描述,后面再说,官方有 码,你要做的事情不是太多。
    LoRa Modulation:就是lora自家的调制技术,一家独大,我没了解过内部工作原理,可以百度 一下。
    Region ISM band:就是未授权频段,每个国家不一样,中国目前支持CN470和CN779,他有一 个专门的文档对这些频段进行了描述,后面会讲。
    体系架构:
     
    它将网络实体分成4类:End Nodes(终端节点)、Gateway(网关)、LoraWAN Server(LoRaWAN服务器)和Applicaton Server(用户服务器)。End Nodes 和 Gateway,Gateway 和 LoraWAN Server的通信LoRaWAN有明确的标准(后面细说), Applicaton Server没有定义,那小伙伴们就可以自己玩自己的了。





    ⑴扩频因子(Spreading Factor 简写为:SF):当扩频因子为1时,数据1就用“1”来表示,扩频因子为4时,可能用“1011”来表示1,这样传输的时候可以降低误码率也就是信噪比,但是却减少了可以传输的实际数据,所以,扩频因子越大,传输的数据数率就越小,传输时间越长,传输距离越远。在LoRaWAN标准中可以使用SF7~SF12。
    以SF12和SF7为例:

     


     
    可以看出明显的差别,SF12需要2.4s(实测接近3s),才能把51字节的数据发送完成,而SF7只需要128ms(实测在150ms左右)就能完成数据发送。后续章节会好好的讲解SF和距离的关系。
    展开全文
  • LoRaWAN网关原理图

    2020-07-30 23:32:04
    LoRaWAN网关1301原理图和PCB版图,适合想开发lorawan网关的个人和公司
  • LoRaWAN 规范 1.0(2~4章)

    万次阅读 多人点赞 2017-02-23 14:59:15
    最近在做LoRa, LoRaWAN协议略微复杂,边读边翻译,现在把翻译分享给各位做物联网的同行。 当然里面掺杂了一些我的个人笔记,希望对大家有所帮助。 如果哪里有问题,欢迎应各位留言或者邮件指正。
    
    
    

    最近在做LoRa, LoRaWAN协议略微复杂,边读边翻译,现在把部分关键的翻译分享给各位做物联网的同行。
    当然里面掺杂了一些我的个人笔记,希望对大家有所帮助。
    如果哪里有问题,欢迎应各位留言或者邮件指正。

    翻译很辛苦,转载请注明出处和源链接

    鉴于本人在阅读现代国人的译文时的所感所想:

    在本文档的译文中不会出现任何音译,也尽量减少让人不懂的直译,转成符合中国人逻辑的文字。我不懂或者不确定的地方会将原文一起放上,如果有误还请大家指出来。

    LoRaWAN 规范 1.0 (2~4章)

    声明

    本文翻译版本已更新至LoRaWAN 1.0.2,同时修正了一些错误,与初始版本相比有些内容变动较大。

    请注意本文中的带上标的引用、说明

    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:

    Uplink PHY

    3.2 下行链路消息

    下行链路消息由服务器发送给终端设备,每条消息对应的终端设备是唯一确定的,而且只通过一个网关2转发。

    下行链路消息由物理头(PHDR)和这个头的CRC(PHDR_CRC)组成3

    下行链路消息:

    下行链路消息

    3.3 接收窗口

    设备终端每次发送数据完成后打开两个收窗口。以数据发送结束作为基准进行计算接收窗口的开启时间。

               发送           |                             | RX1                       | RX2
    |<---------------------->|<--------------------------->|                           |
    |      无线发送耗时        |  RECEIVE_DELAY1             |                           |
    |                        |<------------------------------------------------------->|
                                                                RECEIVE_DELAY2
    3.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)。

    MAC Message Formats

    4.1 MAC 层 (PHYPayload)

    大小(字节) 1 1..M 4
    PHYPayload MHDR MACPayload MIC

    MACPayload字段长度M的最大值与区域有关,详细见第六章。

    4.2 MAC 头 (MHDR 字段)

    第几位(Bit) 7..5 4..2 1..0
    MHDR MType RFU Major

    MAC 头(MHDR)的 MType 表示消息类型;Major 表示LoRaWAN主版本号,指明帧格式所遵循的编码规则。

    • 4.2.1 消息类型 (MType 字段)

      LoRaWAN自定义了六个不同的MAC消息类型:join request, join accept, unconfirmed data up/down, 以及 confirmed data up/down

      MType 说明 备注
      000 Join Request 请求入网,无线激活过程使用,具体见章节6.2
      001 Join Accept 同意入网,无线激活过程使用,具体见章节6.2
      010 Unconfirmed Data Up 无需确认的上行消息,接收者不必回复
      011 Unconfirmed Data Down 无需确认的下行消息,接收者不必回复
      100 Confirmed Data Up 需要确认的上行消息,接收者必须回复
      101 Confirmed Data Down 需要确认的下行消息,接收者必须回复
      110 RFU 保留
      111 Proprietary 用来实现自定义格式的消息,交互的设备之间必须有相同的处理逻辑,不能和标准消息互通
    • 4.2.1.1 请求入网和同意入网

      请求入网和同意入网的消息在OTA激活过程中使用,具体见章节6.2

      这里翻译成请求入网和同意入网,节点发送数据的动作会在下面翻译成 入网请求

    • 4.2.1.2 数据

      消息数据既可以传输MAC命令也可以传输应用数据,甚至可以一起发送。接收者对需要确认的消息 (confirmed-data message) 必须做出回复,而对于 不需要确认的消息 (unconfirmed-data message)则不需要对其回复5私有消息(或者说专有消息,指用户自定义的消息,英文:Proprietary messages)用来实现 非标准 的消息,不能与标准协议格式互通,但设备之间要都能理解这些私有扩展。

      不同消息类型用不同的方法保证一致性,下面会介绍这一点。

    • 4.2.2 主版本号(Major 字段)

      Major bits 说明
      00 LoRaWAN R1
      01..11 保留(RFU)

      注意:

      主版本号指明激活过程中使用的消息格式(章节6.2)和MAC Payload前4字节(第4章)。终端要为每个不同的主版本号实现不同子版本的消息格式。终端使用的 主版本号 子版本号应当提前作为其它消息的一部分捎带发送给网络服务器,如,作为设备个性化信息的一部分。

      (e.g., as part of the device personalization information).

    4.3 MACPayload

    MAC 荷载,也就是所谓的“帧数据”,包含:帧头(FHDR)、端口(FPort)以及帧荷载(FRMPayload),其中端口和FRMPayload可配置(可变)。

    • 4.3.1 帧头(FHDR)

      FHDR由终端短址(DevAddr)、1个帧控制字节(FCtrl)、2字节的帧计数器(FCnt)以及用来传输MAC命令的配置字段(FOpts)组成,FOpts最多15个字节。

      FCnt 下面章节有详细说明

      大小(字节) 4 1 2 0…15
      FHDR DevAddr FCtrl FCnt FOpts

      下行 数据帧帧头的FCtrl结构如下:

      第几位 7 6 5 4 [3..0]
      FCtrl ADR RFU ACK FPending FOptsLen

      上行 数据帧帧头的FCtrl结构如下:

      第几位 7 6 5 4 [3..0]
      FCtrl ADR ADRACKReq ACK RFU FOptsLen
    • 4.3.1.1 帧头中的数据速率自适应控制 (FCtrl中的ADR, ADRACKReq )

      LoRa网络允许终端设备逐一使用所有可用的数据速率。LoRaWAN协议根据该特性对静态终端6的数据速率进行调整优化,这就是数据速率自适应(ADR)。ADR可用时,网络会对速率进行优化,使其使用的数据速率尽可能快。

      当无线电信道持续、快速地衰减时,数据速率自适可能无法使用。当网络不能控制设备数据速率时,设备的应用层就要对其进行控制。建议这种情况下最好把所有数据速率都尝试一下。应用层应该一直尝试在给定网络条件下,使空中时间总耗时最少。

      如果ADR设置为1,服务器可以通过MAC命令控制设备的数据速率。如果ADR设置为0,无论接收的信号的质量如何,服务器都不对终端的数据速率做任何调整。由终端设备或网络决定是否使用该位。不过,只要条件允许就应该开启ADR,这样可以延长终端的电池寿命、充分利用网络带宽。

      注意:

      哪怕移动终端在大多数时间下都是不移动的。因此终端可以根据它自己移动状态请求网络通过ADR进行数据速率优化。

      如果终端的数据速率经过网络优化比最低速率大,那节点就要定期检查保证服务器仍然能够收到上传的数据。 终端上行的帧计数器每递增一次(重传时计数器不递增)的同时,设备的 ADR_ACK_CNT 计数器也递增。如果 ADR_ACK_LIMIT (ADR_ACK_CNT >= ADR_ACK_LIMIT)次上行之后没有收到下行回复,就会设置 ADR 请求响应位(将 ADRACKReq 设为1)。此时要求网络在接下来的 ADR_ACK_DELAY 次上行之内做出响应,在任何一次上行后收到下行数据,节点都会重置计数器 ADR_ACK_CNT。在此期间的下行数据不需设置ACK位,因为终端在等待接收期间收到任何应答都表示网关还能接收来自该设备的上行数据。如果在接下来 ADR_ACK_DELAY 次之内(比如:总共发送次数 ADR_ACK_LIMIT + ADR_ACK_DELAY)没有收到回复,就切换到更低的数据速率上,以获得更远的射频传输距离,并重复上述过程7。终端设备每达到 ADR_ACK_DELAY 就会再次降低自己的数据速率。如果设备正在使用默认的数据速率就不再设置 ADRACKReq ,这种情况下传输距离已经最大,任何操作都不会有改善。

      注意:

      不要求网络立刻回复 ADR 请求,要给网络留出足够的反应时间,以便网络给出最佳的下行链路的调度方案。

      注意:

      上行传输时,如果 ADR_ACK_CNT >= ADR_ACK_LIMIT 并且当前数据速率比设备的最小数据速率高,才会设置 ADRACKReq 位,其它情况下不需要。

    • 4.3.1.2 消息确认位和确认流程 (FCtrl中的ACK)

      收到confirmed类型的消息时,接收者要回复一条设置了确认位的消息(ACK 设为1)。如果发送者是终端,网络就把确认消息发送到该终端打开的接收窗口。如果发送者是网关,确认消息的发送由终端就自行判断。

      确认消息只会在收到消息以后作为响应发送,并且不重发。

      注意:

      终端处理越简单越好、状态越少越好,因此设备收到需要确认的消息后要立刻回复,回复的消息要简明扼要(最好发空消息)。回复也可以延缓,放到下一条正常消息里面一起发送。

      笔记:

      这就是说Confirmed消息单独的回复只能是Unconfirmed,同时设置ACK标记。和正常消息一起发送的话没有限制。

    • 4.3.1.3 重传机制

      如果终端设备发送一条需要确认的消息后没有收到响应,终端就会重新发送这条消息。不同设备间的消息重传的次数以及传输的时间可能不同。

      注意:

      第18章给出了确认机制的时序图

      注意:

      如果设备重传次数到限制后仍然没收到确认消息,就会降低自身的数据传输速率来增加传输距离,并再次尝试连接。该消息是再次重传还是丢弃该消息继续运行,由终端自己决定。

      注意:

      如果网络服务器重传次数达到限制后仍然没有收到确认消息,在没有收到设备的消息之前会认为无法与终端建立连接(终端不可达)。该消息的重传或者放弃是由服务器决定的。

      注意:

      上面提到的重传期间的数据速率回归机制在18.4有详细介绍

    • 4.3.1.4 帧挂起位 (FPending in FCtrl, downlink only)

      帧挂起位(FPending)只在下行交互中使用,表示网关还有数据挂起等待下发。此时要求终端尽快发送上行消息来再打开接收窗口。

      FPending的详细用法在18.3章。

    • 4.3.1.5 计数器 (FCnt)

      每个终端有两个计数器:上行链路计数器(FCntUp),其值的增加由终端控制,从终端发往服务器;下行链路计数器(FCntDown),其值的增加由服务器控制,从服务器发往终端。网络服务器记录上行帧,并且为每个节点创建下行计数器。一次 JoinReq – JoinAccept 消息交换之后,或者个性化的终端设备8重置之后,终端设备上的计数器9以及网络服务器上该终端设备对应的计数器都会重置为0。之后每次其中一方发送一条新的数据帧,发送方所控制的 FCntUp 或 FCntDown 就会加1。接收方对应的计数器在检查通过后则会与之保持同步。在考虑到计数器回滚的情况下,如果收到的增加过的计数器与本地现有计数器的值之差小于指定的值 MAX_FCNT_GAP10,则检查通过;如果两者之差大于 MAX_FCNT_GAP 就表示丢失了过多的数据包,(该数据帧)随后被丢弃11。不需要确认的帧多重传输(见参数 NbTrans 的说明)时,或者需要确认的帧没有收到确认回执时,这两种情况下FCnt不会增加。

      笔记:

      上行链路计数器(FCntUp),由终端产生并维护,记录发往服务器的帧数量;下行链路计数器(FCntDown),由服务器产生并维护,记录服务器发往终端的帧数量。

      笔记:

      原文中说了 计数器之差MAX_FCNT_GAP和小于MAX_FCNT_GAP的情况怎么处理,没有说明等于的情况怎么处理。不过通过阅读节点源代码可以知道,等于的情况与小于的情况处理方式相同,即分为 =< MAX_FCNT_GAP> MAX_FCNT_GAP两种情况。但是为了尊重原文,在这里做出说明而不在原文译文中改动。

      LoRaWAN的帧计数器可以是16位(2字节),也可以是32位(4字节)。指定终端设备需要通过带外数据12通知网络端设备自己使用的帧计数器的位宽。如果使用 16位帧计数器, FCnt字段可以直接当做计数器的值,有需要的话可以通过在前面填充0(值为0)字节来扩展。如果使用 32-bits 帧计数器,FCnt字段对应32位计数器的16个最低有效位(换句话说,FCntUp用来发送上行数据帧,FCntDown用来发送下行数据帧)。

      应用会话密钥和网络会话密钥不变的情况下,除重传外,终端设备不能重复使用同一个FCntUp。

      注意:

      由于 FCnt 是32位帧计数器中16个最低有效位的值,因此服务器必须通过观察数据交互来自己推断帧计数器的16个最高有效位。

    • 4.3.1.6 帧配置 (FOptsLen in FCtrl, FOpts)

      帧配置长度(FOptsLen)字段位于帧的 FCtrl 部分,表示FOpts的实际长度。FOpts字段用来传输MAC命令,最长15字节,可以为空。一系列MAC命令的详细解释在第5章。

      如果FOptsLen=0,FOpts为空。如果 FOptsLen0 ,即MAC命令放在FOpts字段,端口号不能为0(FPort要么为空,要么是一个非零值)。

      MAC命令不能同时出现在FRMPayload和FOpts中,万一出现了,设备应丢掉该帧数据。

    • 4.3.2 端口(FPort)

      帧负载数据(FRMPayload)不为空的时候端口号也不能是空。此时FPort=0表示FRMPayload中只有MAC命令(详情见章节4.4)。1…223(0x01…0xDF)范围内的FPort由应用指定; FPort = 224 专门为LoRaWAN Mac层测试协议服务。

      注意:

      FPort = 224 的目的是:专门用来通过无线方式在最终版本的终端设备上进行Mac方案的合理性测试,从而在实际场景中不必依赖于特定测试版本的设备。测试和正常操作不能同时进行,但该Mac层实现属于设备正常应用。测试协议使用AppSKey加密,这样可以保证在设备拥有者没有参与的的情况下,网络无法擅自开启设备的测试模式。如果在已经连接到正常网络的设备上运行测试,而网络侧的 测试应用 通过这种方式获取到AppSKey,这就不属于LoRaWAN协议的范围了。如果在专门的测试平台(不是正常网络)上通过OTAA进行测试,并且为了保证入网成功将AppKey告诉了测试平台,这也不属于协议范围。

      原文:
      The purpose of Fport value 224 is to provide a dedicated Fport to run Mac compliance test scenarios over-the-air on final versions of devices, without having to rely on specific test versions of devices for practical aspects. The test is not supposed to be simultaneous with live operations, but the Mac layer implementation of the device shall be exactly the one used for the normal application. The test protocol is normally encrypted using the AppSKey. This ensures that the network cannot enable the device’s test mode without involving the device’s owner. If the test runs on a live network connected device, the way the test application on the network side learns the AppSkey is outside of the scope of the LoRaWAN specification. If the test runs using OTAA on a dedicated test bench (not a live network), the way the Appkey is communicated to the test bench, for secured JOIN process, is also outside of the scope of the specification.

      225..255 (0xE1..0xFF)保留,以便未来对标准化应用进行扩展。

      大小(Bytes) 7..22 0..1 0..N
      MACPayload FHDR FPort FRMPayload

      N是FRMPayload的字节数,N的取值范围见LoRaWAN 区域性参数手册

      N的范围:

      NM1length(FHDR)

      其中M是MACPayload的最大长度。length(FHDR)FHDR的字节长度。

    • 4.3.3 MAC 帧负载据加密(FRMPayload)

      如果帧数据中包含payload,要先对FRMPayload进行加密,再计算消息的一致性校验码(MIC)。

      加密方案使用基于IEEE 802.15.4/2006 Annex B [IEEE802154] 的AES加密,秘钥长度128位。

      使用哪种加密秘钥K取决于消息的FPort:

      FPort K 备注
      0 NwkSKey 网络密钥
      1..255 AppSKey 应用密钥

      加密字段: pld = FRMPayload

      采用分组加密,算法为每条消息数据定义一个块的序列,序列分为 k 块,k=ceil(len(pld)/16) (向上取整),每组用Ai表示,i=1…k,每块结构如下:

      字节数 1 4 1 4 4 1 1
      Ai 0x01 4 × 0x00 Dir DevAddr FCntUp 或 FCntDown 0x00 i

      方向(Dir)字段:上行帧为0,下行帧为1
      对Ai加密,得到S的块队列Si:

      加密公式

      通过分割对payload进行加解密:

      truncating ed

    • 4.4 消息一致性校验码 (MIC)

      对整个消息的所有字段进行计算(AES签名算法CMAC)得到消息一致性校验码(MIC)。

      msg = MHDR | FHDR | FPort | FRMPayload

      其中 len(msg) 表示消息的字节长度。

      MIC算法参考RFC4493

      mic1

      B0 定义如下:

      大小(字节) 1 4 1 4 4 1 1
      B0 0x49 4 × 0x00 Dir DevAddr FCntUp 或 FCntDown 0x00 len(mgs)

      方向(Dir)字段:上行帧为0,下行帧为1

    PS

    看到有些伙伴提问问题,由于本人的CSDN一般不在线。

    为了方便交流,附个邮箱,有问题或者想法的朋友可以 给我写信


    知识共享许可协议 本文由 qingchuwudi 译制、整理,除非另有声明,在不与原著版权冲突的前提下,本作品采用知识共享署名 3.0 中国大陆许可协议进行许可。


    1. See the LoRa radio transceiver datasheet for a description of LoRa radio packet implicit/explicit modes.
    2. 本文档对”服务器发往多个节点的组播消息的传输“不做说明。
    3. 空载数据的一致性校验在本层完成,使消息的发送时间尽可能短,使它在任何占空比下对ISM频段的影响降低都到最低。
    4. payload大小的最小值在第六章有详细介绍。
    5. 确认机制详细的时序图在第18章
    6. 静态终端指的是静止状态的终端设备,位置不发生变化。与位置经常变化的移动终端相对。
    7. 原文说的是 “regain connectivity” ,可能是重新入网也可能是重新发送正常数据。阅读节点源码,这里是“重新发送正常数据”。
    8. JoinReq – JoinAccept 也就是OTAA入网成功,个性化终端设备也就是各项参数通过人工配置进行激活的终端设备,即我之前翻译中的 手动激活 的设备。
    9. 这里使用复数,而没有指明上行计数器还是下行计数器,说明两个计数器都会被影响。
    10. MAX_FCNT_GAP、 RECEIVE_DELAY1 以及 RECEIVE_DELAY2 的值 可以从 * LoRaWAN1.0.2参数文档 * 找到。鬼知道原文备注的“Error! Reference source not found. for EU863-870 or Error! Reference source not found. for US902-928.” 是不是超链接的时候没找到。
    11. 这里之前翻译为 “这条以及后面的数据就被丢掉”,不太准确。因为在考虑到DevAddr可能重复的情况下,错误数据可能来自另一个节点,而随后本节点真正过来的数据不一定是错误的。目前LoRaWAN开发者(包括公司)各自开发,Network ID随意设置并没有遵循LoRa联盟的规则,因此不同的节点DevAddr是有可能相同的。哪怕不考虑这些,DevAddr中的NetID只取7位,才128个不同的DevAddr地址空间,理论上也是可能出现重复的。
    12. Out-Of-Band维基百科Out-Of-Band百度百科
    展开全文
  • LoRaWAN与LoRa的区别!

    千次阅读 2018-10-27 14:58:42
    LoRaWAN与LoRa的区别 在物联网技术快速发展的今天,NB-IoT、LoRa、SigFox等技术名词经常进入我们的视野中,对于刚刚接触物联网领域的人来说,在一大堆名词面前可能会混淆。面对类似于LoRa和LoRaWAN这样容易混淆的...
  • LoRa 深度解析LoRa和LoRaWAN的区别

    千次阅读 2019-06-16 14:24:26
    1.总体介绍 随着物联网技术的飞速发展,NB-IoT、LoRa、SigFox等技术名词时不时出现在我们的视野中,对普通读者或者刚刚接触物联网领域的人来说,在一大堆名词面前可能会混淆。本文资本论将针对LoRa和LoRaWN做细致的...
  • LoRaWAN介绍 - LoRa从业者读这篇就够了

    万次阅读 多人点赞 2020-07-16 19:53:08
    这篇介绍文章是用于团队内部培训使用,对部分内容做了删减后公开发出。 本文是一篇LoRaWAN的科普介绍,你已经在朋友圈看过无数蜻蜓点水的LoRaWAN文章,是时候来一篇真正的技术干货了。
  • 剖析 LoRaWAN Gateway 核心代码

    千次阅读 2018-05-04 16:03:18
    从 4 方面:体系结构、文件组织、数据结构和算法,剖析 Gateway 核心代码。
  • LoRaWAN介绍2 架构

    万次阅读 2020-08-06 17:24:55
    LoRaWAN介绍2 架构 1 为什么是星型网络,而不是mesh 仔细查看LoRaWAN的架构图,您会发现,End Nodes与Gateway的组网是star(星型)拓扑,为什么不是mesh(网格)呢? 我们比较下 star 和 mesh,就会发现 ...
  • 这个章节主要讲了LoRaWAN在全球各地区的具体物理层参数,不单单是频段有区别,细化到信道划分,甚至是数据速率,发射功率,最大数据长度等等都有区别。这章基本是LoRa从业者都应该学习的,不管是开发者还是市场销售...
  • 这是《LoRaWAN-Specification》的中文译本。 《LoRaWAN-Specification》是 LoRa 联盟规范的核心协议,由于国内LoRa从业者数量众多,难免有不少伙伴需要中文译本,所以诞生了这个小项目。 项目采用 gitbook 进行编写...
  • 一些lora server开源平台

    千次阅读 2016-09-20 20:52:28
    https://github.com/gotthardp/lorawan-server Compact server for private LoRa networks https://gotthardp.github.io/lorawan-server https://github.com/Lora-net https://github.com/brocaar/loraserver ht
  • 从零开始搭建一套lorawan网关(一)

    千次阅读 2019-05-21 15:16:22
    一个新分类,记录一下lorawan的搭建过程。 主要会做以下内容: 网关1301芯片基本参数学习 主控板的基本环境搭建 网关代码的移植 主控与1301连接测试 开源LoRa Server项目学习 LoRa Gateway Bridge安装测试 ...
  • 3 步完全掌握 LoRaWANServer,第 1 步...自 LoRaWAN Server 升级到 3.0 后,更新了不少管理设备的方法,为此,请链接:https://blog.csdn.net/jiangjunjie_2005/article/details/97164644 《LoRa Server@Win7_10》 ...
  • 3 步完全掌握 LoRaWAN Server,让你拥有自己的物联网 “旧时王谢堂前燕,飞入寻常百姓家”--刘禹锡《乌衣巷》 LoRa Server 是 LoRa 物联网的核心! 为帮助行业朋友快速搭建 LoRa Server,锐米提供软件安装包,...
  • LoRaWAN版本历史及协议格式说明

    万次阅读 2017-02-16 15:41:45
    介绍各个版本的LoRaWAN变动及协议格式说明
  • 第2章 LoRaWAN Classes 类型介绍
  • 选择LoRaWAN网关,认准6大要点

    万次阅读 2020-04-13 10:49:44
    选择LoRaWAN网关,认准6大要点 LoRaWAN已经成为全球低功耗广域网的事实标准,网关肩负着连接终端和服务器的重任,它是网络稳定运行的基石。 然而,市场上出现了大量的“LoRa网关”,价格从¥300到¥20000,射频从...
  • LoRaWAN介绍1 概貌

    千次阅读 多人点赞 2017-01-05 14:00:48
    站在三万英尺的高度,概要地描述了LoRaWAN体系和协议。
1 2 3 4 5 ... 20
收藏数 1,393
精华内容 557
关键字:

lorawan