STM32--LoRa通信模块

LoRa技术前序 

LoRa之前的主要无线通信协议分为一下三种:

第一类是远距离高速率的传输协议,典型协议包括蜂窝网络通信技术,如3G、4G、5G相关技术等,这是我们目前移动通信使用的典型技术。
第二类是近距离高速率传输技术,如WiFi、蓝牙等,这些技术传输距离在几十到几百米级别,主要用在家庭环境和日常应用中,使用非常广泛,前面两类可能是一般用户最常使用到的网络协议了,也符合传统网络应用的主要特点和需求。
第三类是近距离低功耗传输技术,如传统物联网中ZigBee、RFID、低功耗蓝牙等。

Lora   VS 其他无线技术


上面三类技术大都要求较高的信噪比,并且对障碍的穿透性较小,无法在复杂环境中实现远距离低功耗传输。低功耗广域网有效的弥补了现有物联网连接方法的不足,成为支持物联网连接的重要基础,得到了国内外的广泛关注,并成为了国内外的研究和应用前沿。

LoRa作为目前广泛使用的低功耗广域网技术(LPWAN),为低功耗物联网设备提供了可靠的连接方案。 如下图所示,相比于Wi-Fi、蓝牙、ZigBee等传统无线局域网,LoRa可以实现更远距离的通信,有效扩展了网络的覆盖范围; 而相比于移动蜂窝网络,LoRa具有更低的硬件部署成本和更长的节点使用寿命,单个LoRa节点可以在电池供电的情况下连续工作数年。 LoRa具有低数据率、远距离和低功耗的性质,因此非常适合与室外的传感器及其他物联网设备进行通信或数据交互。

LPWAN (Low Power Wide Area Network)指的是低功耗广域网,其特点在于极低功耗,长距离以及海量连接,适用于物联网万物互联的场景。LPWAN不只是一种技术,而是代表了一族有着各种形式的低功耗广域网技术,如下图所示。其中LoRa使用的是一种扩频技术,NB-IoT使用的是窄带技术,这是两种有代表性的低功耗广域网技术。

Lora   VS   NB-loT

LoRa(Long Range)和NB-IoT(Narrowband Internet of Things)是两种有代表性的低功耗广域网(LPWAN)技术,主要用于物联网(IoT)应用。它们在技术实现、应用场景、优缺点等方面有显著差异。

1. 技术实现

LoRa

  • 扩频技术:LoRa使用的是扩频技术,具体来说是基于线性调频(Chirp Spread Spectrum, CSS)的调制方式。这种调制方式通过扩展信号带宽,提高信号的抗干扰能力和传输距离。
  • 频段LoRa通常工作在未授权的ISM频段,如433 MHz、868 MHz(欧洲)和915 MHz(北美)。
  • 架构:LoRaWAN是LoRa的网络协议,使用星型拓扑结构,设备直接与网关通信,再由网关与中央服务器通信。

NB-IoT

  • 窄带技术:NB-IoT使用的是窄带技术,主要基于LTE技术。它将频谱资源集中在较窄的频带上(通常为200 kHz),提高频谱效率和覆盖能力。
  • 频段NB-IoT使用授权频谱,通常是运营商现有的LTE频段。
  • 架构:NB-IoT使用蜂窝网络架构,借助现有的LTE基础设施,设备与基站通信,再由基站接入核心网络。

2. 应用场景

LoRa

  • 适用场景:LoRa适用于需要低成本、长距离和低功耗的场景,例如智慧农业、环境监测、智能城市和资产跟踪。
  • 部署灵活性:可以由个人、企业或社区自行部署,不依赖于运营商。

NB-IoT

  • 适用场景:NB-IoT适用于需要广覆盖、高可靠性和较高数据速率的应用,如智能抄表、智能停车、智慧物流和智能家居。
  • 运营商支持:由电信运营商提供服务,利用现有的蜂窝网络基础设施,适合大规模商业部署。

3. 优缺点对比

LoRa

  • 优点
    • 低成本:硬件和网络部署成本较低。
    • 长距离:在开阔地带可以达到几公里甚至十几公里的传输距离。
    • 自主部署:可以不依赖于电信运营商,自行搭建网络。
  • 缺点
    • 频段限制:使用未授权频段,可能面临干扰问题。
    • 网络容量:每个网关的连接设备数有限。

