江苏电信NB-IoT南京实测报告:NB-IoT没有想象的那么好

作者:中物合集团 来源:LPWAN技术中国电信在南京进行了NB-IoT网络现网实测,并与C网、L网进行了对比。不久前,中国电信在南京进行了NB-IoT网络现网实测,并与C网、L网进行了对比。主要结论同覆盖范围,NB信号比C网信号平均好21.5dB,比L网平均好32.2dNB有速率的临界距离为2km.楼宇场景,近、中、远点NB基本全覆盖,L网中、远点基本无覆盖,C网远点基本无覆盖;地下室场景,基...了解详情

基于Microchip LoRa 工业 IoT 设计中的低功耗、通信和安全性

功耗与安全性是嵌入式系统设计师的两大重要担忧,尤其是在 IoT 传感器命令和控制应用程序中。对于工业 IoT 设计而言,微控制器不仅要自身的平均功耗尽可能低,还要具备让设计的其余部分功耗降至最低的特性,这点非常重要。对于低功耗或仅由电池供电型应用,PIC24F 微控制器系列中采用的Microchip超低功耗 (XLP) 技术通过蓝牙® LE (BLE) 连接让 IoT 传感器实现了极低功耗的基本命令和控制通信,并通过集成硬件加密引擎增强了安全性。超低功耗由于更多电子应用程序要求低功耗或电池供电,节能成为首要问题。 目前的应用程序必须具有低功耗,并且在某些极端情况下,仅通过一块电池就可持续运行 20 年以上。 要实现诸如此类的应用程序,采用Microchip超低功耗 (XLP) 技术的产品可提供非常低的休眠电流,而超低功耗应用程序有 90-99% 的时间都处于该状态。 如图 1 所示,16 位 XLP 技术能让休眠电流降至 40 nA,运行电流降至 180 μA/MHz。
闪存和引脚最小休眠电流带 WDT 的最小休眠电流带 RTCC 的最小休眠电流
64-128 K28-44 引脚3.3 V 时 40 nA(典型值...
了解详情

认知计算、区块链IoT、物联网安全…看懂的人将控制未来

2016年是物联网令人兴奋的一年,几乎每个行业都在投资物联网。目前B2C消费产品占据物联网市场超过半壁江山,但是根据IDC的预测,到2020年,物联网市场的80%以上将用于B2B应用。当代世界,各种前沿科技层出不穷,形成了人工智能、虚拟现实、区块链等相互叠加的科技爆炸时代。借由这些新技术的应用,物联网将创造新的商业模式、新的工作流程、新的生产力引擎以便形成更好的成本控制和用户体验。硅谷知名投资人吴...了解详情

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

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

采用LORA 技术设计物联网应用

各种无线技术的产品连接到物联网(IoT)。每种技术适合不同的应用,需要设计人员仔细考虑因素,如距离和数据传输速率,成本,功耗,体积和外形。本文将介绍的LoRa协议,其优势比其他协议,并讨论多项产品和开发工具包,使工程师可以快速上手开发基于LoRa系统。无线物联网权衡考虑因素每个无线技术既有长处和短处。标准的Wi-Fi,例如,可以传输大量高速数据的,但它有一个有限的范围内。蜂窝网络结合高速和长距离,...了解详情

锐米通信:支持高校物联网研究 锐米开源LoRa系统

1 一个成功的故事:伯克利大学与UNI47岁的大叔–UNIX(尤其是它的后辈Linux和BSD UNIX)是这个星球上最有生命力的操作系统,从巨型机,到手机,都有它们默默工作的舞台。同时,美国加州大学伯克利分校显然对UNIX有着非常重要的贡献1)1975年,比尔.乔伊(不是比尔.盖茨,他1975年刚从哈佛退学,以卖BASIC为生)将PASCAL编译系统整合在UNIX系统里,并且以BSD命名进行...了解详情

LoRa网络中的传感终端

物联网的应用中少不了传感器,有各种各样不同类型的传感器,广泛应用于各个行业中的电子产品或终端上。物联网传感器市场规模有多大,下面是市场调研机构对物联网传感器市场的预测Markets and Markets预测,到2022年物联网传感器市场(传感器主要有压力、温度、湿度、磁力计、加速度计、陀螺仪、惯性、图像等)将达384.1亿美元,2016年至2022年之间的复合年增长率为42.08%。推动物联网...了解详情

