LoRa(II) – A类装置,装置属性与入网程序

在上一篇跟我一起學 LoRa (I) – 相愛容易相處難」已經介紹過 LoRaWAN 的大概念,這裡很快做一下回顧。下圖是一個典型的 LoRaWAN 的網路架構示意圖,一個網路中有(1) 網路伺服器(2) 閘道器 (或稱基地台)(3) 終端裝置(通常是感測裝置)其中網路伺服器多由系統營運商 (operators) 負責建設,可進一步提供服務給 End User Application,或是由 (4) 應用服務商利用建設進一步發展某種產品,再提供給 (5) End User Application 使用。不過在台灣,大家是怎麼玩的我就不清楚了(有人知道的話,歡迎跟大家 share 一下)。LoRa 終端裝置的 A, B, C 三種類型,也很快地回顧一下:Class 可雙向通訊的終端裝置 (bi-directional end-devices通訊最不頻繁,最省電 (適合電池供電),但即時性也最差Class 必須至少有 A 類的功能通訊較頻繁,較耗電 (能以電池供電),即時性較好Class 必須至少有 A 類的功能通訊最頻繁,最耗電 (不適合電池供電),但即時性最好A 類終端裝置如何與伺服器通訊這篇文章要聊 A 類的裝置,所以我們先...了解详情

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~339~445~778~9
MH470.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 SX1301http://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数据包GatewaAS和N
A加密和解密应用数据NC
N控制网关和终端的RF参数NConsol
C存储终端上传和用户下发数据A
2.1 NS(Network Server,网络服务器)1个NS可以连接1个或多个Gateway,它们之间的接口协议为JSON / GWMP / UDP / IP。同样,NS可以连接1个或多个AS和NC,它们之间的接口协议为JSON / TCP / IP。NS负责RF数据包的完整性校验:上行:End NodeàGatewayàNS,它将检验RF数据包的MIC是否正确;下行:NSàGatewayàEnd Node,它将给RF数据包计算并封装MIC。为此,NS需要记录每一个End Node的如下信息:
属性位宽功能
DevEU6该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
速率(bps61324448816028750810162033
长度13612252525
在不同的通信速率下测试数据帧的长度不同,通信数据为随机数据,外加2字节的CRC16校验。以第10档为例,随机数据长度为252字节,外加2字节校验,即...了解详情

LoRa无线通信设计(二)空空距离测试

引言我们在《LoRa无线通信设计(一)原理》中解释了LoRa扩频通信带来更长的通信距离的原理http://blog.csdn.net/jiangjunjie_2005/article/details/47857259。在微功率无线通信中典型的应用场景是3种:空空距离通信:如连接湖、河、平原、山丘等自然区域的机械设备和传感器;住宅区域通信:如连接小区、工厂、商场的灯光和烟雾报警器;跨楼层通信:如连接家庭水、燃气、电、热等表计;Semtech公司号称LoRa的最大空空通信距离可达15千米,当然这是在最低速率(BW=7.8kHz, FEC=4/8,SF=4096 chips/symbol, 约1.43bps)和最佳环境(天气良好,环境适宜)下取得的成绩。毕竟1.43bps的速率除极为特殊的场合(如:像“探索者2号”之类的太空通信或军事应用)外,作用不大。今天,我们挑选一个尚能应用大部分场合的低速率(BW=62.5kHz, FEC=4/5, SF=1024 chips/symbol, 约204bps),在湘江边空旷地区进行空空距离测试。Let’s Go!一.测试地区概貌我们先用百度地图看看本次LoRa空空距离测试区域的概貌,如下图所示,将发射模块放置在起点位置,测试人员沿“长沙绕城高速”前行,分别在江西岸(1.7公里)、江中(2.4公里)、江东岸(3.2公里)和芙蓉北路(4.6公里)进行通信测试。起点与这4个测试点之间空旷,没有建筑物,是一个难得的测试场景。二.测试方法我们使用iWL881A无线通信模块(长沙市锐米通信科技有限公司,www.rimelink.com,LoRa长距离低功耗产品),设置在第4档位,使用弹簧天线。考虑通信速率比较低(约204bps),通信数据为16字节随机数据,外加2字节的CRC16校验,即通信帧总长为18字节。发射器每发送一帧数据后进入等待状态,如果接收到接收器的回应(即18字节)后,再发送下一帧数据,通过统计发送帧数目和接收帧数据,可以计算出通信成功率。接收器每接收到通信帧,闪烁LED1,表明接收到数据包;然后对16字节的数据校验CRC16,如果正确则回应18字节的数据帧,闪烁LED2灯。我们把发射器放置在湘江边高层建筑的25楼,如下图所示,拿接收器沿高速公路前行,通过观看LED灯的闪烁可以得知通信成功与否。三.测试结果在湘江西岸(1.7公里):接收器成功接收到数据帧,根据LED1和LED2同时闪烁可知,接收成功率高。湘江中(2.4公里):通信正常,LED1和LED2闪烁接近,接收成功率高。江东岸(3.2公里):有一些丢包,LED1的闪烁次数与LED2明显要多。此时,发射模块的大厦已经隐隐约约了。芙蓉北路(4.6公里):此处已经无法看到发射节点的大厦了,令人惊讶的是,接收器的LED1和LED2灯仍然闪烁,比例约为2:1,即接收成功率为50%。4.8公里处失联:继续向东,过芙蓉北路约200米,仔细测试超过5分钟,LED1和LED2没有任何闪烁,可以断定此处通信失败。看图片可知,有桥梁、树木等阻碍,足以中断微弱的信号(无线信号衰减与距离的平方成正比)。四.测试总结首先,还是证明了LoRa无线超长的通信距离,虽然我们只测试了4.6公里,这对于物联网建设已经是一个很大的应用场景。想象下,我们隔一条江就可以用无线控制对面的一个机械设备(如水泵的开关或放水闸门开关),这是一个多么节省成本和人力的方案。要知道这个微功率无线产品价格低廉,且使用的是免费无线频带,再加上它的低功耗可以方便安装在电池供电的掌机上。相反,GPRS技术硬件价格比LoRa模块高,需要到中国移动(或联通)购买一张SIM卡,每个月需要支持流量费用。另外GPRS能耗高,如果安装在便于携带的掌机上,需要价格不菲的大容量锂电池,还要经常充电。其次,不得不佩服欧美人的科研精神和信念。扩频技术理论已经有70多年了,因为调制解调技术的复杂性,一直没有应用在微功率IC上。现在,Semtech公司于2013年成功研制LoRa芯片。除去人家多年科研积累和人才,更有一种坚持不懈的精神和科技为人类服务的信念。这些,正是我们这个浮燥和功利民族学习的地方,中国人聪明,同时需要增长科学智慧。往返徒步10公里,经过3个小时的测试时间,已经到了下午1点了,饥饿侵袭,看着下图修铁路工人就餐,感受到了简单的幸福。随后,上一张湘江美景。70多年前游弋在此的是日寇的汽艇,再过5天,我们将迎来抗战胜利70周年大阅兵。无论战争还是和平年代,努力提高自身水平,提高民族竞争力,提升国力,永远都是真理。了解详情

LoRa无线通信设计(一)原理

引言1901年,古列尔默.马可尼把长波无线电信号从Cornwall(康沃尔,位于英国的西南部)跨过大西洋传送到3200公里之外的Newfoundland(加拿大的纽芬兰岛),至此人类进入了无线通信时代。100多年来,无线技术的发展为人类带来了无线电、电视、移动电话和通信卫星。近20年,最让人们深刻感受的是移动通信,手机几乎成为人们的一个器官,用它便捷接入Internet。无线通信具有一些天生优势:...了解详情