在本篇文章中,我們將學習如何將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發射器代碼
-
API
+關注
關注
2文章
2368瀏覽量
66757 -
LoRa模塊
+關注
關注
5文章
152瀏覽量
15290 -
ESP32
+關注
關注
26文章
1194瀏覽量
21678
發布評論請先 登錄
高靈敏度的RF模塊SX1278和sx1276的區別
如何使用Lora模塊SX1278實現ESP8266之間的無線通訊
基于流行的SX1276/SX1278無線模塊的E32 UART LoRa設備配置
基于流行的SX1276/SX1278無線模塊的E32 UART LoRa設備來發送復雜的結構和管理節電
SX1278無線模塊特點及引腳功能
使用SX1278無線模塊進行Lora接收和發送demo的代碼資料免費下載
用于Arduino、esp32或esp8266的Ebyte LoRa E32(SX1278)設備:配置 - 第三部分
LoRa模塊SX1278與ESP32結合使用的方法-下
LLCC68與SX1278 LoRa模塊的優勢對比
LoRa模塊 SX1278詳解
LoRa模塊SX1278與ESP32結合使用的方法-上
評論