NB-IoT

  • 优点
    • 广覆盖:利用蜂窝网络,覆盖范围广且信号稳定。
    • 高可靠性:使用授权频谱,干扰少,通信稳定。
    • 运营商支持:由运营商维护网络,用户只需关注终端设备。
  • 缺点
    • 成本较高:设备成本和网络服务费用较高。
    • 功耗稍高:尽管是低功耗技术,但相对于LoRa而言功耗仍然较高。

4. 典型应用示例

LoRa

  • 智慧农业:土壤湿度传感器、温度传感器、风速计等数据传输。
  • 环境监测:空气质量监测、噪音监测、水质监测等。
  • 资产跟踪:物流货物跟踪、共享单车定位等。

NB-IoT

  • 智能抄表:水、电、气表数据自动上传。
  • 智慧停车:停车位检测、车位状态上传。
  • 智能家居:烟雾报警器、智能门锁、环境传感器等。

总结来说,LoRa和NB-IoT各有优势,适用于不同的物联网应用场景。LoRa适合需要低成本和长距离的应用,而NB-IoT则适合需要广覆盖和高可靠性的应用。选择哪种技术取决于具体应用需求、部署环境和成本考量。

LoRa技术简介

LoRa 是 Long Range Communication的简称,我们可以从三个不同的角度来理解LoRa这门技术。从而获得对LoRa这么技术完整的理解。

LoRa本质上指的是一种物理层的信号调制方式,是 Semtech 公司定义的一种基于Chirp扩频技术的物理层调制方式,可达到-148 dBm的接收灵敏度,以偏小的数据速率(0.3-50kbps)换取更高的通讯距离(市内3km,郊区15km)和低功耗(电池供电在特定条件下可以工作长达10年)。
 从系统角度看,LoRa也指由终端节点、网关、网络服务器、应用服务器所组成的一种网络系统架构:LoRa定义了不同设备在系统中的分工与作用,规定了数据在系统中流动与汇聚的方式。
从应用角度看,LoRa为物联网应用提供了一种低成本、低功耗、远距离的数据传输服务:LoRa在使用10mW射频输出功率的情况下,可以提供超过25km视线传输距离,从而支持大量广域低功耗物联网应用。

Chirp扩频技术:

LoRa (Long Range) 是一种低功耗广域网技术,其核心优势在于使用了 扩频技术,具体来说,是基于 线性调频扩频(Chirp Spread Spectrum, CSS) 的调制方式。下面详细解释这种技术及其优点。

1. 扩频技术(Spread Spectrum Technology)

扩频技术是一种无线通信技术,通过扩展信号的带宽来提高信号的抗干扰能力和安全性。主要有两种扩频技术:

  • 直接序列扩频(Direct Sequence Spread Spectrum, DSSS)
  • 线性调频扩频(Chirp Spread Spectrum, CSS)

LoRa采用的是后者,即CSS。

2. 线性调频扩频(Chirp Spread Spectrum, CSS)

线性调频(Chirp) 指的是信号的频率随时间线性变化,这种频率变化可以是上升(从低频到高频)或下降(从高频到低频)。CSS通过将信息嵌入到线性变化的频率信号中,实现信号的调制和解调。

工作原理
  • 发射端(调制):在发射端,LoRa设备将数据调制到线性调频信号上。即通过改变频率来表示数据。具体来说,一个数据比特可以通过一个从低频到高频或从高频到低频的chirp来表示。
  • 接收端(解调):在接收端,设备检测到这些频率变化,通过相应的解调算法将其转换回数据。
优点
  1. 抗干扰能力强:由于信号频率随时间线性变化,CSS对窄带干扰有很强的抵抗能力。如果有干扰存在,仅仅是影响到频谱的一部分,不会导致整个信号的损失。
  2. 长距离传输:CSS可以在低信噪比(SNR)的环境中工作,这意味着可以实现长距离传输。信号在传输过程中衰减较少,穿透能力强。
  3. 低功耗:CSS技术使得LoRa设备在传输过程中功耗极低,非常适合电池供电的物联网设备,能够延长设备的使用寿命,LoRa设备在待机模式下消耗极少的能量,并且发送和接收数据时的能量消耗也很低。发射电流 118ma(20dbm 100mw 电压 5V)接收电流 17ma(一般模式、一般模式),最低约 2.3uA(省电模式+2S 唤醒)
举例说明

设想一个LoRa设备发送一个数据比特,这个比特可以表示为一个chirp信号:

  • 上升chirp:从低频逐渐上升到高频。
  • 下降chirp:从高频逐渐下降到低频。

在发射端,这些chirp信号被发射到空气中。在接收端,通过检测这些chirp信号的频率变化模式,接收设备能够还原出原始数据。