完整的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了解详情

基于LoRaWAN的远程抄表系统

作者:金卡高科技股份有限公司 张恩满 赵春焕 钟晨 丁渊明 聂西利摘要随着无线通讯技术的不断发展,智能燃气抄表也有了更多的选择。首先分析了LoRa技术的特点及LoRaWAN协议的网络架构,并与其他无线通讯技术进行对比,最后以LoRaWAN燃气表为例分析了LoRaWAN协议在智能燃气抄表领域的可应用性。关键词LoRa技术 ;LoRaWAN燃气表;远程抄表系统1、LoRa技术LoRa 是由Semtech公司开发的一种基于1GHz以下的新型超长距低功耗数据传输技术。它使用线性调频扩频调制技术,即保持了像FSK(频移键控)调制相同的低功耗特性,又明显地增加了通信距离,同时提高了网络效率并消除了干扰,即不同扩频序列的终端即使使用相同的频率同时发送也不会相互干扰[1][2],因此在此基础上研发的集中器/网关(Concentrator/Gateway)能够并行接收并处理多个节点的数据,大大扩展了系统容量。随着LoRa的引入,嵌入式无线通信领域的局面发生了彻底的改变。这一技术改变了以往关于传输距离与功耗的折衷考虑方式,提供一种简单的能实现远距离、长电池寿命、大容量、低成本的通讯系统[1]。LoRa主要在全球免费频段运行(即非授权频段),包括433、868、915 MHz等。LoRa网络主要由终端(内置LoRa模块)、网关(或称基站)、服务器和云四部分组成,应用数据可双向传输。LoRa的优势主要体现在以下几个方面:1)高接收灵敏度,功耗低,接收灵敏度达-148dbm,接收电流仅10mA,睡眠电流200nA。2)系统容量大,每个网关每天可以处理500万次各节点之间的通信(假设每次发送10Bytes,网络占用率10%)。如果把网关安装在现有移动通信基站的位置,发射功率20dBm(100mW),那么在建筑密集的城市环境可以覆盖2公里左右,而在密度较低的郊区,覆盖范围可达10公里。3)基于终端和集中器/网关的系统可以支持测距和定位,对距离的测量是基于信号在空中的传输时间,而定位则基于多点(网关)对一点(节点)发出的信号在空中传输时间差的测量[3]。其定位精度可达5m(假设10km的范围)。4)支持自组网,可以实现节点与集中器直接组网连接,构成星型网络。2、LoRaWAN标准LoRa技术在物理层上实现了长距离点对点通信,如果没有协议栈的管理设计,LoRa的使用只能限于简单的数据收发,无法组成高效复杂的通讯网络。2015年LoRa联盟发布LoRaWAN技术规范,成为LPWAN(低功耗长距离广域网)的重要技术标准之一[4]。LoRaWAN定义了网络的通讯协议和系统架构,而LoRa物理层能够使长距离通讯链路成为可能。完全符合LoRaWAN标准的通讯网关可以接入5到10公里内上万个无线节点,其效率远远高于传统的点对点轮询通讯模式,也能大幅度降低节点通讯功耗[5]。LoRaWAN自下而上设计,为电池寿命、容量、距离和成本而优化了LPWAN(低功耗广域网)。对于不同地区LoRaWAN给出了一个规范概要,以及在LPWAN空间竞争的不同技术的高级比较[6]。图1 LoRaWAN系统架构图2 LoRaWAN网络架构1)网络架构LoRaWAN采用星型网络架构,在网络中,节点与专用网关不相关联。相反,一个节点传输的数据通常是由多个网关收到[7]。每个网关将从终端节点所接收到的数据包通过一些回程(蜂窝、以太网等)转发到基于云计算的网络服务器。智能化和复杂性放到了服务器上,服务器管理网络和过滤冗余的接收到的数据,执行安全检查,通过最优的网关进行调度确认,并执行自适应数据速率等。2)网络容量LoRa基于扩频调制,使用不同扩频因子时,信号实际上是彼此正交。当扩频因子发生变化,有效的数据速率也会发生变化。网关利用了这个特性,能够在同一时间相同信道上接受多个不同的数据速率。为使自适应的数据速率工作,对称的上行链路和下行链路要求有足够的下行链路容量。这些特点使得LoRaWAN有非常高的容量,网络更具有可扩展性。用最少量的基础设施可以部署网络,当需要容量时,可以添加更多网关,变换数据速率,减少串音次数,可扩展6~8倍网络容量。LoRaWAN协议在2016年更新到了1.02版本,对于中国地区,LoRaWAN划分的通讯频段为470-510MHz,并将该频段划分为上行频段和下行频段两部分,上行频段共96个,带宽为125KHz,以200KHz的间隔从470.3MHz线性递增至489.33MHz,下行频段以相同方式划分,范围是500.3MHz-509.7MHz。同时,采用收发异频模式,下行信道的计算方法为上行信道号对48取模,所得值即为下行信道号[8]。3、基于LoRaWAN的燃气抄表应用近年来,随着城市化的快速发展,燃气表产销规模快速增长,如何对庞大且分散的燃气表进行及时、准确、有效的抄收成为燃气公司迫切需要解决的问题。传统的人工抄表需要挨家挨户地抄读燃气表,燃气表抄收人员将数据录入系统后才能生成账单。人工抄表的弊端越来越突出,主要表现在:抄表效率非常低,劳动强度非常大;错抄、估抄的情况严重,容易引起不必要的纠纷。人工抄表已经不能适应社会的发展,智能抄表成为未来的趋势。目前燃气公司对燃气表的通讯要求主要包括以下几点:日累积气量、事件上报、表具当前状态、月累积气量等,大部分数据较短,在几十字节以内,少部分指令,如读取月累积气量数据包长度达到一百五十字节左右。燃气公司对于用户所用气量数据实时性要求不高,每天上传3次完全可以满足结算需求,但对于燃气表低功耗的要求则比较严苛,对于锂电池供电的燃气表,要求电池寿命达十年,对于碱性电池供电的燃气表则要求四节碱性电池可以使用一年。结合现代楼体建筑向高层发展的趋势,一个中等小区大约有一到两千户,对智能抄表的灵活性、自由性提出了要求。LoRaWAN协议在LoRa技术功耗低、通讯距离远的优势基础上,规范了以LoRa做为长距离通信链路的物理层时网络的结构,适用于燃气抄表数据量少、通信距离远、对实时性要求不高的应用特点,同时满足了低功耗的要求,兼顾组网灵活简单、网络扩展方便、易于管理等特点。LoRaWAN协议采用星型组网,针对不同的扩频因子,数据包负载长度从51到223不等,且集中器作为透明传输使用,方便后期网络扩张。同时,LoRaWAN支持多信道通信、信道修改等,对于开放频段的无线设备,保障了长期通讯的稳定性,降低其他无线设备对终端的干扰。近年来燃气抄表领域对于LoRa技术的应用多是采用自主研发的通讯协议,采用被动唤醒、固定SF和发射功率等设计,通用性、抗干扰性差。被动唤醒的抄表方式要与手持机配合使用,终端为了支持这种抄表方式要频繁唤醒检测是否有手持设备,因此终端大部分唤醒是无用的,这部分功耗相当于被浪费,因此技术与协议的有效结合是解决智能燃气抄表的最好方案。4.基于LoRaWAN协议的燃气表远程抄表试验研究本文针对本公司独立研发的LoRaWAN无线智能远传燃气表(简称LoRaWAN燃气表)进行了通讯性能测试。该燃气表通信信道带宽设为125kHz,支持8个信道,采用Class A模式。为了在通信距离与终端功耗之间取得动态的平衡,该燃气表扩频因子及发射功率可调,针对不同的通讯条件自动调整,从而在保证抄表率的前提下降低终端功耗。为实现多LoRaWAN燃气表组网通讯,同时测试了本公司针对LoRaWAN燃气表研发的一体化的集中器与网络服务器(Network Server,简称NS)。集中器支持同时接收8个信道的数据,单个集中器可满足最少2000台终端设备的通讯需求,终端上行数据通过4G模块发送到NS。NS负责数据处理,在接收到集中器的上行数据后,经过鉴权等校验,合法数据解密后解析,其中应用数据输出到应用服务器,MAC命令生成回应。LoRaWAN燃气表作为通讯终端采用随机信道选择方式进行干扰规避。每次终端在进行上行数据发送或者数据重发时,都会在8个信道中随机选择一个信道进行接入。为了保障通讯安全,通讯采用动态密钥,由终端和NS各提供一个随机数,共同生成密钥,保障密钥的安全性,同时加入自动离网机制,在通讯达到一段时间后,自动离线,重新入网并生成密钥。为了最大限度地节约终端功耗,在终端入网后,NS主动向终端发送链路自适应命令,将终端的射频参数调整到最合适的状态,其调整依据如图3所示,集中器上传终端当前通讯使用的射频参数及数据信噪比(SNR),网络服务器根据SNR计算终端当前链路质量下最合适的射频参数,若与终端当前使用的射频参数不同,则下发链路自适应命令,调整终端射频参数,若相同则不下发该命令[9]。图3 扩频因子与信噪比对照通过拉距测试、实地抄表测试及长期抄表测试来验证LoRaWAN燃气表及其组网设备的数据抄收能力,具体实验条件1)拉距测试拉距测试条件如图4所示,集中器放置在图4起点位置,集中器摆放如图5所示,两地直线距离为4.4公里,该区域多为厂房等低层建筑分布,相比城市建筑较为稀疏。图4 拉距测试距离示意图图5 集中器摆放位置在4.4公里处,使用4台样表进行抄表实验,手动触发样表发送ConfirmedData,能够接收到网络服务器下行的ACK数据,每个样表发送8次数据,通讯成功率为100%。2)实地抄表测试为了验证LoRaWAN燃气表在城市住宅区的通讯性能,在杭州市江干区和达城小区内进行实地抄表实验,该小区楼宇地上33层,地下两层,实验涵盖6幢楼体,实验时由测试人员手动触发样表发送ConfirmedData,能够接收到网络服务器下行的ACK数据即为通讯成功,实验条件如下:表具放置点:如图6所示,在号楼的1层和33层最隐秘的位置,●所示位置,以及所有楼栋的地下1层和地下2层;集中器安装位置:如图6所示:A(3号楼的7层),B(6号楼的天台);数据库位置:公司服务器;抄表率计算方法:抄表率=抄到数据的表的数量÷表具总数。测试抄表情况如下:不管集中器在A或B位置,楼层中的表具抄表率达100%;在A位置时,所有楼栋的地下1层和2层都能抄到,抄表率依旧为100%,在B位置时,3号和4号楼的地下1层、地下2层都能抄到,其余楼栋地下抄不到。图6 设备摆放示意图图7 集中器位置3)长期抄表测试为了检验LoRaWAN燃气表长期抄表情况,在本公司内部进行了长期抄表测试,实验样品数为500个样表,集中器放置在公司楼顶,如图7所示,楼高为四层,表具放置在公司员工宿舍洗手池下,模拟实际安装使用情况,如图8所示,位置为1~4楼。图8 被测表具位置图9 某时段抄表率统计实验期间表端间隔8小时上传一次实时气量数据,一次抄表成功率计算方法为:一次抄表成功率 = 每天实际上传数据量/每天应上传数据量,日抄表成功率计算方法为:日抄表成功率 = 该日成功上传数据的表具数量/实验表具总数量,以下为实验数据:以上实验数据表明,LoRaWAN表通讯距离良好,在低层建筑分布地区通讯距离能够达到4.4公里以上;在一般城市高层住宅内能够保证良好通信;在长期测试环境下,日抄表率为100%,一次抄表率在94%~100%之间。5、总结本文介绍了LoRa的技术特点以及LoRaWAN协议的网络架构,并分析了燃气抄表的应用场景需求,分析了几种无信通信技术的特点,指出LoRaWAN协议针对该需求的优异性。同时介绍了本公司LoRaWAN燃气表研发及实验情况,总结分析实验数据可以发现基于LoRaWAN协议的广域低功耗射频通讯技术能够实现覆盖范围广、抄收成功率高,完全适用于燃气计量自动抄表应用,另外其成本低廉的特点更适合于城市燃气居民用户抄表。参考文献...了解详情

