LoRa模块SX1278与ESP32结合使用的方法-上

电子说

1.3w人已加入

描述

在本篇文章中,我们将学习如何将LoRa模块SX1278与ESP32结合使用。在这里,我们将使用两个LoRa模块-一个连接到ESP32,另一个连接到Arduino开发板。ESP32 LoRa设置将从任何给定城市的API请求天气数据,并将其发送到Arduino LoRa设置。然后Arduino LoRa将接收数据并将其显示在LCD显示屏上。因此ESP32 LoRa部分将作为发射器,而Arduino LoRa部分将充当接收器。在ESP32上还连接了OLED,实现在发射器显示温度和湿度。

所需的组件

● ESP32控制器

● Arduino Uno开发板

● Arduino Lora扩展版

● LoRa-02 SX1278模块

● LCD模块1602

● OLED显示模组

● 面包板

● 跳线

电路原理图

以下是LoRa发射器/服务器和接收器/客户端部分的电路图。在本文中,我们将使用LoRa SX1278模块将天气数据从ESP32模块发送到Arduino Uno开发板。温度和湿度数据将使用API从Internet读取,然后从ESP32模块使用LoRa模块发送到Arduino。

发射器部分 - ESP32与LoRa模块的连接图

在发送端,我们将ESP32连接到LoRa模块和OLED显示屏。电路图如下所示。LoRa模块

LoRa模块

下表列出了ESP32和SX1278模块之间的完整连接。

LoRa SX1278模块 ESP32
3.3V 3.3V
GND GND
NSS D5
DIO0 D2
SCK D18
MISO D19
MOSI D23
RST D14

接收器部分 - LoRa模块与Arduino UNO的连接

在接收器方面,我们使用一款Arduino Lora扩展板。该扩展板由SX1278模块和一个LM317稳压器设计的3.3V稳压器组成。扩展板直接插在Arduino上面,为其提供LoRa功能。LoRa Arduino扩展板的完整电路图如下:LoRa模块

获取天气数据的API链接

如前所述,我们需要API链接才能从Internet请求天气数据。在这里,我们将使用WeatherAPI,该API具有非常简单易用的API,可让我们检索天气信息。因此,首先在网站上注册账户以获取API链接。

注册后,转到“My Account”并获取API。API密钥用于发出获取数据的请求。

现在返回并单击“ API Explorer”

LoRa模块

现在,在“API Explorer”页面上,输入API和城市名称。LoRa模块

然后向下滚动并单击“Show Response”按钮制作一个请求。它将为您提供API密钥。

LoRa模块

现在,将您的API URL粘贴到新的浏览器标签中,查询的输出将如下所示(JSON数据):

LoRa模块

获取JSON数据后,生成代码,我们可以通过该代码读取JSON数据并根据需要对其进行断句设置。转到ArduinoJson Assistant,然后将JSON数据粘贴到Input部分中。

LoRa模块

现在向下滚动到解析程序,然后复制对您有用的代码部分。

ESP32 LoRa发射器代码

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分