使用LoRa Smart Blocks Development Kit来创建LoRaWAN网络

本文将为大家介绍如何用群登科技(Acsip)的LoRa Smart Blocks Development Kit 来创建LoRaWAN网络,开发工具包含LoRa智能型积木组件及正文 Gemtek Indoor Gateway。群登这套LoRa智能型积木组件采用通过LoRa Alliance、CLAA、Actility等多重认证的S76S/S78S LoRa模块,透过感测板(Sensor Board...了解详情

Semtech推出全新工具来改善开发人员使用LoRaWAN协议的体验

高性能模拟和混合信号半导体及先进算法领先供应商SemtechCorporation(Nasdaq:SMTC)今日宣布:推出集成了Semtech的LoRa®器件和无线射频技术(LoRa技术)的微微型(picocell)网关模拟器,其中包括Linux实用程序和Microsoft®Windows支持软件,并提供一个免费的、非商用的LoRaWANTM网络服务器演示平台。全新的工具将帮助低功耗广域网(LPW...了解详情

LoRa笔记03 LoRa sx1276 sx1278空中唤醒研究

一、前言前面在无线节点的空中唤醒技术解析中由浅入深地对空中唤醒技术做了讲解,讲地非常好,建议大家多看几遍(卧槽,谁又砸砖头!)。这篇笔记将讲LoRa节点的空中唤醒具体应用。我正在学习LoRa和LoRaWAN,基本按照 官方资料+梳理解析+相关源码 的方式来记录笔记,相信对不少同行者有所帮助,可点此查看帖子LoRa学习笔记_汇总。本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/二、官方资料1. CAD 模式介绍When in CAD mode, the device will check a given channel to detect LoRa preamble signalCAD的功能的主要介绍是在4.1.6. LoRaTM Modem State Machine Sequences 中的 Channel Activity Detection 小节。在前文的空中唤醒的原理中,已经提到CAD功能是LoRa调制的一个特色,比普通RSSI检测方式要强大得多。随着扩频调制技术的应用,人们在确定可能低于接收机底噪声的信号是否已经使用信道时,面临重重挑战。这种情况下,使用RSSI无疑是行不通的。为了解决这个问题,可使用信道活动检测器(CAD)来检测其他LoRaTM信号。图11显示了CAD的流程:2. 操作原理介绍信道活动检测模式旨在以尽可能高的功耗效率检测无线信道上的LoRa前导码。在CAD模式下, SX1276/77/78快速扫描频段,以检测LoRa数据包前导码。在CAD过程中,将会执行以下操作: - PLL被锁定。 - 无线接收机从信道获取数据的LoRa前导码符号。在此期间的电流消耗对应指定的Rx模式电流。 - 无线接收机及PLL被关闭,调制解调器数字处理开始执行。 - 调制解调器搜索芯片所获取样本与理想前导码波形之间的关联关系。建立这样的关联关系所需的时间仅略小于一个符号周期。在此期间,电流消耗大幅度减少。 - 完成计算后,调制解调器产生CadDone中断信号。如果关联成功,则会同时产生CadDetected信号。 - 芯片恢复到待机模式。 - 如果发现前导码,清除中断,然后将芯片设置为Rx单一或连续模式,从而开始接收数据。信道活动检测时长取决于使用的LoRa调制设置。下图针对特定配置显示了典型CAD检测时长,该时长为LoRa符号周期的倍数。 CAD检测时间内, 芯片在(2SF+32)/BW秒中处于接收模式,其余时间则处于低功耗状态。3. DIO 映射CAD事件等可以利用DIO来通知给其他MCU,手册上给了映射方式。Table 18 DIO Mapping LoRaTM Mode,其中有 CadDone 事件。
Operating ModDIOx MappinDIODIODIODIODIODIO
ALModeReadCadDetecteCadDonFhssChangeChanneRxTimeouRxDon
ClkOuPllLocValidHeadeFhssChangeChanneFhssChangeChanneTxDon
1ClkOuPllLoc...
了解详情

LoRa笔记02 LoRa sx1276 sx1278的发射功率研究

1 前言发射功率也是射频基础指标,目前SX1278可以支持最大20dBm。我正在学习LoRa和LoRaWAN,基本按照 官方资料+梳理解析+相关源码 的方式来记录笔记,相信对不少同行者有所帮助,可点此查看帖子LoRa学习笔记_汇总。本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/2 官方datasheet资料5.4.2. RF Power AmplifiersPA_HF and PA_LF are high efficiency amplifiers capable of yielding RF power programmable in 1 dB steps from -4 to+14dBm directly into a 50 ohm load with low current consumption. PA_LF covers the lower bands (up to 525 MHz), whilstPA_HF will cover the upper bands (from 779 MHz). The output power is sensitive to the power supply voltage, and typicallytheir performance is expressed at 3.3V.PA_HP (High Power), connected to the PA_BOOST pin, covers all frequency bands that the chip addresses. It permitscontinuous operation at up to +17 dBm and duty cycled operation at up to +20dBm. For full details of operation at +20dBmplease consult section 5.4.3Table 33 Power Amplifier Mode Selection Truth Table
PaSelecModPower RangPout Formul
PA_HF or PA_LF on RFO_HF or RFO_L-4 to +15dBPout=Pmax-(15-O...
了解详情

LoRa笔记01 sx1276 sx1278信号强度RSSI研究

1 前言RSSI信号强度是无线网络中特别被人关注的一个点,尤其是工程部署中。今天在了解LoRa SX1276的RSSI展示,搜寻了一些资料,做如下笔记留念。(留念。。。真没词用了吗。。。本文作者twowinter,转载请注明作者http://blog.csdn.net/iotisan/2 官方资料涉及寄存器官方英文说明5.5.5. RSSI and SNR in LoRaTM ModeThe RSSI values reported by the LoRaTM modem differ from those expressed by the FSK/OOK modem. The followingformula shows the method used to interpret the LoRaTM RSSI values:RSSI (dBm) = -157 + Rssi, (when using the High Frequency (HF) port)orRSSI (dBm) = -164 + Rssi, (when using the Low Frequency (LF) port)The same formula can be re-used to evaluate the signal strength of the received packet:Packet Strength (dBm) = -157 + Rssi, (when using the High Frequency (HF) port)orPacket Strength (dBm) = -164 + Rssi, (when using the Low Frequency (LF) port)Due to the nature of the LoRa modulation, it is possible to receive packets below the noise floor. In this situation, the SNRis used in conjunction of the PacketRssi to compute the signal strength of the received packet:Packet Strength (dBm) = -157 + PacketRssi + PacketSnr * 0.25 (when using the HF port and SNR < 0)orPacket Strength (dBm) = -164 + PacketRssi + PacketSnr * 0.25 (when using the LF port and SNR < 0)Note:1. PacketRssi (in RegPktRssiValue), is an averaged version of Rssi (in RegRssiValue). Rssi can be read at any time(during packet reception or not), and should be averaged to give more precise results.2. The constants, -157 and -164, may vary with the front-end setup of the SX1276/77/78/79 (LnaBoost =1 or 0,presence of an external LNA, mismatch at the LNA input…). It is recommended to adjust these values with a single-pointcalibration procedure to increase RSSI accuracy.3. As signal strength increases (RSSI>-100dBm), the linearity of PacketRssi is not guaranteed and results will divergefrom the ideal 1dB/dB ideal curve. When very good RSSI precision is required over the whole dynamic range of thereceiver, two options are proposed:- Rssi in RegRssiValue offers better linearity. Rssi can be sampled during the reception of the payload (betweenValidHeader and RxDone IRQ), and used to extract a more high-signal RSSI measurement- When SNR>=0, the standard formula can be adjusted to correct the slope:RSSI = -157+16/15 * PacketRssi (or RSSI = -164+16/15 * PacketRssi)中文解读常规情况下,公式是这样:RSSI (dBm) = -157 + Rssi, (高频口)RSSI (dBm) = -164 + Rssi, (低频口)另外在SNR<0的噪声环境下,要按照Packet Strength (dBm) = -157 + PacketRssi + PacketSnr * 0.25 (或者低频时,Packet Strength (dBm) = -164 + PacketRssi + PacketSnr * 0.25)这样的公式。1.PktRssiValue指单个包的信号强度,是收包这段时间内的RSSI的平均值。RssiValue指当前的信号强度。2.如果有加外部LNA,那需要做单点校准,让RSSI显示更准确。3.当信号强度超过-100dBm之后,PacketRssi就不能保证线性,结果会偏离 1dB/dB 的曲线。因此需要做一定的校正。当SNR>0时,可以参考如下公式:RSSI = -157+16/15 * PacketRssi (or RSSI = -164+16/15 * PacketRssi)。当然SNR<0时,还要注意同样做噪声干扰的校正,在公式后面 + PacketSnr * 0.25 。3 代码分析代码中处理信号强度是这样,判断频段是否大于550MHz,据此来进行高频和低频的不同偏移量的处理。int16_t SX1276ReadRssi( RadioModems_t modem ){int16_t rssi = 0;switch( modem ){case MODEM_FSK:rssi = -( SX1276Read( REG_RSSIVALUE ) >> 1 );break;case MODEM_LORA:if( SX1276.Settings.Channel > RF_MID_BAND_THRESH ){rssi = RSSI_OFFSET_HF + SX1276Read( REG_LR_RSSIVALUE );}else{rssi = RSSI_OFFSET_LF + SX1276Read( REG_LR_RSSIVALUE );}break;default:rssi = -1;break;}return rssi;}4 范例假如我们收到这样的信号值:rssi cur: 61,snr: 35pkt rssi:113因为测试频段是433MHz,且SNR>0,因此使用如下公式:RSSI = -164+16/15 * PacketRssi = -164 + 16/15 * 113 = -43.467了解详情

LORA 射频自组网 两级中继设计方案

基于sx1276lora模块,进行多个模块之间自组网,组网形式为1个集中器加多个终端。模块之间距离较远时,集中器无法直接与某个终端进行通信,其他终端本身可作为中继给该终端作为中继与集中器通信。lora调制方式,发送数据为星型通信方式,为自组网提供了便利。终端接收心跳存储typedef strucuint32_t Id;//接收的Iuint8_t Rssi;//信号强度}RECV_TERMINAL_T;...了解详情

年轻小农靠开源翻转传统农业

在众多软件高手云集的2017年开源人年会(COSCUP)上,有一群年轻人看起来格外不同,晒得通红的健康黝黑肤色,在软件工程师中格外亮眼,他们不只是软件工程师,更是一群善用开源科技的「作田人」。就连在开源人年会开场,前行政院院长张善政都分享了自己靠开源技术管农田的经验。张善政每逢周末都会到花莲自家农地从事农作,最近找来一位朋友,利用开源软件,用空拍机从高处拍摄农地後,运用影像辨识技术来计算农地上的西...了解详情

【典型案例】LoRa无线模块在温控器中的应用实例

其实无线技术很早就已经在热计量等领域有过不少的尝试,但为何迟迟未得到很好的普及?早在2005年,国家就发文推广对供热按用热量进行计量收费管理的制度,但历经十几年,由于分户计量实施难度大,技术门槛高,施工成本居高不下等诸多原因,进展缓慢,其实该情况不仅存在于热计量,在许多温控仪表、能源计量、能效管理的类似应用中同样存在。无线技术的推出,包括433、zigbee等无线方案的逐步完善,才逐步解决此类问题...了解详情

创建你自己的私有 LoRa 网络

有大量关于 LoR的讨论,低功耗、广域网保证了几公里范围内的通信,因此非常适合网联网通信。电信运营商正在推出 LoRa 网络,由于 LoRa 在开放的频谱范围内运行,你还可以设置自己的网络。本文讨论了构建私有 LoRa 网络,以及如何使用网络将数据从 ARM mbed 终端节点发送到云端。关于 LoRa 与 LoRaWAN 的注意事项:从技术上讲,在本文中我们正在构建一个 LoRaWAN 网络。...了解详情

干货分享:信锐LoRa方案在P2北京e世界店的测试记录

作者:老韩格物资讯之前分享了信锐LoRa方案在3W北京中关村店的测试记录,可以看到在合理部署LoRa网关的前提下,一个网关信号就能完整覆盖三层楼共1200平的空间。不过无线信号的传播受空间结构的影响是非常大的,于是我们把产品拿到P2北京e世界店做了第二次测试。之所以选择P2北京e世界店,是因为这是个单层4000平的环境,信号穿透到楼上楼下都没有任何意义;其次,它的位置在大厦的B2层,空间内有着大量管道和超厚的实墙,这给无线信号的传播带来很大挑战。我们像上次一样,还是选择我们认为最极端的位置以及最合理的位置进行两次测试。在极端挑战中,我们将LoRa网关放置在平面图中A点位置,此时LoRa排插只能在B、I、J三个测试点成功上线,完成功能测试(断电/通电切换)。这个结果在预期之内,不过被寄予厚望的G、C两点没有成功接入,还是令人略感失望。考虑到环境的复杂性(实际环境比平面图多了软装和人),这个结果可以接受。在只有一个LoRa网关的前提下,我们认为P2北京e世界店的最合理布放位置就是B点。从平面图上看这里基本在最中央,是能把全向天线覆盖范围最大化的位置。实际环境中这里是个集装箱改造的小屋,我们最终找到一个很特别的布放方式,既利于测试又不影响他人办公。果然LoRa网关在合适的位置发挥了它的威力,实测结果是除E、H两点外,排插在其它所有测试点都能通过测试。这是超越预期的表现,原本我们预测C、D两点可能会接入失败,毕竟从网关到测试点要穿越两堵实墙,但最终一点问题都没有。而E、H两点始终无法成功接入,证明当墙体够厚、数量够多以及穿越电梯间时,LoRa信号依然会有迅速衰减。不要盲目认为媒体所说的LoRa能打十几公里或者穿几层楼板是常态,那都是理想情况+纸上谈兵,最终覆盖效果依然取决于场景复杂度。当然这里还存在一个网关信号发射功率的问题,后面我们单独讨论。大概测试过程就是这样,下面请大家做一道很重要的选择题:在P2北京e世界店,各位认为布放多少个LoRa网关比较合理?了解详情

博立信(Polysense)发布全国首个大学和研究机构物联网套件项目计划

2017年7月28日,博立信(Polysense)科技公司今天宣布推出首个针对全国大学和科研机构的物联网LoRa套件项目计划。 “LoRa通讯和传感大学物联网项目计划”将为大学生和科研人员了解和使用最先进的通信和传感技术提供必要的工具和教育学习的机会。 其开创性计划将着重于使用LoRaWAN™的低功耗广域网(LPWAN)通信协议。 LPWAN是一种专为万物互联所设计的,采用低功耗、长距离、低速率通...了解详情

干货分享:信锐Lora物联方案在3W北京中关村店的测试记录

作者:老韩格物资讯物联网现在已经被吹上了天,它到底能不能落地,以及适合在哪落地,很多人其实根本不知道。格物资讯认为,对于物联网市场中需求导向的部分,“物联网+空间管理”是短期比较明显的热点。所以当得知信锐已经提前规划开发了一套产品方案,我们在第一时间抢来一个网关和两个排插进行评估。为什么测信锐的产品方案格物资讯长期关注中小“互联网+”场景的IT需求发展,在我们的客户样本库中,其实已经有一部分业务比较超前的企业部署了物联网方案,承载着关键应用。而在针对于此的吐槽中,最大的不满往往是业务可用性不高,透过现象看本质,其实是管道的不可靠。甚至有管理者这么说过:智能终端或者APP这种接触最终用户的东西,一定得搞互联网的来搞,他们能把体验玩出花来;IoT平台、核心组网,这些东西还是得靠传统数通厂商。精辟!这样的客户绝对是活明白了,他从血的教训中明白了互联网的产品开发套路搞设备是行不通的,试错成本没白交!在《小米智能插座是怎样对WiFi发起慢性DDoS的》这篇文章里我们写过这样一句话:“其实市场上大量智能家居设备对WiFi的友好性还不如小米智能插线板。原因很简单,他们团队里大多就没有懂802.11的人。” 在格物资讯看来,现在大量号称能提供物联网空间管理方案的企业也存在一样的问题,眼瞅着Lora要替代ZigBee了没错,但请问你们真有能力搞Lora么?或者说,有几个团队能养精通Lora、做出高品质回传设备的人?于是我们和越来越多的客户一直在等待传统数通厂商推自己的IoT平台+组网方案,去年国内WLAN市场份额前五的厂商(依次新华三、锐捷、华为、信锐、思科,from IDC)中,目前只看到信锐在空间管理领域准备推出方案,所以除了信锐没得选。特别提示,因为研发阶段的产品未知且不可控的因素太多,我们决定站在最终客户角度去做黑盒应用测试,去验证一些自己感兴趣的问题,同时把遇到的问题反馈给信锐。这套方案本身仍处于开发阶段,还在不停迭代更新,所以测试结果仅代表目前我们手里的版本。一个网关带一个店是怎样的体验和很多对Lora存在期待的客户一样,我们最最关心的当然是Lora的信号覆盖能力。所以简单熟悉了信锐这套产品后,马上拿到真实场景进行测试。第一个测试环境是3W咖啡北京中关村店,这是个1200多平的三层小楼,其中1、2两层是咖啡区域,3层是办公空间。平面图如下。图纸很规整,有WiFi项目经验的人都能看出位于2层的C点是放置Lora网关的最优之选;而位于3层机房内的A点则是放置Lora网关最不合理的选择,和E、F有着最远的店内直线距离,信号要跨越两层楼板和无数道承重墙。梦想总是要有的,所以肯定要先把网关放在A点了……测试结果是排插放在E和F连不到网关,其它地方都没问题。不过在F点,如果把排插拿到高一些空旷一些的位置,就能顺利建立连接并且正常远程控制,可见这里是信号边缘。而当把网关放在C点时,排插在其他所有测试点都正常连接、正常工作。总体说来,我们对测试结果还是感到比较意外的。可以确定当规划部署比较合理且带机量不成为瓶颈的前提下,一个信锐的Lora网关就可以覆盖3W北京中关村店完整三层楼1200多平的面积,这就是满分,比通常ZigBee的方案完美了不知道多少倍。这次测试结果也令人更加坚信,Lora才是真正适合承载空间管理业务的最佳管道。之前不管WiFi、蓝牙还是ZigBee,在实际场景中技术优势都会缩小、技术缺陷都会被放大,整体效果可能是负的;直到Lora出现,才让客户真正能充分感受到技术进步带来的红利。先写这么多,还有其它场景的测试数据以及感受、问题、分析,后面慢慢发。了解详情

共享单车上的智能锁,做出来有多难?

共享单车作为现阶段的资本风口,媒体对共享单车的兴趣和报道渐渐多了起来,有关注的同学可能早早就看过这些文章是这样介绍单车上的智能锁的,“技术实现手段也不难:在电动车锁里加上传感器、GPS、3G网络和芯片……”,事实上真的像众多报道中所描述的如此“简单”吗?单车联网的核心必是智能锁在探讨共享单车上智能锁要怎样做出来前,我们应该先弄明白:共享单车是否非要智能锁不可?在如今市场出现的“百车大战”中,OFO...了解详情

完整的LoRa体验,有这一套就够了!——LoRa IoT Kit体验

[导读]如果想要完整的LoRa体验,至少需要一个LoRa网关和一个LoRa节点。而除了这两者必须部件之外,Dragino的套件中还提供了更多惊喜。所以想要完整的LoRa体验究竟要花多少银子?这或许是很多LoRa入门开发者最关心的问题。我们认为Dragino在这一方面做的不错。不经意间,IoT的热门话题似乎已转到了NB-IoT及LoRa之间。这中间自然免不了争论:谁才是IoT远距通信技术的皇太子?这...了解详情

STM32 Nucleo Pack LoRa技术入门 – 十分钟搭建一个完整的LoRa节点

LoRa技术备受热捧,给低功耗物联网应用带来了很大的发展和创新的空间。ST也与Semtech公司合作推出了LoRa解决方案。在现阶段,为使开发者快速地体验和开发基于LoRa的技术,ST公司在其现有产品的基础上,搭建起了一套LoRa网络系统。这些硬件和软件有:P-NUCLEO-LRWAN1开发板、I-CUBE-LRWAN中间件和X-NUCLEO-IKS01A1扩展板。使用这些板子和软件就可以非常容易地创建和配置一个LoRaWAN™的节点。另外,ST还提供了各种产品的NUCLEO开发板和扩展板,可以方便定制各种节点的扩展功能,创建各种可能的产品原型组合。在本文所附的视频中,生动地展示了如何使用这些工具快速搭建一个基于STM32的LoRaWAN™节点。下面将视频中的部分内容,摘录文字如下:LoRa要点LoRa是一种无线技术,用于创建M2M和物联网应用所需要的低功耗广域网(LPWAN)。低功耗(10-20年电池寿命)、低成本(非常低的基础设施投资)、安全性(AES128加密)长距离(1-10公里)标准化(由主要的行业执行者联盟推动)跟踪( 免费跟踪)STM32和LoRa 10分钟1. 准备– P-NUCLEO-LRWAN1NUCLEO-L073RZ开发板SX1272MB2DAS扩展板天线USB连接线P-NUCLEO-LRWAN1 官方主页:http://www.st.com/content/st_com/en/products/wireless-connectivity/lorawan/p-nucleo-lrwan1.html– 计算机KEIL IDEI-CUBE-LRWAN LoRaWAN软件扩展包串口客户端(TeraTerm 或 PuTTY)浏览器– 网关选择基于LoRaWAN的网关,频率可根据地区选择,不同厂家的网关配置不同。本文选择了MULTITECH的“MultiConnect Conduit”网关2. STM32和LoRa板子安装– 确认JP1、JP6跳线短接,JP5设置为EV5– 将SX1271MB2DAS LoRa扩展板插到STM32 Nucleo板子上– 将天线接到LoRa扩展板上3. 安装LoRaWAN软件包– 下载并安装LoRaWAN软件包(可到www.st.com搜索LoRaWAN)– 下载 I-CUBE-LRWANI-CUBE-LRWAN官方主页地址:http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-expansion-software/i-cube-lrwan.html默认可保持到 “C:\Users\yournam\STM32Cube\Repository\”4. 软件开发– 找到I-CUBE-LRWAN安装包,在下面的应用工程:..\STM32CubeExpansion_LRWAN_V1.0.1\Project\Multi\Applications\LoRa\classA\MDK-ARM\STM32L073RZ-Nucleo\Lora.uvprojx– 打开KEIL工程文件,选择sx1272mb2das目标模块– 在”hw_conf.h”文件中,去掉注释“DEBUG”和”TRACE”.– 在”comissoning.h”文件中,更改EUI设备,在96行。{0x0BE,0x7A,0x00,0x00,0x00,0x00,0x00,0xC8}– 在“main.c”文件中,在249行,设置产生一个测试消息。AppData->BuffSize=sprintf((char*)AppData->Buff,”-Hello world. STM32 is LoRaWAN connected”);– 编译并下载工程到目标设备。– 使用TeraTerm从Nucleo板子上获取UART数据。* 选择串口”Serial”,Port: COM8:STMicroelectronics STLink Virtual COM Port (COM8)* Setup> Terminal…> “New line->Receive: “AUTO”* Setup> Serial port..>Baud rate: 921****00;Data: 7bit5. 网关设置和连接给网关上电,确认用以太网线连接到电脑。打开浏览器,连接网关的默认地址是:192.168.2.1Username: adminPassword: admin选择 Setup>LoRa Network Server, 设置:–Mode:Network Server– Network ID: EUI– EUI: 01-01-01-01-01-01-01-01– Network Key: Key– Key: 0x2B,0X7E, 0x15,0x16,0x28,0xAE,0xD2,0xA6,0xAB,0xF7,0x15,0x88,0x09,0xCF,0x4F,0x3C选择Status & Logs >Statistics>LoRa,检查节点是否连接到网关。如果Nucleo+LoRa设备都打开了,”Refresh Node List”, EUI地址会显示。结果:总结现在你可以做:– 创建自己的基于STM32的LoRa传感器节点– 设置Multi-conduit网关作为一个网关和网络服务器– 建立自己私有的基于STM32的LoRa网络ST的LoRa官方主页:www.st.com/stm32-lrwan了解详情

LoRa Gateway 源码工程梳理

本文作者twowinter,转载请注明作者http://blog.csdn.net/iotisan/1.核心库:libloragw这个目录包含了编译一个多通道基站库所需的源码。编译之后就会生成固定链接的libloragw.a。lora_gateway\libloragw\tst目录下还有不同子模块的测试程序。1.1 HAL介绍这部分也就是LoRa集中器的HAL层(LoRa concentrator Hardware Abstraction Layer),它是个C库,让大家使用少量的C函数就可以对LoRa集中器芯片进行配置硬件,以及收发数据包。LoRa集中器是数字化的多信道多数据包标准的射频芯片,使用LoRa或者FSK模式进行收发数据。1.2 HAL的组成这个库是由6(8)个模块组成:loragw_hal主模块,包含高等级函数来配置和使用集中器loragw_reg这个模块用来操作集中器的寄存器loragw_spi通过SPI接口来操作集中器的寄存器loragw_aux包含一个主机需要的wait_ms函数,用于指定ms的延时loragw_gps通过基准时基来同步集中器内部计数,例如例程中的GPS授时。loragw_radio配置 SX125x 和 SX127x。loragw_fpga (only for SX1301AP2 ref design)SX1301AP2参考设计才需要,用于操作FPGA的寄存器,以及配置FPGA功能。loragw_lbt (only for SX1301AP2 ref design)SX1301AP2参考设计才需要,用于配置和使用LBT功能。1.3 软件编译1.3.1 软件细节这个库按照ANSI C99进行编写。loragw_aux模块中的ms精确延时含有POSIX格式函数,嵌入式平台可以用硬件定时器进行重写。1.3.2 编译选项library.cfg 中 DEBUG_xxx 如果置为1,则会用 fprintf 输出对应的调试信息。1.3.3 编译流程对于交叉编译,需要设置 Makefile 中的 ARCH 和 CROSS_COMPILE 变量,或者在 shell 环境中,使用正确的工具链名字和路径。例如:export PATH=/home/foo/rpi-toolchain/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:$PATH export ARCH=arm export CROSS_COMPILE=arm-linux-gnueabihf-libloragw目录下的Makefile会解析 library.cfg 文件,产生一个config.h的C头文件,包含 #define 选项。那些选项会使能或禁用loragw_xxx.h 文件和 *.c 原文件中的代码。library.cfg 也用来直接选择动态链接库。1.3.4 导出如果想在其他系统使用编译后的库,你需要导出这些文件:libloragw/library.cfg -> 根配置文件libloragw/libloragw.a -> 静态库libloragw/readme.md -> license要求libloragw/inc/config.h -> 从 library.cfg 衍生出的C配置标志libloragw/inc/loragw_*.h -> 你需要用到的头文件 (例如. _hal and _gps)在这个库链接到你的应用之后,只有 license 文件要求在程序文件中拷贝和保留。1.4 硬件条件1.4.1 硬件版本loragw_reg 和 loragw_hal 是针对Semtech硬件编写的特殊版本:Semtech SX1301 芯片Semtech SX1257 or SX1255 收发器如果硬件版本和库版本不匹配的话,这个库将无法使用。你可以用 test_loragw_reg 来测试软硬件是否匹配。1.4.2 SPI通信loragw_spi 的SPI函数适合平台相关的,如果你用别的SPI接口可能需要重写这个函数:SPI master matched to the Linux SPI device driver (provided)SPI over USB using FTDI components (not provided)native SPI using a microcontroller peripheral (not provided)你可以用 test_loragw_spi 来测试SPI通信。1.4.3 GPS接收为了使用库中的GPS模块,主机必须要通过串口连接GPS接收器,串口连接必须以“tty”设备出现在 /dev/ 目录,启用这个程序的用户必须用读写这个设备的权限。使用 chmod a+rw 来允许所有用户能操作指定的tty设备,或者使用sudo来运行你的程序(例如. sudo ./test_loragw_gps)。当前版本,库只从串口读取数据,在GPS接收器上电后会收到他们发出NMEA帧 以及 u-blox 模块私有的 UBX 消息。GPS接收器必须在发出PPS脉冲后发出UBX消息,让内部集中器的时间戳可以用GPS时基校准。如果GPS接收器发出了GGA NMEA语句,gateway则可以进行3D定位。1.5 使用1.5.1 设置软件环境对一个典型应用,你需要这么做:源码中包含 loragw_hal.h编译时链接 libloragw.a 静态库文件由于 loragw_aux 的依赖关系,需要链接 librt 库如果应用需要直接访问集中器配置寄存器的话(例如做些高级配置),你还需要这样做:源码中包含 loragw_reg.h1.5.2 使用软件API要在你的应用中使用 HAL,需要遵守如下规则:在射频启动之前需要配置好 radios path 和 IF+modem path只有在调用了 start 函数之后,配置才会传送给硬件只有在 radio 使能,同时IF+modem 使能,以及集中器启动后,才能接收数据包。只有在 radio 使能,以及集中器启动后,才能发送数据包。改变配置之前,必须停止集中器。一个对HAL的典型应用流程图如下:<configure the radios and IF+modems><start the LoRa concentrator>loop {<fetch packets that were received by the concentrator><process, store and/or forward received packets><send packets through the concentrator>}<stop the concentrator>/!\ 注意,lgw_send 在LoRa集中器仍然发包时,或者即使在准备开始发包时,是非阻塞立即返回。当有数据包在发送时,将无法收到任何数据。你的应用需要考虑发包的时长,或者在尝试发包前检查下状态(使用 lgw_status)。当前一包未完成时立即发一包,会导致前一包无法发送,或者发送部分(会导致接收端出现CRC错误)。1.5.3 调试模式为了调试程序,可以激活调试信息后( 在 library.cfg 中设置 DEBUG_HAL=1 ),编译 loragw_hal 函数。这样就会输出很多细节信息,包括stderr的错误细节信息。2.帮助程序工程中的这些程序提供了一些示例,应该如何使用HAL库。帮助系统构建者单独测试不同部分。2.1. util_pkt_loggerThis software is used to set up a LoRa concentrator using a JSON configurationfile and then record all the packets received in a log file, indefinitely, untilthe user stops the application.这个软件用来让LoRa集中器使用JSON配置文件,以及记录所有的包于一个log文件,除非用户停止这个应用。2.2. util_spi_stressThis software is used to check the reliability of the link between the hostplatform (on which the program is run) and the LoRa concentrator register filethat is the interface through which all interaction with the LoRa concentratorhappens.这个软件用来检测主CPU与LoRa协调器寄存器文件的连接的稳定性。2.3. util_tx_testThis software is used to send test packets with a LoRa concentrator. The packetscontain little information, on no protocol (ie. MAC address) information butcan be used to assess the functionality of a gateway downlink using othergateways as receivers.这个软件用来做发包测试。包里没有协议信息,但可以用来检测基站下行功能,使用另一台基站来做接收。2.4. util_tx_continuousThis software is used to set LoRa concentrator in Tx continuous mode,for spectral measurement.这个软件用来设置LoRa集中器为持续TX模式,用于频谱测试。2.5. util_spectral_scanThis software is used to scan the spectral band in background, where the LoRa这个软件用来扫描基站工作环境的频段。2.6. util_lbt_testThis software is used to test "Listen-Before-Talk" channels timestamps.这个软件用来测试“Listen-Before-Talk”的信道时间戳。3. 帮助脚本3.1. reset_lgw.shThis script must be launched on IoT Start Kit platform to reset concentratorchip through GPIO, before starting any application using the concentrator.这个脚本仅在 IoT Start Kit 平台上运行,用于在启动任何应用前,通过GPIO复位集中器芯片。End了解详情

浅谈LoRa及在无线抄表中的设计思路和应用举例

大多数厂家对LoRa的理解或印象仅仅停留在普遍被宣传的距离远,抗干扰,低功耗,如被洗脑一般,更有甚者,过度神话LoRa,简直无所不能的能解决一切问题,极其容易被忽悠掉坑里,我想应该先吐糟一下。某些厂家使用或者测试LoRa,往往过于肤浅,只关注LoRa能传多远距离、穿几层楼层,甚至在对比不同厂家产品的时候都只以距离为唯一的评判标准,其实LoRa芯片只来源于美国SEMTECH,各家拿到的是一样的芯片S...了解详情