干货:关于NB-IoT的27个技术对答

1、NB-IoT的网络架构如何组成建设基于NB-IoT技术的物联网垂直行业应用将趋于更加简单,分工更加明晰。2 国内外运营商对NB-IoT的频段是如何划分的全球大多数运营商使用900MHz频段来部署NB-IoT,有些运营商部署在800MHz频段。中国联通的NB-IoT部署在900MHz、1800MHz频段,目前只有900MHz 可以试验。中国移动为了建设NB-IoT物联网,将会获得FDD牌照,...了解详情

LoRa联盟:LoRaWAN安全性若干问答

在互联网和物联网的世界,安全始终是人们最为关心的问题之一。LPWAN领域发展较为成熟的LoRaWAN在安全性方面有特殊的考虑和设定,以下是安全方面的若干问题与解答。1、LoRaWAN安全机制怎么进行说明的?所有的安全机制在LoRa的协议中有具体说明,目前LoRaWAN标准协议1.0和1.0.2已通过官方渠道发布,可以下载。1.1还在修订中。2、LoRa的安全机制是如何保证LoRaWAN网络的安全操...了解详情

LoRaWAN 一些概念解释

本文对LoRaWAN中的一些大家不理解的概念进行说明。1 占空比(DutyCycle)维基百科-占空比中这样说:占空比(Duty Cycle)在电信领域中有如下含义:在一串理想的脉冲序列中(如方波),代表1的正脉冲的持续时间与脉冲总周期的比值。例如:脉冲宽度1μs,信号周期4μs的脉冲序列占空比为0.25。在一段连续工作时间内脉冲占用的时间与总时间的比值。在CVSD调制(continuously variable slope delta modulation)中,比特“1”的平均比例(未完成)。在周期型的现象中,现象发生的时间与总时间的比。对于方波或其他应用场合,通常称为责任周期或工作周期(Duty Cycle)。在这里可以这样理解:节点发射LoRaWAN数据的时间1与发射周期的比值就是占空比。占空比是周期的另一种表示方式,通过比值来动态约束节点的发送周期。节点在本周期结束后才可以开始下一个周期。例如:470频段占空比 1%,节点使用该频段发送一组数据耗时 10 ms,那么这个节点的本次发送周期为T1。节点在本周期结束,也就是 T1−10ms 以后才可以再次发送数据。T1=101%=1000ms需要等待 1000−10=990ms才可以再次发送。计算过程中注意时间单位2 一致性校验码(MIC)LoRaWAN中的MIC是CMAC的四个最低有效字节,这一点在LoRaWAN协议中有说明:The MIC is calculated as follows [RFC4493]:msg = MHDR | FHDR | FPort | FRMPayloadcmac = aes128_cmac(NwkSKey, B 0 | msg)MIC = cmac[0..3]CMAC则是AES中的一个算法,开发人员直接调用AES库函数即可,而AES在openssl中有实现。CMAC描述见:维基百科-CMACRFC4493来源:CSDN 作者:qingchuwudi了解详情

物联网技术标准学习之NB-IOT和LoRa详解

物联网的快速发展对无线通信技术提出了更高的要求,专为低带宽、低功耗、远距离、大量连接的物联网应用而设计的LPWAN(low-power Wide-Area Network,低功耗广域网)也快速兴起。NB-IoT与LoRa是其中的典型代表,也是最有发展前景的两个低功耗广域网通信技术。NB-IoT和LoRa两种技术具有不同的技术和商业特性,所以在应用场景方面会有不同。这里会针对二者的区别进行阐述,并且...了解详情

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

了解物联网安全-第2部分(2/3):物联网云的安全和生命周期管理

在本站已分析了“了解物联网安全”的第1部分(LoRa物联站),其中第一部分我们从设备和通信层的角度来看物联网的安全架构。在这篇文章中,分析“了解物联网安全”的第2部分:我们把重点转移到云计算和生命周期管理,提出完全不同挑战和风险。连世界各国的领导人也开始关注将数十亿互联网设备接入互联网的担忧。世界经济论坛最近委托了一份报告,以创建一套指导方针,专为董事会层面使用,解决在新兴市场基于超连接技术的网络...了解详情