LoRaWAN介绍20 中国地区
“模块接口应该像冰山:八分之七都是位于水面以下,而你只能看到水面上的八分之一”—Steve McConnell《代码大全LoRaWAN V1.0.2有一个进步,它将核心机制和和地区无线电规范剥离开来,这样做的好处是,机制和策略分离,接口与引擎分离,实现低耦合。中国地区有2个频段可用:CN779~CN787、CN470~CN510。1 CN779~CN787该频段有一个硬伤:它的最大发射功率仅10mW(10dBm),这对于实际应用是十分有限的。2 CN470~CN510这是中国无委会规定的民用抄表频段,属于ISM免费频段。2.1 EIRP和duty cycleEIRP(最大发射功率)为50mW(17dBm);Duty cycle = 5000ms.2.2 信道范围共96个上行信道,其中6~38和45~77被国家电网使用。信道 | 0~ | 6~3 | 39~4 | 45~7 | 78~9 |
MH | 470.3~471.... |
LoRaWAN介绍19 Server开源
“UNIX很简单,但需要有一定天赋的人才能理解这种简单。”–Dennis RitchiLoRa Server是一个开源的LoRaWAN Server。它能完成Server最主要的任务:处理来自1个或多个GW的上行RF数据包,调度最优的GW回复下行RF数据包。1 整体架构很明显,LoRa Server基本遵循LoRaWAN对Server的4层架构,它们的对应关系如下。loraserver <=> NS (Network Server)lora-app-server <=> AS (Application Server)lora-controller <=> NC (Network Controller)application <=> CS (Customer Server)LoRaWAN规定GW和NS的接口协议是JSON,而本项目使用的是MQTT格式,因此它设计了一个 lora-gateway-bridge 层,它负责JSON和MQTT的转换。2 实现LoRaWAN功能2.1 支持类别Clas | 支持 | 说明 |
完全支持Class-A,NS采用poll方式从AS获取下行RF数据包,这样可以支持最低速率下最大应用数据的发送。 | ||
不支持... |
LoRaWAN介绍18 Server杂谈
“正是暗礁,让奔流激起美丽的浪花”--罗曼罗兰在LoRaWAN主流体系之外,有一些应用的经验和技巧,它包括Server和Gateway的设计和实现。1 Server和GW可以集成吗?目前,至少有2种产品是LoRa GW和Server集成在一个设备上:Semtech Starter Kit和MultiTech Conduit,它们都是基于Linux平台,综合AS、NS和GW以及DataBase(数据库)。如果只使用一个GW(满足演示或实验的需要),上述方法是可行的。如果是部署一个LoRaWAN物联网,是需要将Server和GW分离,更常见的是,一个Server连接多个GW,组建一个较大区域的无线网络。2 NS和AS可以分离吗?LoRAWAN Server主要包括:NS和AS,NS负责收发RF数据包,AS负责数据加密和解密,那么这2者可以分离吗,比如,使用A公司的NS,结合B公司AS?站在技术角度,这是完全可行的。只要NS和AS对同一End Node保持一致的Key和ID。像Loriot公司的NS,预留了API接口,可以连接第三方的AS,用于:同步Key和ID、NS <--> AS数据流等。3 NS和GW断连该怎么办?使用3G/GPRS链路的GW和NS,如果3G通信失败(没有信号等),那么GW如何缓存End Nodes上报的RF数据包呢?LoRaWAN没有指出如何处理该异常,这需要GW执行一些策略:缓存没有应答的报文,持续重连NS,一旦连接NS,马上提交所有缓存报文。如果3G/GPRS链路长时间不可使用,GW不可能,也没有必要,缓存所有RF数据包;可见,处理该异常,需要一个满足客户需要的动态策略。4 GW接收“不需要”的报文吗?设想,2家不同公司的End Nodes都在一家GW的有效通信范围,那么GW能否“拒绝”不属于本公司的End Nodes的报文吗?该GW会接收,只是当它提交给NS时,会发现该报文的DevAddr和MIC错误,因为别的公司的End Nodes没有在NS中注册。由此可见,GW只是一个“桥接器”,它不对报文做加工处理。5 使用3G/GPRS有延迟吗?有用户使用3G/GPRS连接GW和Server,发现End Node在上报后的1秒内(即RX1窗口)接收ACK失败。深入实验发现,原因在于Server通过3G/GPRS发送“下行RF数据包”超时(大于1秒)。测试经验表明,当3G/GPRS链路处于空闲时,第一个数据包的发送时间会达到300~900ms,因为3G/GPRS调制解调器与距离最近的蜂窝基站重建连接,这需要一些时间。后续的数据包发送时间小于100ms。为此,使用3G/GPRS的GW,Server和End Node需要约定RX2窗口接收下行RF数据包,该窗口有2秒的周期,可以有效应对蜂窝链路重建延迟。6 Server如何实现ADR?ADR(Adaptive Data Rate,速率自适应)是LoRaWAN的核心技术之一,End Nodes的空中速率都是由Server自动控制的。那么,Server如何计算ADR呢?LoRaWAN Server一般将ADR算法设计成一个模块,通过提供目标需求(如:吞吐率、稳定性或2者折中。。。),该算法模块结合End Node的历史经验数据(RSSI / SNR / demodulation margin/ 。。。)计算最佳空中速率。7 8个SX127x能否代替SX1301?网络上有太多的主意:能否使用8个SX127x(如:使用DVB-T设备连接)来取代SX1301,实现一个便宜的LoRaWAN Gateway呢?小心!这是一个甜蜜的陷阱,看上去很美好,实际上会深陷泥淖。多个LoRa收发器 != LoRaWAN多通道网关LoRaWAN的无线电通信依赖SX1301基带芯片,它可以看作是:DSP+2xMCU的ASIC。正因为它强大的调制和解调能力,才能实现多通道,多速率,同时解析;还能实现天线分集。更多资料请参考《LoRaWAN介绍13 SX1301》http://blog.csdn.net/jiangjunjie_2005/article/details/54603122多个LoRa收发器的方案,在技术上就存在诸多困难:如果实现多速率同时接收?如果实现天线分集?商业上,真值得这么做吗?SX1301昂贵和封闭,是市场处于导入期,没有上量;一旦LoRaWAN规模部署,芯片的成本往往下降很快。了解详情LoRaWAN介绍17 Server接口
“这样,我的约就立在你们肉体上,作永远的约。”–《圣经.创世纪LoRaWAN规定Server和Gateway的协议为 JSON / GWMP / UDP / IP,底下的2层协议属于IP协议栈,而GWMP和JSON融入LoRaWAN的特点。1 NS和GW协议栈GWMP(LoRa Gateway Message Protocol)如下表所示,包括3个交互协议:PUSH_DATA <–> PUSH_ACK:GW向NS提交上行RF数据包;PULL_RESP <–> TX_ACK:NS向GW提交下行RF数据包;PULL_DATA <–> PULL_ACK:GW向NS发送“心跳”以打开防火墙;2 GWMP时序和格式2.1 PUSH_DATAPUSH_DATA:GW向NS发送上行RF数据包,EUI用于区分不同的GW(一个NS可以连接多个GW),tocken用于区分不同的数据包(一般为自加一)。PUSH_ACK:NS回应GW—成功接收该DATA数据包。PUSH_DATA帧格式如下表,它的总长度≤2408字节。PUSH_ACK帐格式如下表2.2 PULL_RESPPULL_RESP:NS向GW发送下行RF数据包,tocken用于区分不同的数据包(一般为自加一)。TX_ACK:GW回应NS—成功接收该RESP数据包。PULL_RESP帧格式如下表,它的总长度≤1000字节。TX_ACK帐格式如下表。特别注意:仅当V2版本才回应该帧。2.3 PULL_DATAPULL_DATA:GW向NS发送“心跳”数据包,EUI用于区分不同的GW(一个NS可以连接多个GW),tocken用于区分不同的数据包(一般为自加一)。PULL_ACK:NS回应GW—成功接收该“心跳”数据包。PULL_DATA帧格式如下表。特别注意:“心跳”数据包的内容为空。PULL_ACK帧格式如下表。3 JSON协议LoRaWAN使用JSON作为通用数据交换格式,并且JSON仅包含ASCII字符。目前,JSON协议包括3部分定义:GW状态,上行数据,下行数据。3.1 GW状态Server可以取GW的状态,它的组织形式和定义如下例所示。“stat”:{“time”:”2016-11-15 09:27:35 GMT”, /* UTC system time of the gateway */“lati”:28.3100, /*latitude */“long”:113.15130, /*longitude */“alti”:134, /*altitude */“rxnb”:20, /* numberof RF frames have received */“rxok”:20, /* numberof RF frames with correct CRC */“rxfw”:20, /* numberof RF frames forwarded to the NS */“ackr”:100.0 /* 100%of RF frames ACKed by the NS */“dwnb”:20, /* numberos RF frames RX from NS */“txnb”:20 /* numberof RF frames TX by gateway */}3.2 上行数据GW提交给NS的上行数据,基于JSON组织如下例所示。“rxpk”[{“time”:”2016-11-15T09:35:17.145359Z”, /* UTC time of receipt of the LoRa frame */“tmst”:3526705714, /*gateway internal time counter */“chan”:0, /* IFchannel=IF0 */“rfch”:0, /* RFchain=Radio A */“freq”:469.87500, /*centre frequency=469.875MHz */“stat”:1, /* 1=CRCcorrect */“modu”:”LORA”,/* modulation is LoRa */“datr”:”SF9BW125″,/* SF=9, BW=125kHz */“codr”:”4/5″,/* FEC code rate=4/5 */“rssi”:-13, /*RSSI=-13dBm */“lsnr”:5.6, /*SNR=5.6 */“size”:12, /* numberof octets=12 */“data”:”rqyo15LfOP4J” /* data that encoded into Base64 */}]3.3 下行数据NS提交给GW的下行数据,基于JSON组织如下例所示。“txpk”{“imme”:true, /*transmit the frame immediately */“freq”:470.125000, /*centre frequency=470.125MHz */“rfch”:0, /* RFchain=Radio A */“powe”:17, /* outputpower=17dBm */“modu”:”LORA”,/* modulation is LoRa */“datr”:”SF9BW125″,/* SF=9, BW=125kHz */“codr”:”4/5″,/* FEC code rate=4/5 */“ipol”:false, /* doNOT invert the polarity of the transmitted bits */“size”:10, /* numberof octets=10 */“data”:”1Jr8PdOdN5″ /* data that encoded into Base64 */}了解详情LoRaWAN介绍16 Server分类
“软件构建的核心就是管理复杂度”–SteveMcConnell《代码大全在《LoRaWAN介绍2架构》中提到:LoRaWAN的重点和难点–LoRaWAN Serverhttp://blog.csdn.net/jiangjunjie_2005/article/details/54134636“分而治之”是人们降低复杂度的有效方法,LoRaWAN Server很娴熟地运用了该技巧,它将Server分成4种角色。1 服务器框架阅读《InterconnectingSmart Objects with IP》会发现,该书籍的作者极力推荐使用IPv6将智能设备互联,构建一个物联网。目前,更可行的物联网方案是:将智能设备连接到Internet。这样,基于已有的互联网,无论是经济上,还是技术上,都性价比更高。另外,大部分智能设备的计算能力和电能都不适合IPv6的协议栈运行。看到下面LoRaWAN的架构,它是基于Internet建设物联网,Gateway是IP设备(运行IP协议栈),而End Node运行的是LoRaMac-node(没有运行IP协议栈)。LoRaWAN Server共有4种角色,包括:NS(Network Server,网络服务器)、AS(Application Server,应用服务器)、NC(Network Controller,网络控制服务器)和CS(Customer Server,客户服务器)。2 各角色功能4种Server的功能如下表所示。Serve | 功能 | 下游设备 | 上游设备 |
N | 连接网关,收发RF数据包 | Gatewa | AS和N |
A | 加密和解密应用数据 | N | C |
N | 控制网关和终端的RF参数 | N | Consol |
C | 存储终端上传和用户下发数据 | A |
属性 | 位宽 | 功能 |
DevEU | 6 | 该End Node全局唯一标识码... |
如何使用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年的电池寿命的物联网连接解决方案。了解详情LoRaWAN介绍15 终端设计
“大自然和智慧在任何事物上都不存在分岐”–玉外纳因为应用在广阔的行业内,在传感器、执行器、供电、通信延时等不同的要求,让LoRaWAN的End Node呈现种类繁多的形态。同时,80%的共性还是存在的,包括:整体架构、LoRaWAN协议栈、软件开发模式等。1 整体架构一般说来,一个End Node硬件包括以下四部分:MCU:实现LoRaWAN协议栈、控制LoRa射频、驱动外设和实现应用程序;LoRa radio:实现LoRa信号接收与发送;外设:驱动传感器、控制I/O端口等;供电:通过电池或市电给整个系统提供电源。一个End Node的软件包括:驱动层:主要是驱动总线,从而与LoRa射频、传感器和执行器通信;中间件:包括LoRaWAN协议栈和能耗管理;应用层:满足用户的业务需求,如采集数据并初步加工,定时上传等。2 产品方案设计一个End Node至少有3种方案:chipset、module和modem。2.1 Chipset硬件:选购一款低功耗的MCU,采购SX127x射频芯片,设计RF电路,实现PCB,调试天线和射频匹配,连接传感器或执行器。软件:MCU实现LoRaWAN协议栈,控制SX127x射频电路,驱动外设,实现用户应用。优点:取得最大灵活性,硬件成本可控。缺点:难度大,周期长,研发和测试成本高。2.2 Module硬件:连接传感器或执行器。软件:MCU实现LoRaWAN协议栈,驱动外设,实现用户应用。优点:省去硬件设计,有成熟的开发与测试平台。缺点:自行实现LoRaWAN,软件方面有挑战。2.3 Modem硬件:选购一款低功耗MCU,通过UART(或SPI等)连接LoRa Modem,连接传感器或执行器。软件:MCU控制LoRa Modem,驱动外设,实现用户应用。优点:难度小,时间短,研发和测试成本低。缺点:硬件成本高,LoRaWAN协议栈升级依赖厂商。针对上面三种方案,一个EndNode该如何选择呢?这依赖下表的因素。3 软件开发一个End Node的软件开发依赖上述三种方案的选择:Chipset:根据MCU选择合适的IDE(如:IAR或Keil等),是否需要移植OS,移植官方的LoRaWAN协议栈,可以从以下链接获取官方源代码:https://github.com/LoRa-net/LoRaMac-nodeModule:一般而言,供应商提供IDE、OS等平台,用户需要实现或管理LoRaWAN。Modem:这是难度最小的方案,根据Modem提供的命令集,初始化LoRaWAN协议栈,读取和发送数据包。4 选择天线工作在470MHz(中国地区)的End Node,1/4波长的天线约16.0cm。有3种可选的天线方案。专用OEM天线:设计专用的天线可以达到最佳的发射功率和接收灵敏度,然而,这需要一个高品质的天线厂商,成本较高。PCB天线:对覆铜的要求高,走线的曲直和宽窄都影响天线的性能。1/4波长天线:实现简单,但容易因天线长度和绕线而引入个体误差,在使用中需要保证天线外形稳定,否则会影响性能。5 降低功耗节能是一个细致功夫,它包括:MCU选型、电路设计、管脚控制、工作模式、开关外设和软件算法等。考察一个End Node的功耗,至少需要了解以下5种模式的功耗和占空比(该模式占用多长的时间)。休眠:MCU,RF和外设都关闭,一般仅RTC工作;空闲:除MCU外,其他都关闭;运行:除RF外,其他(包括MCU和外设)运行;接收:侦听或接收一个数据包;发射:发射一个数据包;关于节能更多资料请链接:http://www.rimelink.com/nd.jsp?id=53&_np=107_3166 固件升级以下2个原因限制了通过LoRa无线升级End Node的固件:LoRa速率低,并且ISM频段有duty cycle法规,不适合传输较大的数据块;每个End Node有2个Key(NwkSKey和AppSKey)的密钥,除非它们的Key都相同,否则无法组播(或广播)升级固件。可见,固件的升级还是依赖厂商使用特殊的工具,如:通过UART或USB升级,通过蓝牙或红外升级等。了解详情LoRaWAN介绍14 终端类别
“蚂蚁是无力之类,却在夏天豫备粮食。沙番是软弱之类,却在磐石中造房。”–《旧·箴不同的应用场景需要不同的技术条件,LoRaWAN一开始就将End Nodes分成3类,它们在电池寿命和唤醒延时上各有千秋。这是明智的,可以根据应用选择最佳的类别。1 三类终端的特点Clas | 属性 | 供电 | 节能 | 下行通信延时 |
sensor | 电池-有限 | 最佳 | 大,仅当终端上报时 | |
actuator | 电池-有限 | 较好 | 小,延时可调节 | |
actuator... |
LoRaWAN介绍13 SX1301
“要以坦克为核心组织部队,而不是以步兵为核心。”--古德里安如果说LoRaWAN是闪电战,那么SX1301就是坦克,前者是建立在后者的基础上。SX1301是基于LoRa调制的基带芯片,它的目标是为广域范围的众多无线节点提供健壮的星型基站。SX1301有一些关键的技术特征:高达-142.5dBm的接收灵敏度、49个LoRa“虚拟”通道和ADR技术。1 整体结构如下图所示,SX1301一般外接2片SX...了解详情LoRa组网案例5:无线电表,唤醒+总线
案例背景某用电采集系统,为减少布线和施工的代价,计划使用无线采集方案。在方圆1km的区域,连接400块电表。基于国网电表通信协议,响应时间要求小于10秒。需要和某电表通信时先广播该电表号和请求命令,约20字节;对应表号的电表根据命令发送回复帧,约100字节;非该表号的电表不予回应。通信拓扑如下图所示提取需求因素 | 指标 |
距离 | 1000米,墙壁、门等会造成信号衰减 |
带宽 | 纯负载带宽:(20 * 8 + 100 * ... |
LoRa组网案例4:无线水表,上报+唤醒
案例背景水表无线集抄具备很多好处:容易施工、缴费便捷、方便查询等。长期以来困扰该方案的是,既要长距离通信,又要低功耗以延长电池使用寿命。现在,LoRa无线可以解决该难题。以32层高,每层4户为例,集抄128支水表;每15分钟抄读约10字节用水数据;10秒内能控制任意表计开阀(2字节,欠费停水,续费使用)。提取需求因素 | 指标 |
距离 | 层高可达32楼,墙壁和门等会造成信号衰减 |
带宽 | 纯负载带宽:(128 * 10 * 8... |
LoRa组网案例3:智能温控,上报+唤醒
案例背景舒适的温度可以提高人们的工作效率,一般办公楼都配置中央空调,如此一来,一方面保证温度合适,另一方面需要节能减排。可以设计一个智能温控系统,在办公区域布置100个温湿度传感器,温湿度值为8字节,每5分钟自动调节中央空调的温控功率。提取需求因素 | 指标 |
距离 | 方圆500米,层高可达36楼,墙壁和门等会造成信号衰减 |
带宽 | 纯负载带宽:(100 * 8 * 8 + 10 *8) bit / (5 * 60) s =2... |
LoRa组网案例2:控制路灯,唤醒下发
案例背景现代城市,一般在马路的两侧每30米布置一盏路灯,对路灯的控制包括开关:灵活地对“全部 / 部分 / 单盏”路灯进行开启和关闭;策略:根据昼夜长短、天色亮暗、车行人多寡和节假日,调节亮度。上述控制数据不超过10字节,要求在5秒钟内路灯做出响应,单个子网覆盖6km。提取需求因素 | 指标 |
距离 | 3000米,城市高楼会造成信号衰减 |
带宽 | 纯负载带宽:(10 * 8bit) / 5s=16bps,属于超低带宽要求 |
功耗 | 严格,路灯有市电供应,但数量庞大,节能意义十分重大... |
LoRa组网案例1:温度采集,主动上报
案例背景一方圆500米的冶炼厂,需要将窑温控制在1200摄氏度,为此设计一个自动测温与添料系统:布置100个温度监测点,温度值为4字节,每5分钟采集一轮,电池供电。使用无线系统将温度值传输到服务器,计算并控制添加燃料的数量。提取需求因素 | 指标 |
距离 | 约500米,有少许障碍物,有电磁干扰 |
带宽 | 纯负载带宽:(100 * 4 * 8bit) / (5 * 60s)=11bps,属于超低带宽要求 |
功耗 | 苛刻,电池供电,非采集时段要求休眠节能... |
LoRa无线通信设计(三)小区环境测试
引言我们在《LoRa无线通信设计(一)原理》中解释了LoRa扩频通信带来更长的通信距离的原理http://blog.csdn.net/jiangjunjie_2005/article/details/47857259。在微功率无线通信中典型的应用场景是3种:空空距离通信:如连接湖、河、平原、山丘等自然区域的机械设备和传感器;住宅区域通信:如连接小区、工厂、商场的灯光和烟雾报警器等;跨楼层通信:如连接家庭水、燃气、电、热等表计;在小区环境通信中,无线电信号会受到高层建筑物的阻碍,无法做到直线传播。当绕射的信号到达接收器时比较微弱,需要接收灵敏度高的机制才能保证通信。LoRa通信距离远,抗干扰能力强,那么它在一个住宅小区里的通信性能如何呢?我们一起看看小区测试情况。一.测试小区我们挑选了一个成熟的小区,该小区有5334户,高层建筑(18层和32层)有64栋,容积率3.95(密度较大)。该小区的实景图如下:二.测试方法我们使用iWL881A无线通信模块进行测试,该产品由长沙市锐米通信科技有限公司研制,www.rimelink.com,属于LoRa长距离低功耗产品,实物图片如下。有想了解该产品低功耗特性的朋友,请参考博文:http://blog.csdn.net/jiangjunjie_2005/article/details/47700597iWL881A共支持10个档位,每个档位的速率如下表:档位 | 1 | |||||||||
速率(bps | 6 | 13 | 24 | 44 | 88 | 160 | 287 | 508 | 1016 | 2033 |
长度 | 1 | 3 | 6 | 12 | 25 | 25 | 25 |