动手演练:通过LoRaWAN将数据从节点发布到后端服务器

在本视频教程中,Andri向我们介绍了利用LoRaWAN协议的LoRa通信的用例。 我们将学习如何通过网关从节点到后端发布数据。使用的节点是通过Raspberry Pi Hat网关运行的ESP8266微控制器和RFM95W LoRa收发器。 数据被发布到云中的服务器。马上享受快乐动手实验吧相关资料使用https://github.com/andriyadi/single_chan_pkt_fwdhttp://cloud.makestro.com上的云软件,以及如何准备使用的硬件。RFM95W收发器:http://www.hoperf.com/rf_transceiver/lora/RFM95W.htmlESP8266微控制器:https://shop.makestro.com/product/espectro-core/LoRa Raspberry Pi Hat:https://shop.makestro.com/product/lora-arduino-raspberry-pi-hat/学习小组招募:喜欢动手的程序猿们喜大普奔时刻来临了!来临了!来临了!来自安爵士亲手制作的有关LoRa网关、终端等硬件开发系列学习视频登陆LoRa学习站,英文好的同学们可以先睹为快了,如果你英文足够好,又有兴趣参与LoRa学习资料翻译组,欢迎注册我们的网站会员并留言“加入学习视频翻译”。了解详情

LoRa无线技术在物联网中的应用

LoRa是低功耗广域网通信技术中的一种,是物理层或无线调制用于建立长距离通信链路。许多传统的无线系统使用频移键控(FSK)调制作为物理层,因为它是一种实现低功耗的非常有效的调制。LoRa是基于线性调频扩频调制,它保持了像FSK调制相同的低功耗特性,但明显地增加了通信距离。LoRa的优势在于技术方面的长距离能力。单个网关或基站可以覆盖整个城市或数百平方公里范围。在一个给定的位置,距离在很大程度上取决...了解详情

LoRa路测(二):山区测试

在上一篇文章中,AUGTEK介绍了城市路由网关在城市密集区的测试:通过在建筑密集的城区布置一台网关就可以很好地覆盖半径5KM左右的城区,为该区域的智慧城市业务提供基础网络。今天AUGTEK继续放大招,带您看AUGTEK 网关在山区的覆盖效果到底如何! 这一次,我们的测试地点是重庆某AAAAA级风景区。高山峡谷,峦峰林海,大家随意感受下。在这样地形复杂的山区环境中,网络覆盖是比较棘手的问题,运营商网络虽能大致覆盖,但盲区多、局部弱覆盖、信号不稳定等问题仍无法忽视。此次测试的路线由客户规划,路线所在区域为运营商网络信号覆盖薄弱区,无线通讯困难,其他无线通讯难以覆盖,故客户拟采用LoRa技术进行测试。测试地实景图AUGTEK为测试高山、峡谷、多弯道以及多障碍物遮挡情况下AUGTEK网关的覆盖效果、信号质量及传输距离,在重庆山区展开了我们的测试。测试地带海拔约为1100m-1500m、地形复杂(可见如下等高图),可以很好的模拟部分山区应用场景, 为一些特殊环境的应用如森林防火、智慧农业、智慧林业、山区人员定位等提供一定的参考。测试地等高图AUGTEK的小伙伴经过实地考察后,将AUGTEK第一代网关架设在约1400m的山头铁塔上。其中蓝色星星代表网关架设地,蓝色线条表示测试路线。由于部分道路不通,AUGTEK小伙伴手持移动测试终端在部分路段乘坐汽车测试,在部分路段步行测试,故而测试点密集程度不一,分布情况不规律。本次测试网关发射功率为17dBm(50mW),SF值为12。测试路线图手持式移动测试终端内含Genie 模块与GPS定位模块,通电开启后即可在屏幕上显示信号强度(RSSI)、信噪比(SNR)和GPS坐标等数据。我们的测试小伙伴兵分几路,沿着规划好的路线一路测试。AUGTEK的测试工程师将回传的数据进行整合处理,可以得到如下的信号强度覆盖图,其中蓝色星星为网关架设地,红色散点为测试点,标签为各散点的RSSI值。对本次试点信号进行统计,有 83.5%的采样点信号均大于-130dBm,可知由于LoRa有着极低的接受灵敏度,即使在如此恶劣的环境下(其他传统的无线技术已经无法通讯),AUGTEK的无线传输方案也能较好的对其覆盖,并能稳定工作,满足客户数据采集等通讯需要。RSSI覆盖图及统计图AUGTEK网关在高山、峡谷地形的衍射、反射能力较强,覆盖效果良好。在多网关部署的情况下,对盲区会有很好补充覆盖效果。即使在山区,AUGTEK网关的平均覆盖距离也能保障在5KM左右。AUGTEK EVK开发套件正在热销中,详情可见AUGTEK网上商城或在菜单栏【产品资料】联系我们。AUGTEK致力于为贵公司提供运营商级别的LPWAN全套解决方案与LoRa产品。了解详情

