风筝
发表于: 2022-4-27 16:39:13 | 显示全部楼层

在过去的几年里,有许多通信技术可用于物联网设备之间的交互。最受欢迎的是Wi-Fi技术和蓝牙模块。但是它们都有一些不足之处,例如有限的通信距离和接入点。Wi-Fi和蓝牙技术的功耗很高,如果您使用电池供电的移动设备,电池电量会很快耗尽。


蜂窝网络和局域网也是如此,它们也存在高功耗问题。局域网和蜂窝网络覆盖广泛区域都非常昂贵。在过去的几年里,物联网行业引入了许多技术,但没有一个被证明是理想的。物联网设备需要在不消耗大量电力的情况下长距离传输信息。因此,当LoRa技术被引入时,物联网领域发生了一场革命。LoRa技术可以以低功耗执行超远距离传输。Lora应用包括智能水监测、电器远程控制、智能停车、自主灌溉、智能农业和土壤健康监测。


在本篇文章中,我们将介绍如何将SX1278 LoRa模块Ra-02连接到Arduino开发板。在示例中,我们将使用SX1278 LoRa和Arduino制作发射器和接收器电路,实现使用电位器无线控制LED灯的亮度。


什么是LoRa技术?

Lora-Logo.jpg


LoRa一词全称是Long Range,代表长距离。它是一个远程、低功耗的无线平台,已成为全球物联网网络的事实技术。LoRa是一种源自啁啾扩频 (CSS) 技术的扩频调制技术。该技术是由一家名为Semtech的公司推出的。


LoRa模块实际上有不同的频率范围,最常见的是433MHz、915MHz和868MHz。这种LoRa技术可用于将双向信息传输到长距离(15-20 公里),而不会消耗太多功率。该技术可用于公共、专用或混合网络,并提供比蜂窝网络更大的覆盖范围。LoRa技术可以轻松插入现有基础设施,并支持低成本电池供电的物联网应用。


了解LoRa技术及其工作原理

基本原理是使用啁啾(chirp)(载波频率随时间逐渐增加或减少)对信息进行编码。在发送消息之前,LoRa发射器会发出一个啁啾信号,以检查频段是否可以自由发送消息。一旦LoRa接收器从发送器接收到前导码啁啾,反向啁啾会发出前导码结束的信号,这会告诉LoRa发送器可以开始传输。

Lora-Architecture.jpg


在上图所示的架构中的各个组件信息如下:

1.  设备:

由LoRa调制、收发器和终端节点以及微微蜂窝和网关组成。

A. LoRa调制:LoRa技术是物理 (PHY) 硅层或无线调制,用于创建远程通信链路。

B. 收发器和终端节点:采用LoRa技术配置的收发器嵌入到终端节点或传感器设备中,专为众多行业应用而设计。

C. Picocells和网关:传感器以最小的功率要求捕获远近、室内和室外的距离并将数据传输到网关。


2.  网络服务器:

网关通过Wi-Fi、以太网或蜂窝网络向网络服务器发送信息,网络服务器负责无线激活、重复数据删除、动态帧路由、自适应速率控制、流量管理和管理等网络管理功能。


3.  应用服务器和云物联网服务:

应用程序解释由支持LoRa的设备收集的数据,应用机器学习和人工智能等技术来解决智慧星球的业务问题。


Semtech SX1278 LoRa模块

SX1276/77/78/79收发器采用LoRa远程调制解调器,可提供超远程扩频通信和高抗干扰性,同时最大限度地减少电流消耗。

LoRa-SX1278.jpg


SX1278可以使用低成本晶振实现超过-148dBm的灵敏度。高灵敏度与集成的+20dBm功率放大器相结合,产生了行业领先的链路预算,使其成为任何需要范围或稳健性的应用的最佳选择。与传统调制技术相比,Lora SX1278在阻塞和选择性方面也具有显着优势,解决了传统设计在范围、抗干扰性和能耗之间的折衷问题。


Semtech SX1278模块的应用

1.   自动抄表

2.   家庭和楼宇自动化

3.   无线报警和安全系统

4.   工业监控

5.   远程灌溉系统


Semtech SX1278模块引脚排列

市场上有不同版本和类型的SX1278分线板模块。但基本上它们都具有相同的引脚排列,因为LoRa SX1278是一个SPI模块。本文使用的是以下的模块。

SX1278-Pinout.jpg


该SX1278模块有12个用于与微控制器连接的引脚以及另外两个用于天线的引脚。

SX1278-Pinout-0.jpg


SX1278 LoRa模块与Arduino的硬件连接

本文使用的LoRa模块是SX1278 Ra-02,工作频率为433MHz。但是这个模块不是面包板友好的,也没有焊接天线。因此,需要焊接了几个插头,使其对面包板友好。同时还焊接了天线。

Lora-SX1278-Connector.jpg


现在让我们学习SX1278模块与Arduino的连接。本文将使用两个LoRa模块和两个Arduino开发板,从其中一个Arduino开发板上发送数据并在另一个板上接收数据。我们将在发送端使用Arduino Nano,在接收端使用Arduino Uno。

Interfacing-SX1278-LORA-Arduino.jpg


让我们分别看看发射器和接收器部分的电路。


Arduino和LoRa SX1278组成的发射器部分

Arduino开发板和LoRa SX1278模块组成的发射器的电路图如下所示。您可以为该电路制作PCB,也可以在面包板上将其组装。

Arduino-Lora-Transmitter-Circuit.jpg


LoRa SX1278模块不兼容5V电平,因此不要为其提供5V电压,否则电路板会损坏。将VCC引脚连接至Arduino的3.3V引脚。将所有GND引脚连接到Arduino的GND。将RST引脚连接到Arduino开发板的D9引脚,DIO0引脚连接到D2。将SPI引脚NSS、MOSI、MISO、SCK分别连接到Arduino开发板的D10、D11、D12、D13,如上图电路图所示。


使用10K电位器,将电位器的中间引脚连接到Arduino开发板的A0,其余两个引脚分别连接到GND和5V。

Arduino-LoRa-Transmitter.jpg


Arduino和LoRa SX1278组成的接收器

同样,Arduino开发板和LoRa SX1278模块组成的接收器的电路图如下所示。您可以为该电路制作PCB,也可以在面包板上将其组装。

Arduino-Lora-Receiver-Circuit.jpg


LoRa SX1278模块不兼容5V电平,因此不要为其提供5V电压,否则电路板会损坏。将VCC引脚连接至Arduino的3.3V引脚。将所有GND引脚连接到Arduino的GND。将RST引脚连接到Arduino开发板的D9引脚,DIO0引脚连接到D2。将SPI引脚NSS、MOSI、MISO、SCK分别连接到Arduino开发板的D10、D11、D12、D13,如上图电路图所示。


将LED指示灯连接到Arduino开发板的D3引脚。

Arduino-LoRa-Receiver.jpg


代码

要实现在两个LoRa模块之间的通信,需要使用LoRa库。转到库管理器,搜索LoRa并安装。

LORA-Library.jpg


发射器电路部分的完整代码: Transmitter.rar (386 Bytes, 下载次数: 38)

接收器电路部分的完整代码: Receiver.rar (478 Bytes, 下载次数: 36)


上传代码后,您可以开始测试,旋转电位器的旋钮并观察LED的亮度。也可以检查串口监视器中的值。

Serial-Result.jpg


以上就是将SX1278 LoRa模块Ra-02连接到Arduino开发板的全部内容。如果有任何疑问,请随时在本帖下面回复。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 705 | 回复: 1492



手机版|

GMT+8, 2024-12-12 00:49 , Processed in 0.057309 second(s), 9 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表