正点原子Lora模块

ATK-LORA-01_V3.0(V3.0 是版本号,型号是 ATK-LORA-01 ,下面均以 ATK-LORA-01表示该产品) ALIENTEK 推出的一款体积小、微功率、低功耗、高性能远距离 LORA 无线串口模块。 模块设计是采用高效的 ISM 频段射频 SX1278 扩频芯片,模块的工作频率410Mhz~441Mhz,以 1Mhz 频率为步进信道,共 32 个信道 ,可通过 AT 指令在线修改串口速率,发射功率,空中速率、工作模式等各种参数。

ATK-LORA-01 模块具有:体积小、灵敏度高、支持低功耗省电,特点包括:
1 、工业频段: 433Mhz 免申请频段
2 、多种功率等级(最大 20dBm ,最大 100mW
3 、多种串口波特率(与开发板串口相连)、空中速率、工作模式
4 、支持空中唤醒功能,低接收功耗
5 、发送和接收长度:双 512 字节 环形 FIFO
6 、频率 410-441Mhz ,提供 32 个信道
7 、接收灵敏度达 -136dBm ,传输距离 3000
8 、自动分包传输,保证数据包的完整性

补充:

双 512 环形 FIFO 是一种存储器结构,用于缓存数据或指令以及在数据处理系统中进行流量控制。这种结构通常用于在数据传输速率不匹配的情况下进行数据交换,比如在处理器和外设之间。

让我们逐步解释这个术语:

  1. FIFO(First-In-First-Out):这是一种队列的数据结构,其中最先进入队列的数据最先被取出,就像水龙头中的水流一样。在计算机科学中,FIFO 通常用于缓存和数据传输中,确保数据按照其到达的顺序进行处理。

  2. 双 512:这指的是这种 FIFO 结构内部有两个独立的 FIFO 缓冲区,每个缓冲区的容量为 512字节。这两个缓冲区可以分别用于不同的数据流或任务。

  3. 环形:环形意味着这些 FIFO 缓冲区被设计成环形的,也就是说,当数据被写入到最后一个位置时,它们将回到起始位置,形成一个循环。

工作频段:

LoRa(Long Range)是一种低功耗广域网(LPWAN)技术,使用的频段通常在较低频率范围内。这些频段在全球范围内有所不同,但一般集中在以下未授权的ISM(工业、科学和医学)频段:

  1. 欧洲:868 MHz(主要频段)
  2. 北美:915 MHz(主要频段)
  3. 亚洲:433 MHz 和 868 MHz
  4. 其他地区:不同地区有不同的频段规定,但大多数国家和地区都使用这些主要频段之一。

工作频率的单位MHz(兆赫兹)是衡量电磁波振荡频率的单位,表示每秒钟发生多少次周期性变化。具体来说,1 MHz 等于 1,000,000(百万)赫兹(Hz)。

电磁波震荡的表现可以通过以下几个方面理解:

  1. 波形图:在波形图上,可以看到电场和磁场强度随时间或空间变化的正弦波曲线。每一个完整的波峰和波谷代表一次完整的震荡周期。

  2. 传播特性:频率越高,电磁波的波长越短,震荡越快。例如,868 MHz 的电磁波在空间中每秒钟震荡868,000,000次,表现为波长较短、震荡频繁。

一、模块连接图

二、模块功能介绍

模块根据 MD0 的配置与 AUX 引脚的状态会进入不同的功能
其中在通信功能下,包含 4 种工作模式

三、快速了解

发送模式:透明传输和定向传输

由此可见,透明传输是指发送的信息和设备接收到的消息是一样的。定向传输的模式是指设备发送的信息需要有前缀,发送格式:高位地址+低位地址+信道+用户数据,这些前缀数据是十六进制,指定特定的设备收到信息,在定向传输模式下串口接收到带前缀的数据,会将十六进制的前缀转化为字符串输出。

四、配置功能

上电后,当 AUX 为空闲状态( AUX=0 ), MD0 设置高电平( MD0=1 时,模块会工 作在“配置功能”,此时无法发射和接收无线数据。在“配置功能”下,串口需设置:波特率“115200 ”、停止位“ 1 ”、数据位“ 8 ”、奇偶校验位“无”,通过 AT 指令设置模块的工作参数,部分AT指令如下:
通过正点原子提供 ATK-LORA 配置软件,发送 AT 指令即可以对模块参数进行配置,ATK-LORA 配置软件如图 2.3.2.4 所示:
注意
进入配置功能,串口需设置:“波特率: 115200 8 位数据位、 1 位停止位、无校验位”, 退出配置功能,返回无线通信需设置通信下的串口参数,以免无线通信下工作不正常。

四、通信功能

1、透明传输

1)点对点

1 ,地址相同、信道相同、无线速率(非串口波特率)相同的两个模块,一个模块发送,另外一个模块接收(必须是:一个发,一个收)
2 ,每个模块都可以做发送 / 接收。
3 ,数据完全透明,所发即所得。

2)点对多

