电子说
在本篇文章中,我们将学习如何将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显示屏。电路图如下所示。
下表列出了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扩展板的完整电路图如下:
获取天气数据的API链接
如前所述,我们需要API链接才能从Internet请求天气数据。在这里,我们将使用WeatherAPI,该API具有非常简单易用的API,可让我们检索天气信息。因此,首先在网站上注册账户以获取API链接。
注册后,转到“My Account”并获取API。API密钥用于发出获取数据的请求。
现在返回并单击“ API Explorer”
现在,在“API Explorer”页面上,输入API和城市名称。
然后向下滚动并单击“Show Response”按钮制作一个请求。它将为您提供API密钥。
现在,将您的API URL粘贴到新的浏览器标签中,查询的输出将如下所示(JSON数据):
获取JSON数据后,生成代码,我们可以通过该代码读取JSON数据并根据需要对其进行断句设置。转到ArduinoJson Assistant,然后将JSON数据粘贴到Input部分中。
现在向下滚动到解析程序,然后复制对您有用的代码部分。
ESP32 LoRa发射器代码
全部0条评论
快来发表一下你的评论吧 !