LoRa路测(一):城市密集区测试

路测(Drive Test,DT)是无线网络优化的重要组成部分,是通信行业中对道路无线信号的一种最常用的测试方法。为提高测试效率,一般测试人员都是坐在汽车中,用专业的测试仪表对整个路段进行测试。AUGTEK的路测小伙伴选取了国内比较典型的一些场景:住宅小区(城市密集区)、郊区、山区来进行测试,向大家展示不同环境下LoRa技术的覆盖效果。在本文中,我们使用手持式移动测试工具,在南京市一成熟小区(城市...了解详情

低功耗广域网(LPWAN)中的LoRa连接

在中国低功耗广域网(LPWAN)市场中,LoRa和NB-IoT无疑是最热门的LPWAN无线技术。LoRa工作在免授权的Sub-Ghz频段上,受益于其免费的频谱资源,企业都可以参与到LoRa的产品应用和网络的建设。Wi-Fi、蓝牙等近距离无线通信技术无法满足物联网的大规模部署,以ZigBee等为代表WSN网络虽是可以低成本低功耗接入,但目前还形成不了广域的覆盖和部署,也还限于小范围的应用。移动网络虽...了解详情

一文看懂NB-IoT所有猫腻:华为如此青睐的原因?

前言上月16号, NB-IoT(Narrow Band Internet of Things,窄带蜂窝物联网)作为3GPP R13一项重要课题,其对应的3GPP协议相关内容获得了RAN全会批准,正式宣告了这项受无线产业广泛支持的NB-IoT标准核心协议历经2年多的研究终于经全部完成。华为也在今年的世界移动大会物联网峰会上正式面向全球发布了端到端NB-IoT解决方案,使物联网成为运营商未来的基础类业...了解详情

无线通讯LoRa—SX1278芯片开发笔记

1、资源搜集Datasheet 和驱动源码从Semtech官网下载最新驱动代码http://www.semtech.com/apps/filedown/down.php?file=sx12xxDrivers-V2.1.0.zipDatasheet我上传了资源,中文版和英文版都有,还带了笔记的http://download.csdn.net/detail/csdn_logo/95607682、过一遍Datasheet,过之前必须对一些英文缩写有些了解,不然会要到处翻专业术语及其缩写:FHSS 跳频扩频技术 FIFO 先进先出队列,这里代表队列寄存器PA 功率放大器 LNA 低噪声放大器SNR 信噪比 SF 扩频因子PLL 锁相环 CAD 信道活动检测CR 编码率 BW 带宽RS符号速率 Preamble 序头。。。重要参数:扩频因子 RegModulationCfg因为不同扩频因子(SpreadingFactor)之间为正交关系,因此必须提前获知链路发送端和接收端的扩频因子。另外,还必须获知接收机输入端的信噪比。在负信噪比条件下信号也能正常接收,这改善了LoRa接收机的灵敏度、链路预算及覆盖范围。注:SF=6 时必须用ImplicitHeader 模式循环纠错编码cyclic error coding信号带宽Bandwidth较低频段(169 MHz)不支持250kHz和500kHz的带宽数据包结构序头preamble 报头 header (可配) 数据段 payload 校验码CRC对于希望前导码是固定开销的情况,可以将前导码寄存器长度设置在6到65536之间来改变发送前导码长度,实际发送前导码的长度范围为6+4至65535+4个符号。这样几乎就可以发送任意长的前导码序列。接收机会定期执行前导码检测。因此,接收机的前导码长度应与发射机一致。如果前导码长度为未知或可能会发生变化,应将接收机的前导码长度设置为最大值。报头分显示报头模式和隐式报头模式低数据速率优化LowDataRateOptimize当单个符号传输时间超过16毫秒时,必须使用LowDataRateOptimize位。注意:发射机和接收机的LowDataRateOptimize位设置必须一致。有效负载 payload其实就是数据段,即你要发或者要收的数据数字寄存器和 数字I/O寄存器113个,数字I/O也有6个,太多了,具体见Datasheet操作模式 OpMode3、分析驱动源码解压后打开doc下的README.txt找到关于sx1276的相关说明如下:2.1.3 SX1276 driver version V2.1.0——————————————————————————-The SX1276 driver is split in 4 parts (驱动源码包含如下四个部分)1. Generic SX1276 driver. 驱动调用接口( src\radio\SX1276.c )2. SX1272 FSK modem driver. FSK调制模式用( src\radio\SX1276-Fsk.c andsrc\radio\SX1276-FskMisc.c )3. SX1272 LoRa modem driver. LoRa调制模式用( src\radio\SX1276-LoRa.cand src\radio\SX1276-LoRaMisc.c )4. SX1276 HAL ( Hardware Abstraction Layer ). 硬件抽象层(src\platform\sx12xxEiger\SX1276-Hal.c )1. The generic SX1276 driver implements atleast the functions required bythe RadioDriver structure defined in src\radio\radio.h file. It offersalsothe same interface for the FSK or the LoRa modem.Inorder to choose which modem to use one must modify the src\radio\radio.hfile as follows:-For FSK modem#define LORA 0-For LoRa modem#define LORA 12. FSK调制的可以跳过不看3. The LoRa modem driver handles the SX1276as a LoRa modemInorder to change generic LoRa modem settings one must modify the followingparameters in file src\radio\SX1276-LoRa.c (LoRa模式初始化参数配置的结构体)tLoRaSettings LoRaSettings ={870000000, // RFFrequency 收发频率20, // Power 发射功率8, // SignalBw [0: 7.8kHz, 1: 10.4 kHz, 2: 15.6 kHz, 3: 20.8 kHz, 4: 31.2 kHz, 带宽// 5: 41.6 kHz, 6: 62.5 kHz, 7: 125 kHz, 8:250 kHz, 9: 500 kHz, other: Reserved]7, // SpreadingFactor [6:64, 7: 128, 8: 256, 9: 512, 扩频因子// 10: 1024, 11: 2048, 12:4096 chips]2, // ErrorCoding [1:4/5, 2: 4/6, 3: 4/7, 4: 4/8] 循环纠错编码true, // CrcOn CRC校验false, // ImplicitHeaderOn 序头模式1, // RxSingleOn 接收模式中的single模式开关 0代表continue模式0, // FreqHopOn 跳频开关4, // HopPeriod 跳频周期100, // TxPacketTimeout 发送超时时间100, // RxPacketTimeout 接收超时时间4 // PayloadLength 负载数据长度};4. The HAL makes the SX1276 driver platformindependent.One must modify each function inside this file(src\platform\sx12xxEiger\SX1272-Hal.c ) according to the platform used.(根据硬件平台修改硬件抽象层)3. How to use the driver:——————————————————————————-This driver has been tested for high speedtransmission (up to 100kbps in FSK)and long payloads (up to 255 bytes in FSK or LoRa). To set a transmission /reception, it is necessary to:-Change the payload lengthThe payload length for the system isdefined with the parameter BUFFER_SIZElocated in main.c#define BUFFER_SIZE 128 // Definethe payload // size hereThe payload length can be configured from 1up to 2554、用例自己定义一个函数用来动态的初始化芯片staticvoidRFInit(){Radio->LoRaSetOpMode(RFLR_OPMODE_STANDBY);//settheRFsettingsRadio->LoRaSetPa20dBm(false);Radio->LoRaSetRFPower(5);Radio->LoRaSetSpreadingFactor(7);//SF6onlyoperatesinimplicitheadermode.Radio->LoRaSetErrorCoding(1);Radio->LoRaSetPacketCrcOn(0);Radio->LoRaSetSignalBandwidth(7);Radio->LoRaSetImplicitHeaderOn(0);Radio->LoRaSetSymbTimeout(0x3FF);Radio->LoRaSetPayloadLength(128);Radio->LoRaSetLowDatarateOptimize(true);Radio->LoRaSetFreqHopOn(false);Radio->LoRaSetRxSingleOn(true);Radio->LoRaSetPreambleLength(6);Radio->LoRaSetOpMode(RFLR_OPMODE_STANDBY);}通过RF发送数据的发送函数,主要用于收发异频,收发异频能减少干扰INT8URFWrite(INT8U*buff,INT8Usize,INT32Ufreq){Radio->LoRaSetRFFrequency(freq);//478750000DownChannel[10]Radio->SetTxPacket(buff,size);while(Radio->Process()!=RF_TX_DONE);returnsize;}通过RF接收数据的接收函数INT8URFRead(INT8U*buff,INT32Ufreq,INT8Utimeout){uint32_tresult;INT16URxLen;Radio->LoRaSetRFFrequency(freq);Radio->LoRaSetRxPacketTimeout(timeout*1500);//1s=1500Radio->StartRx();while(1){result=Radio->Process();///SX1276LoRaProcessif((result==RF_RX_DONE)||(result==RF_RX_TIMEOUT)){break;}}if(result==RF_RX_DONE)//RFBuffer{Radio->GetRxPacket(buff,&RxLen);returnRxLen;}else{return0;}}了解详情

LoRaWAN版本历史及协议格式说明

译文参考翻译原文链接LoRaWAN 规范 1.0 (章节2~4)LoRaWAN 规范 1.0 (章节5)LoRaWAN 规范 1.0 (章节6)LoRaWAN 规范 1.0 (章节7)LoRaWAN 规范 1.0 (章节10~13)英文文档下载链接LoRaWAN1.0.1_d3LoRaWAN Specification 1R0LoRaWAN1.0.2第7章物理层(Physical layer)的内容放到另一个文档LoRaWAN Regional Parameters修正章节4.3.1.1中与ADR相关的错误描述(要写成ADR_ACK_LIMT而不是ADR_ACK_DELAY)修正章节18.2标题错误(1.0.1中是19.2)增加MAC命令DlChannelRec,该命令用来修改节点下行频率增加MAC命令Tx ParamSetupRec,此命令用来远程修改某些区域中节点的最大TX驻留时间和最大无线电发射功率终端设备能够处理多个ADRreq命令(章节5.2)明确AppKey定义LoRaWAN1.0.1_d3该版本是一些bug修复,协议本身没有什么改动。阅读中文翻译的朋友可以略过大部分改动,因为这些在翻译过程中已经处理了。变化如下:明确 RX 窗口开启时间修正 章节NA 中 DR2 负载大小上限修正 7.2.2 中的拼写错误对 7.2.2 中使用码率 4/5 提出新的规定,以保证无线传输时间 < 400ms修正 6.2.5 中的JoinAccept MIC算法5.2 中的 字段名由 NbRep 改为 NbTrans删掉4.3.3.2,排除 MAC层不对应用数据(Applicative payload)加密的情况。出于应用对安全的进一步要求,不管用什么算法,需要对payload加密(这里无关LoRaWAN协议,跟个人安全有关),然后再使用LoRaWAN中的算法在MAC层再次加密。修正 FHDR 相关错别字修正 7.2.5 中 chMaskCntl 等于6或7时 ChMask 对信道的影响。说明 JoinResp 消息中 RX1 的数据速率偏移删除 7.2.7 中 DRoffset表的下半部分。LoRaWAN Specification 1R0初始版本协议格式整理整个协议包括LoRa和网关交互部分,服务器只需要带颜色的数据。最近有不少朋友对PHYPayload还是搞不清,再分享两张图片,把整个流程都分享给大家1 入网激活2 接收入网3 正常通信本文由 qingchuwudi 整理、译制,除非另有声明,本作品采用知识共享署名 3.0 中国大陆许可协议进行许可。了解详情

漫画说:NB-IoT背后一个大家都在说的LoRa是什么?

Hi各位,我知道你一定等iot101漫画君好久了上周的漫画我们普及了低功耗广域网络(LPWAN)里最火爆的NB-IoT协议,好多网友直呼过瘾(虽然好多数据出现错误,捂脸),阅读量也暴增到8w+,戳此处回顾:《一幅漫画告诉你:除了WiFi,蓝牙,最近火爆的NB-IoT能干嘛?鉴于反馈良好,iot101漫画君心情极佳,今天放出Lora宝宝的普及故事PS.其实关于LPWAN的故事,真的不是几篇漫画...了解详情

利用DEMO系统 评估LoRa终端与网关

一. 系统意义为帮助客户有效评估LoRa终端http://www.rimelink.com/pd.jsp?id=2)和网关(http://www.rimelink.com/pd.jsp?id=14),我们设计一个DEMO板,该DEMO板需要满足:简单易用,成本低廉,稳定可靠,开放设计资料(免费下载源代码:http://www.rimelink.com/nd.jsp?id=38&_np=105_315)。达到:1. 帮助用户与LoRa终端硬件接线;2. 帮助用户与LoRa终端解析软件协议帧;3. 有效评估LoRa终端的性能(通信距离、能耗等)和LoRa网关功能。如此一来,客户可以快速搭建一个物联网系统,该系统如下图所示,可以将温湿度采集到云服务器,通过智能手机查看。二. 产品框架DEMO板的整体框架如下图所示,MCU选用STM8L151C8T6,达到开发和采购低成本;温湿度传感器选用SHT10,它的成本较低;电池盒安装2节AAA干电池,贴片方式焊接在电路板上;miniUSB接口方便接入5V供电;2.0mm圆孔8芯排座用于安装LoRa终端。三. 硬件设计四. 软件设计1. 软件开发环境开发语言为ASNI C,IDE为IAR for STM8,为降低复杂度没有使用操作系统。2.Demo系统逻辑Demo系统的主程序逻辑如上图所示,非常简洁,基于最简单的软件结构:while(1)无限循环。经过实测:Demo系统采集SHT10的12位湿度约用时62毫秒,采集14位温度约用时216毫秒。用户每3秒采集一次温湿度数据,再传输给RNDU470T。3. UART驱动时序RNDU470T是超低功耗产品,它大部分时间都处于休眠状态,因此Demo系统需要“唤醒”RNDU470T才能发送UART数据帧;同理,考虑Demo系统也可能处于休眠状态,RNDU470T在发送UART数据帧也通过信号线“唤醒”用户系统。具体时序请查看《锐米LoRa终端说明书》。如下图所示,当Demo系统发送UART数据帧时,先置高P7引脚,然后启动UART端口发送序列,当发送结束时再拉低P7引脚;置高P7引脚(T0时刻)与启动UART端口发送(T1时刻)有一个延时Tx prepare time,它的最小值为100微秒。4. UART通信帧解析算法RNDU470T的UART通信帧格式如下图所示,它是变长数据帧,帧具体的定义请参考《锐米LoRa终端说明书》。为简化系统设计,我们强烈建议您采用“状态机”来解析该UART数据帧,并且把解析工作放在ISR(中断服务程序)完成,仅当接收到最后一个字节(0x0D)时,再将整个数据帧提交给进程(Demo系统为main程序)处理。该解析状态机的原理如下图所示:5. 代码工程整个工程文件如下图所示:main.c:Demo系统的整体逻辑代码;SHT7x.c/.h:SHT10驱动代码;stm8l15x_it.c/.h:MCU中断服务程序注册文件timer.c/.h:定时器驱动代码;uart.c/.h:UART驱动代码。Project下存放基于IAR开发环境的工程文件;STM8L15x_StdPeriph_Driver:ST公司官方驱动库文件。了解详情

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

广州市电子信息学校物联网通信应用专业介绍

通信技术 —— 物联网通信应用方向什么是物联网?以智能家居为例,家里的灯光、冰箱、空调等家用电器;烟雾、燃气等安全防护设施;红外、视频等各种监控设备……这些看似毫不相关的设备,可以全部连接联系到一起,这就是“物物相联”。根据自身需要设定各种应用场景,例如,回家时只需按下一个按钮,就可以自动打开廊灯、客厅吊灯、打开窗帘、解除安防报警、打开电视机并调到自己喜欢的频道、打开热水器、打开空调并设定温度为2...了解详情

怎样把LoRa终端功耗降到极致

一. 引言能耗对于电池供电的产品来说是一个重大的问题,一旦电能耗尽设备将“罢工”,在某些场合电能意味着电子产品的生命。物联网时代将会有越来越多电池供电的设备通过无线通信连接,降低能耗再次摆在工程师的桌面上—解决它。锐米LoRa终端(简称终端)RNDU470Thttp://www.rimelink.com/pd.jsp?id=2)不但具备空旷环境传输5km的超长距离优势,还将休眠能耗降低到极致(0.4uA,带RTC为1.4uA)。我们是怎么做到的呢?接下来,一步一步解密。二. 硬件设计1.选用低功耗器件终端MCU选用STM8L151C8T6,它属于超低功耗,不带RTC休眠为400nA,带RTC下休眠为1.4uA。该MCU拥有较大的RAM(4KB)和自带EEPROM(2KB),不用扩展外部存储设备,进行一步降低功耗和成本。终端射频芯片选用SX1278,在休眠模式下,该芯片功耗低至忽略不计。2.尽可能快地让射频模块休眠SX1278属于LoRa TM扩频调制技术,它的远距离优势得益于调制增益,不是靠增大发射功率(那将消耗更多电能)。该射频芯片的电流消耗如下:休眠<0.2uA,空闲=1.6mA,接收=12mA,发射(最大功率)=120mA.终端MCU通过“中断+定时器超时”方式控制SX1278,一旦射频完成发送或接收,立即进入休眠模式。3.了解MCU的工作模式与功耗降低MCU的功耗首先尽可能少地开启外设,其次尽可能地让其休眠。我们一起看看STM8L151C8T6不同工作模式下功耗。更多信息请链接http://blog.csdn.net/jiangjunjie_2005/article/details/47700597
模式等待低功耗运行低功耗等待主动停止停止
入口WFWF软件代码软件代码+WFHALHAL
晶振LSI或LSLSI或LSLSI或LS...
了解详情

LoRa频率与带宽测试

一、测试目的跳频是抵抗外部干扰和多径衰退的好方法,它将频率分成一个个单独的物理信道。LoRa无线通信也不例外,需要按频率划分信道。LoRa的中心频率和通信带宽都是可以动态设置的,本实验旨在测试带宽与信道划分的关系。二、测试方法如上图所示,用2片iWL881A(长沙市锐米通信科技有限公司,www.rimelink.com)通过USB转串口连接到PC机上。模块都支持shell命令,可以设置BW(带宽)和Freq(频率)。RX模块接收到数据后,通过UART打印到PC屏幕上。三、测试数据
带宽(kHz中心(kHz最小(kHz最大(kHz信道(kHz信道/带宽
50470,00469,90470,42521.0
471,00470,90471,42
25...
了解详情