如何使用Microchip的LORA模块,以加快物联网设计

LoRaWAN提供了很好的匹配,以物联网的需求,性能特点。除了它的扩展工作范围和低功耗的要求,LoRaWAN提供安全,灵活的通信选项。然而,为了实现一个LoRaWAN溶液所需的硬件和软件可以证明一个主要障碍集中在物联网应用程序本身的开发团队。本文将详细阐述了MicrochipTechnology的第1部分介绍RN2903 LORA模块,并展示如何使用一些额外的硬件和软件,用它来实现远距离,低功耗设计,物联网。快速入门套件MicrochipTechnology的RN2903 LORA模块是一个物联网设计近投递LoRaWAN硬件解决方案。即便如此,它仍然只是一个完整的LoRaWAN网络的基石,开发者仍然必须考虑支持硬件和软件系统。Microchip的满足这一需求提供全面的评估套件,提供了实现LoRaWAN对物联网所需要的其他元素。正如第1部分所提到的,MicrochipTechnology的RN2903支持LoRaWAN兼容的通信频率为915MHz,旨在简化物联网应用的开发。全面认证,Microchip的模块包括了实现LoRaWAN连接(图1)所需的所有组件。该模块的命令处理器采用板载LoRaWAN固件完全支持LoRaWAN类的协议。板载EEPROM提供存储用于LoRaWAN配置参数,从而提高性能和减少主机和模块之间的数据传输增加的安全性。图1:Microchip的LORA模块提供了LoRaWAN连接,其板载命令处理器,LoRaWAN协议栈,射频收发器和串行连接一个简易的解决方案。(图片来源:微芯片科技)Microchip的RN2903模块提供与外部MCU主机通信的专用UART接口。此外,该模块包括14 GPIO引脚,开发者可以使用模块固件监视或控制外部设备,如开关和LED编程。最后,该模块提供了方便的连接到一个简单的套偶极天线的射频信号引脚。模块的命令处理器根据通过其UART接口从外部主机MCU接收的命令执行LoRaWAN交易。正如任何网络通信的方法,LoRaWAN消息被发送,并在特定的格式接收。对于LoRaWAN的LORA联盟标准规定了在字节级苛求细节这些格式。该RN2903模块提供了一个直观的基于文本的方法,抽象LoRaWAN标准字节级别的格式为一组关键字的使用可选参数命令。Microchip的定义了三种类型的关键字:MAC的LoRaWAN MAC配置和控制命令无线电指令针对PHY无线电层SYS额外的模块功能,如提供模块固件版本的信息或访问模块的EEPROM存储器命令例如:mac tx uncnf 30 23A5发送端口30的数据值“2,3,4,5-”的消息。的“uncnf”选项表示设备没有请求从网络服务器确认。或者,使用“CNF”选项表示该设备预计网络服务器确认收到。的洛拉模块负责将其发送到它的网关以便传递到网络服务器之前加密该消息。radio tx 6d657****765发送含有值[0x6d]一揽子[0x65] [0x73] [0x73] [0x61] [0x67] [0x65(十六进制示例文本字符串“消息”)sys set nvm 100 FF存储该值为0xFF在EEPROM中的用户分区的地址为0x100物联网设备设计凭借其串行接口,RN2903需要一些额外的组件来实现兼容LoRaWAN,物联网的硬件设计。Microchip的进一步发展速度与RN2903LORA莫特。为了证明其LORA模块功能,Microchip的LORA莫特提供实现LoRaWAN兼容的无线传感器需要一套完整的硬件和软件。Microchip的RN2903 LORA莫特和RN2483 LORA莫特各结合各自的LORA模块与MicrochipPIC18LF45K50 8位MCU,作为传感器的操作和LoRaWAN协议执行主处理器。此外,莫特包括用于采集样品的数据,以及用于用户反馈的液晶显示光传感器和温度传感器。该莫特通过一个标准的USB接口,它提供了访问LORA模块的UART接口连接到主机。在开发过程中工程师们可以通过发送执行LoRaWAN操作MAC,无线电和SYS命令字符串使用莫特的USB连接的模块。在运行期间,物联网设备主机上运行的代码会发出需要的物联网应用的命令和处理响应。对于LoRaWAN应用,Microchip提供的硬件莫特丰富的C软件库。例如,一个应用程序级例程,MOTEapp.c,收集的传感器数据,并通过LoRaWAN连接发送数据,处理由RN2903预期低级MAC命令(清单1)。. . .moteApp_clearBuffers();// Make Sure Port is in allowed Range// Prepare DataBuffer for Txlight = 0;temperature = 0;NOP();// Measure SensorsmoteApp_setSensorsInput();uint8_t sizeOfUpdate = 0;light = moteApp_convertSensorValue(moteApp_getLightValue());oled_putString(moteApp_getLightString(), 6, 1);sizeOfUpdate = moteApp_addToDataBuffer(moteApp_getLightString(), 4);temperature = moteApp_convertSensorValue(moteApp_getTempValue());temperature = ADC_TempConversion(temperature);moteApp_add8bToDataBuffer(temperature, 4 + moteApp_lightStringSize() + 1);// Do Normal Operation. . .// Getting Random ChannelrandomPortNum = TMR2_ReadTimer();. . .// Prepare DataBuffer for TxmoteApp_add8bToDataBuffer(randomPortNum, 0);dataBuffer[3] = 0x20;NOP();sendDataCommand("mac tx uncnf ", dataBuffer, 12);. . .清单1:Microchip提供C语言软件演示样本物联网的应用程序,收集从莫特的光照和温度传感器的数据,建立与数据(消息add8bToDataBuffer),发送消息(sendDataCommand使用MAC TX命令)。(代码源:微芯片科技)应用级开发随着简单的基于关键字的命令方式,Microchip的LORA模块和相关莫特开发板显著简化LoRaWAN终端设备的发展。然而,即使在系统级莫特板及其相关软件地址LoRaWAN层次仅是最低的,终端设备的水平。一个完整的LoRaWAN兼容网络需要额外的硬件部件,包括兼容网关(S)和一个网络服务器。此外,在实施的物联网应用,开发者必须处理的LORA联盟标准只涉及标准OSI堆栈的最低水平这一事实。其结果是,开发者需要完成的其他联网层,开始与位于由LoRaWAN MAC标准寻址的数据链路层之上的OSI网络层。微芯片的地址这一需要使用实现一个完整LoRaWAN兼容网络,包括端设备,网关和网络服务器的硬件和软件开发工具包。Microchip的RN2903LORA网络评估工具包和RN2483LORA网络评估套件捆绑一对微尘与Microchip的LoRaWAN网关板。董事会是由LoRaWAN网关核心板和相关的无线子卡完整的天线和电缆。在软件方面,该试剂盒使用从MicrochipLORA技术评估套件提供所有全面评估的示例LORA系统所需的软件组件(图2)。图2:Microchip的LORA网络评估套件和软件套件实现完整的LoRaWAN的网络应用,包括终端设备(莫特板),网关(核心板)和网络服务器(mchplora)。(图片来源:微芯片科技)该套件提供了一个网络服务器(mchplora)的设计使其在开发系统的虚拟机上运行泊坞窗容器。网关主板通过USB连接到开发系统和无线方式与莫特板通信。该莫特板通过制定系统的USB到基于Java的开发实用程序连接。设计与评估套件工作,Microchip的LORA开发套件提供了一个全面的Java套件,提供了更为丰富的比提供的服务与莫特C ++类库。例如,发送一个MAC传输,开发套件抽象相关交易一个简单的execute一个方法macTX类(清单2)。void macTXSendAction(){if (this.application.device.updateValueFlag)this.application.device.wanPojo.setData(this.data.getText());if (this.application.device.updateValueFlag) {this.application.device.wanPojo.setPortNumber(this.portNumber.getText());}ICommand macTX = CommandFactory.getCommand(CommandFactory.mactx);DeviceModel currDev = this.application.device;macTX.setDataModel(currDev);List task = new ArrayList();task.add(macTX);if (currDev != null)this.application.mvcController.execute(task);elseSystem.err.println("Current Device not set");}清单2:Microchip的LORA开发套件提供了一个完整的LoRaWAN环境,包括一系列广泛的Java包(JAR文件)的抽象LoRaWAN交易,如MAC TX到一组简单的软件电话等macTXSendAction()。(代码源:微芯片科技)在清单2中,CommandFactory在定义的类LoRaDevUtility.jar定义public static String mactx = "mac tx";然后创建适当的类的一个实例,在这种情况下,一macTx类对象,当工厂称为CommandFactory.mactx:if (command.compareTo(mactx) == 0)return new macTX();该macTX.class在LoRaDevUtility.jar提供运行时配置值和各种服务功能,如数据包验证,以及该类的主要实用方法execute。该execute方法创建所需的MAC TX规定格式字符串命令,传送消息(WriteI2cData),然后获取响应:. . .command = new StringBuilder().append("mac tx").append(((DeviceModel)this.server).wanPojo.getIsConformed()).append("").append(((DeviceModel)this.server).wanPojo.getPortNumber()).append("").append(((DeviceModel)this.server).wanPojo.getData().replace("0x","")).toString();. . .byte[] data = command.getBytes();((DeviceModel)this.server).getController().transport.WriteI2cData(this.processPacket.pack(data), null, this.timeout);byte[] read = null;read = super.readResponseData();结论有效连接是由低功率的IoT器件的海量数的IoT网络的基本要求。LoRaWAN提供了一个有效的物联网连接解决方案,以提供最低的功率要求远距离操作。与任何连接选项,可实现在证明自己的一大创举,从他们的主要集中在物联网应用本身分心开发。基于Microchip的RN2903 LORA模块,MicrochipTechnology的LORA网络评估套件和相应的LORA开发套件提供完整的应用LoRaWAN。使用预认证的硬件和软件的组合,开发人员可以快速调出能够实现15公里无线范围和10年的电池寿命的物联网连接解决方案。了解详情

LoRa终端低功耗设计的策略方案介绍

LoRa终端的低功耗设计,一直是业内关注的话题。目前IoT业界一般宣称loRa的电池寿命可以达到10年以上。但是,到实际的产品中,由于待机时间和工作模式对功耗影响很大,因此待机时间差别也比较大。对于使用频率比较低的LoRa产品,待机时间可以达到3-5年,但对于一些GPS实时追踪的LoRa产品,电池可能只有几天的寿命。因此,对于实际的Lora终端产品,如何降低其功耗、尽量延长实际的待机时间、以降低维...了解详情

一个LoRaWAN网关能支持多少个节点

前言对于需要购买LoRaWAN网关的人来说,可能最重要的一个问题就是:一个网关能容纳多少个节点?我有N个节点,需要配备多少个LoRaWAN网关才够用?很可惜的是,这个问题没有简单的答案。一、LoRaWAN网关单网关能容纳的节点的数量1、理论值假设单个网关每天最多可以接收a个数据包,每个节点的应用发包频率是每小时b个数据包的话,那么,单个网关最多可以容纳的节点的数目的理论值的计算式如下S=a/(24*b)。...了解详情

NB-IOT/LoRa/Zigbee无线组网方案对比

物联网设备节点组网存在2种组网方式, 无线组网和有线组网。 无线组网我们常见到的有Zigbee,LoRa, NB-IOT等,其中Lora/NB-IOT属于LPWAN技术,LPWAN技术有覆盖广、连接多、速率低、成本低、功耗少等特点。NB-IoT有个明显的优势是数据采集后可直接上传到云端,不需要通过网关,简化了现场部署。通常要部署一个网关需要考虑位置,周围信号影响,考虑因素较多。现在把这个三个无线组...了解详情

唯传技术干货:影响LoRa网关容量的关键因素及扩容技术研究(一)

来源:唯传科技1.1概述 低功率广域网(LPWAN)是无线通信技术发展的新趋势。与传统网络系统不同,这些系统并不专注于为每个设备实现高数据速率。相反,为这些系统定义的关键性能指标是能效,可扩展性和覆盖率。今天的LPWAN通常被视为由终端节点设备(ED)和网关基站(BS)组成的蜂窝网络。 节点(ED)连接到基站(BS)并由其服务,从而在其周围形成星形拓扑网络。 Lora技术就是其中的典型代表。在...了解详情

LoRa之信道活动检测工作原理解析

实现原理信道活动检测关键:以尽可能高的的功率效率来检测无线信道上的LoRa前导码。。在CAD模式下,芯片会快速扫描频段,以检测是否有LoRa前导码。。  CAD流程如下在CAD过程中,将会执行以下操作锁定PLLoRa无线接收机从信道获取LoRa前导码符号,相当于执行Rx模式关闭接收机与PLL,开始执行调制解调器数字处理对获取的样本信号与理想的前导码波形进行关联关系计算完成计算后,调制解调器...了解详情

解读LoRaWAN是如何运作的?有何技术限制和替代协议

考虑使用LoRaWAN部署您的物联网解决方案?倘若您正在开发用于工业或企业用途的专用网络解决方案,那么您需要了解此技术的一些限制(以及在许多情况下将为您提供更好服务的替代协议)。在本文中,我们将深入探讨LoRa与LoRaWAN的区别LoRaWAN如何运作LoRaWAN A,B和C类啁啾率,处理增益和正交性利用LoRaWAN构建专用网络的障碍另一种解决方案:Symphony LinLoRa与LoRaWAN的区别...了解详情

LoRa射频信号接收的整体框架

LoRa整体框架图射频信号的接收流程射频--->中频--->基带,下面按照图中标的1、天线接受射频信号后,(经过声表面滤波器转换,将电波转换成电信号),得到高频信号2、高频信号需要经过低噪声放大器LNA(也叫高频头吧?)处理,将信号放大,同时,信号被转换成差分信号,差分信号经过混频器,和内部振荡源混频,得到正交的中频信号(I/Q);(之后还要经过一系列滤波器和放大器,把信号转换成ADC...了解详情

评估LoRa覆盖性能 开展终端节点定位研究

低功耗广域物联网络(LPWAN)是新型的无线通信技术,主要包括工作在授权频段的NB-IOT技术和非授权频段的LoRa技术。评估LoRa技术的网络覆盖性能,对网络中的终端节点开展定位研究。通过数据碰撞、网络可扩展性、路径损耗模型,基于离散事件方法模拟单个基站覆盖,得出对应参数配置下的网络数据包获取率、数据包碰撞率及网络能量消耗情况。同时,使用TDOA算法对LPWAN中的终端节点定位分析,提高路由效率...了解详情

LoRa与FSK的共性与区别及两种无线通信调制方式介绍

当无线数据的传输越来越广泛,我们仿佛才意识到无线传输的技术真真切切的就在我们的身边。本文简单介绍两种无线通信调制方式:LoRa与FSK的共性与区别。首先了解一下近年在国内较为火爆的无线技术——LoRa。LoRa调制解调器采用专利扩频调制和前向纠错技术,它融合了数字扩频、数字信号处理和前向纠错编码技术。2013年8月发布的新型基于1GHz以下的超长距低功耗数据传输技术(Long Range,简称Lo...了解详情

LoRa学习:SX127x芯片数字IO引脚映射

SX1276/7/8的6个DIO通用IO引脚在LoRa模式下均可用。它们的映射关系取决于RegDioMapping1和RegDioMapping2这两个寄存器的配置,如下表从表中可以看出,DIO0最常用,主要是发送/接受/CAD完成的中断产生调制解调器状态指示符RegModemStat中的ModemStatus位显示了LoRa调制解调器的状态,这些位多用于Rx模式下的调试,包括:位0:Signal Detected 表示检测到了一个有效的LoRa前导码位1:Signal Synchronized 表示检测到了前导码的结尾位2:Header Info Valid 当检测到有效报头(既正确CRC的Header),变为高电平中断寄存器汇总:了解详情

LoRA芯片 SX1276/SX1277/SX1278的比较

SX1276/7/8是一种半双工传输的低中频收发器,配备标了标准FSK和远距离扩频Lora调制解调器。该芯片可以用于超长距离的Lora扩频通信,并且抗干扰性强,同时达到低功耗要求。1、芯片关键参数对比可以看出SX1276的带宽范围为 7.8~500kHz ,扩频 因子6~12,并覆盖所有可用频段。 SX1277的带宽和频段方位与SX1276 相同,但扩频因子为6~9。。 SX1278的带宽和扩频...了解详情

LoRa学习:LoRa通信调制解调的实现原理与性能

LoRa学习:LoRa调制解调原理与性能1、LoRa调制解调器原理LoRa调制解调器采用专利扩频调制和前向纠错技术。与传统的FSK、OOK调制技术相比,LoRa扩大了无线通讯链路的覆盖范围(实现了远距离无线传输),提高了链路的鲁棒性。。开发人员可调整扩频因子和纠错率这两个参数,从而平衡通讯时的带宽占用、通信速率、空中包的存活时间、以及抗干扰性等。。LoRa调制解调器在不同参数下的性能示例 (868MHz频段):可以看出,同样带宽和编码率下,扩频因子越大,传播时间越长,则比特率越低,灵敏度也越差,同时对频率参考源稳定性要求越高,这是由于经过扩频实现数据发送的原因。LoRa调制解调器另一个重要特点是具有更强的抗干扰性。对于同信道GMSK干扰信号的抑制能力达到20dB。。凭借这么强的抗干扰性,LoRa调制系统不仅可以用于频谱使用率较高的频段,也可以用与混合通讯网络,一遍在网络中原有的调制方案失败时扩大覆盖范围。。。2、LoRa调制解调器配置SX1278的LoRa调制解调器模块图如下:通过配置寄存器RegOpMode切换LoRa/FSK调制解调器,切换可在睡眠模式下进行(芯片每次工作后默认进入睡眠模式),这样既实现了远距离调制能力,又能使用标准的FSK/OOK调制技术。。。图中还简单显示了发送和接受信息的过程。。发送数据大体为:FIFO提取Payload->组包->编码->调制接受数据大体为:解调->纠错->提取Payload->放入FIFO。其中,LoRa的 Modulater具有独立的双端口数据缓冲FIFO,并且在所有操作模式下,都可以通过SPI访问该FIFO。。了解详情

LoRa学习:LoRa进行跳频扩频通信(FHSS)的原理

FHSS,跳频扩频技术 (Frequency-Hopping Spread Spectrum)在同步、且同时的情况下,接受两端以特定型式的窄频载波来传送讯号,对于一个非特定的接受器,FHSS所产生的跳动讯号对它而言,也只算是脉冲噪声。当单个数据包时间可能超过相关法规允许的最大信道停留时间,则会用FHSS技术。。在LoRa中开启跳频模式,是操作RegHopPeriod和FreqHoppingPeri...了解详情

LoRa学习:SX127x寄存器以及FIFO数据缓存使用配置

Sx127x的LoRa调制解调器有三种数字接口:静态配置寄存器、状态寄存器、FIFO数据缓存。1、LoRa配置寄存器MCU通过SPI接口访问和配置寄存器。。Register在任何设备模式(包括睡眠模式下)均可读,但仅在睡眠和待机模式下可写。。在LoRa模式下,TLS(自动顶级定序器)不可用。。LoRa寄存器的内容在切换FSK/OOK模式下是保持的。。。2、状态寄存器状态寄存器在接收机运行过程中提供状态信息。3、FIFO数据缓存3.1 概述FIFO数据缓存是在SX127x的RAM区,共有256Byte。。该FIFO仅能通过LoRa模式访问。。FIFO的数据就是用户数据,既用于接收和发送的Payload。。FIFO只能通过SPI接口访问,其映射关系如下:这些FIFO中的数据保存最后接收操作相关的数据,除了睡眠模式之外,在其他操作模式下FIFO均可读,在切换到新的接收模式时,会自动清除旧内容。3.2 FIFO操作原理FIFO拥有双端口配置,因此可以同时缓存将要发送和接收的数据。。寄存器RegFifoTxBaseAddr内是将要发送信息的起始位置,RegFifoRxBaseAddr内是接收操作在FIFO的起始位置。。RegFifoR/TxBaseAddr默认情况,上电后RegFifoRxBaseAddr初始化为0x00,而RegFifoTxBaseAddr初始化为0x80,以保证各一半的可用内存用在Rx和Tx。。如果想让整个FIFO仅在发送或接收模式下使用,就要把上述两个BaseAddr寄存器都设为0x00。。在睡眠模式下,FIFO会被清空,因此睡眠时无法访问FIFO。。而在其他操作模式,FIFO数据则能够保存,因此也能实现数据重发机制。。。当一组新数据写入已被占用的FIFO空间时,只会覆盖这些数据,而不会清空其他数据。。设为睡眠模式才会清空。。。RegFifoAddrPtr通过SPI读写FIFO的当前数据位置是由地址指针RegFifoAddrPtr定义。。因此在进行读取或写入操作前,必须先将该指针初始化为对应的基地址。。从FIFO缓存(FegFifo)读取或写入数据后,该地址指针RegFifoAddrPtr会自动递增。。。RegRxNbBytes/RegPayloadLength接收到一组数据时,RegRxNbBytes寄存器会定义待写入数据的大小,RegPayloadLength则显示待发送数据大小(所占用的FIFO单元大小)。。在隐式Header模式下,RegRxNbBytes是无效的,因为此时Payload的长度是固定或已知的。。而在显式Header下,接受缓存区的初始空间要与所要接收的包头中携带的数据包长度一致。。RegFifoRxCurrentAddrRegFifoRxCurrentAddr显示最后接收数据包在FIFO中的存储位置,因此通过将****RegFifoAddrPtr指向RegFifoRxCurrentAddr就可以轻松读取出该数据包。。注意:即使CRC无效,接收到的数据也会写入FIFO,这样可以让用户自定义损坏数据的后续操作。另外,接收数据包时,如果数据包大小超过分配给Rx的空间,它会往下覆盖掉FIFO存储的发送数据部分。了解详情

LoRa学习:LoRa数据接受发送流程(FIFO)

1、数据发送流程在发送模式下,仅在需要发送数据包数据的时候才会启动射频、PLL和PA模块,可以减少功耗。。如下图为数据发送流程从上图可以看出,LoRa发送前一直处于待机状态,在初始化Tx模块后,将待发送数据(Payload)写入FIFO,然后切换到发送状态将数据通过LoRa调制成信号发送出去,等到发送完成后,会产生TxDone中断,同时再次切换为待机状态,完成一个发送流程。。需要注意静态配置寄存器只有在睡眠、待机模式才可写...了解详情

LoRa的带宽、频率测试

一、测试目的跳频是抵抗外部干扰和多径衰退的好方法,它将频率分成一个个单独的物理信道。LoRa无线通信也不例外,需要按频率划分信道。LoRa的中心频率和通信带宽都是可以动态设置的,本实验旨在测试带宽与信道划分的关系。二、测试方法如上图所示,用2片iWL881A通过USB转串口连接到PC机上。模块都支持shell命令,可以设置BW(带宽)和Freq(频率)。RX模块接收到数据后,通过UART打印到PC...了解详情

方案 | 经典的LoRa无线节能组网

LoRa无线通信协议的优势是距离远却能做到低功耗、但最大的不足就是传输速率慢、鉴于LoRa的长距离和低速率,数据采集器和iNode无线节点,它们可以组织成星型组网,如果保留的slot过少,需要重新分配slot。一、 典型的LoRa无线网络LoRa(Long Rang)无线通信协议是一种长距离的无线通信技术,它最大的优点是距离远(空旷距离可达15kM),同时低功耗;当然,它也有不足的地方,那就是传输...了解详情