风筝
发表于: 2022-4-27 15:27:41 | 显示全部楼层

在本篇文章中,我们将介绍如何使用LoRa SX1278模块Ra-02和Arduino开发板通过无线方式发送和接收传感器数据。我们将使用DHT11湿度和温度传感器,并使用SX1278 LoRa模块将温度和湿度值从一个 Arduino 无线发送到另一个。


在过去的几年里,有许多通信技术可用于物联网设备之间的交互。最受欢迎的是Wi-Fi技术和蓝牙模块。但它们都有一些不足之处,例如有限的范围、有限的接入点和高功耗。因此,Semtech引入了LoRa技术来解决所有这些问题。该设备使用单节电池运行一年以上。

SX1278-Arduino-Lora-DHT11.jpg


在本文中,我们将使用DHT11温湿度传感器,并将温度和湿度值从一个Arduino开发板无线发送到另一个Arduino开发板。其中一个LoRa SX1278模块用作发射器,将传感器数据传输到另一个LoRa SX1278接收器。


所需的组件

●    Arduino UNO开发板

●    SX1278 Lora模块

●    DHT11温湿度传感器

●    连接跳线

●    面包板


Semtech SX1278 LoRa模块

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

LoRa-SX1278.jpg


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


Semtech SX1278模块引脚排列

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

SX1278-Pinout.jpg


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

SX1278-Pinout.png


DHT11温湿度传感器

DHT11是一款基本的、超低成本的数字温湿度传感器。它使用电容式湿度传感器和热敏电阻来测量周围的空气,并在数据引脚上输出数字信号(不需要模拟输入引脚)。

dht11.jpg


它使用起来相当简单,但需要时间来获取数据。该传感器唯一真正的缺点是每2秒只能从中获取一次新数据,因此在使用该库时,传感器读数最多可以是2秒。


使用LoRa SX1278模块和Arduino无线发送传感器数据

现在让我们将SX1278 LoRa模块与Arduino开发板和DHT11传感器连接起来。我们需要进行两种不同的设置,一种作为发射器,另一种作为接收器。


Arduino、Lora SX1278以及DHT11组成的发射器

让我们首先设置发射器部分。发射器部分包含Arduino Nano开发板、DHT11温湿度传感器和LoRa SX1278模块。电路图如下所示。如下图所示组装电路。

Arduino-LoRa-SX1278-DHT11-Transmitter.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,如上图电路图所示。


将DHT11温湿度传感器的VCC、Out和GND引脚分别连接到Arduino开发板的VCC、A0和GND。

Tx.jpg


Arduino和Lora SX1278的接收器

现在让我们现在设置接收器部分。接收器部分包含Arduino Nano开发板和LoRa SX1278模块。电路图如下所示。如下图所示组装电路。

Arduino-Lora-Receiver-Circuit-1.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,如上图电路图所示。

RX.jpg


代码

对于两个LoRa模块之间的通信,您需要有LoRa库。要获取LoRa库,请转到库管理器并搜索LoRa并安装。

LORA-Library.jpg


安装库后,您可以上传发射器和接收器代码并了解如何使用LoRa SX1278和Arduino无线发送传感器数据。


发射器部分的完整代码: Transmitter.rar (480 Bytes, 下载次数: 61)

接收器部分的完整代码: Receiver.rar (412 Bytes, 下载次数: 45)


上传代码后,您可以打开串口监视器并在接收器端查看接收到的数据。 您可以将发射器放置在最远端,并在串口监视器上观察接收器的数据。

Serial-Screenshot.jpg


以上就是如何使用LoRa SX1278模块Ra-02和Arduino开发板通过无线方式发送和接收传感器数据的全部内容。如果有任何疑问,请随时在本帖下面回复。

跳转到指定楼层
张秋南
发表于: 2023-6-2 16:52:05 | 显示全部楼层

不错,正好拿来学买。能用lora传SBUS信号吗?
回复

使用道具 举报

YICHI
发表于: 2023-10-27 18:08:02 | 显示全部楼层

您好,我连接完成后显示LoRa Receiver
Starting LoRa failed!
怎么解决呀
回复

使用道具 举报

penny
发表于: 2023-11-16 11:51:30 | 显示全部楼层

提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

1162535779
发表于: 2024-2-29 18:49:39 | 显示全部楼层

板子连接好后怎么进行数据的传输?程序能运行,但是接收端没有数据出来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 705 | 回复: 1492



手机版|

GMT+8, 2024-12-11 23:56 , Processed in 0.047328 second(s), 7 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

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

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