1 ,地址相同、信道相同、无线速率(非串口波特率)相同的模块,任意一个模块发送,
其他模块都可以接收到。
2 ,每个模块都可以做发送 / 接收 .
3 ,数据完全透明,所发即所得
点对点: 两个 模块地址、信道、速率相同
点对多: 多个 模块地址、信道、速率相同

2、定向传输

点对点

1 ,模块发送时可修改地址和信道,用户可以指定数据发送到任意地址和信道。
2 ,可以实现组网和中继功能。
发送模块( 1 个): 地址 + 信道 + 数据
接收模块( 1 个):数据
区别点:
点对点(透传):模块地址、信道、速率相同
点对点(定向): 模块地址可变 信道可变 ,速率相同

五、数据流控制

如图所示,模块内部是存在 FIFO 的,发送通过获取 FIFO 里的用户数据 RF 发射出去,接收则将数据存到模块 FIFO ,再发送回给用户。这时如果用户设备通过串口到模块的数据量太大,超过模块 512 字节 FIFO 很多时,会存在溢出现象,数据出现丢包,此时建议模块发送方降低串口速率并且提高空中无线速率(串口速率 < 空中无线速率),从而提高缓存区的数据流转效率,减少数据溢出的可能。而模块接收方则应提高串口速率(串口速率 > 空中无线速率),提高输出数据的流转效率。模块在数据包过大的情况下,不同的串口波特率和空中无线速率配置下,会有不同的数据吞吐量,具 体数值以用户实测为准。( 注意 发射 和接收模块需工作在“一般模式”下 。)
(注:这有点像经典水池子问题,一个龙头进水,一个龙头出水,怎么样才能保持池子不满溢)

六、软件流程编写简述

1)函数中,先对通信串口设置波特率 115200 、无校验位的设置,然后进入配置功能模式,发送 AT 指令配置设备地址、信道、空中速率等参数
2)配置完成后退出配置功能模式,改变MD0的引脚状态进入通信模式,同时通信串口重新设置回通信下的设置
3)最后设置 AUX 中断为上升沿中断,等待数据接收或数据的发送。AUX引脚与MCU上一根外部中断线或gpio中断口相连,注册、设置中断服务函数,当AUX上升沿到来就执行中断服务函数,将buffer(要发送的信息数组)里的数据从串口发送或接收。


原文链接:https://blog.csdn.net/geek_liyang/article/details/131350237

  • 16
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!关于STM32HAL库与LoRa通信模块的问题,我可以为您提供一些基本信息。 STM32HAL库是STMicroelectronics提供的一种针对STM32微控制器的硬件抽象层(Hardware Abstraction Layer)。它提供了一系列的函数和驱动程序,方便开发人员在不同的STM32系列芯片之间进行移植和开发。 至于LoRa通信模块LoRa是一种低功耗远距离无线通信技术,适用于物联网(IoT)应用。LoRa通信模块基于LoRa技术,通过无线电波进行通信,具有长距离传输、低功耗和大容量等特点。 在使用STM32HAL库与LoRa通信模块时,您可以通过以下步骤进行操作: 1. 硬件连接:将LoRa通信模块STM32微控制器连接。通常情况下,您需要将模块的SPI接口、GPIO引脚等与STM32微控制器的对应引脚相连。 2. 初始化STM32HAL库:在代码中使用STM32HAL库的相应函数进行初始化。这些函数包括GPIO初始化、SPI初始化等。 3. 配置LoRa通信模块:使用STM32HAL库的相关函数配置LoRa通信模块的参数,例如频率、发射功率、扩频因子等。 4. 发送和接收数据:使用STM32HAL库的函数进行LoRa通信模块的数据发送和接收操作。您可以通过SPI接口与模块进行数据交互。 需要注意的是,具体的操作细节和代码实现可能会根据您所使用的具体STM32微控制器型号和LoRa通信模块型号而有所差异。因此,建议您参考STM32HAL库和LoRa通信模块的相关文档和示例代码,以获得更详细的信息。 希望这些信息对您有所帮助!如果您还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值