This tutorial is part of: WiFi LoRa 32 教程
所有与Heltec WiFi LoRa 32相关的视频都通过此群组进行关联。其他视频的链接位于本文下方。
DIY遙控繼電器項目:13英里無Wi-Fi/無SIM Heltec LoRa 32模組
遠距離LoRa遙控——用Heltec WiFi LoRa 32
想像一下,你可以喺超過15英里(即21公里)之外控制一把風扇、一盞燈、一個水泵或者一個防盜警報器,完全唔使SIM卡,亦都唔使畀任何費用。呢個係用LoRa(遠距離)技術做到嘅,而喺呢個指南入面,我哋會詳細教你點樣整呢套系統。我哋會用強大嘅Heltec WiFi LoRa 32模組,裝喺堅固嘅Meshnology N35外殼入面,仲有3000mAh電池,可以長時間運作。
呢個項目會示範點樣設定一個發射器同一個接收器,用兩種唔同方式控制負載:一個係簡單嘅開/關功能,另一個係切換功能。我哋會涵蓋硬件組裝、接線、程式碼設定,仲會展示真實嘅距離測試。
零件同硬件
呢個項目嘅核心係幾個關鍵零件,佢哋設計嚟一齊運作,達到最大距離同可靠性。
- Heltec WiFi LoRa 32 V3:呢個係一個多功能微控制器,內置LoRa通訊晶片,仲有Wi-Fi同藍牙功能。佢可以好似Arduino咁完全程式化,等我哋可以讀取輸入同控制輸出。
- Meshnology N35外殼同電池:呢個係一個耐用外殼,專為Heltec模組設計。如果買套裝,會包括3000mAh電池,呢個對長時間發射同接收好重要,特別係喺偏遠地方。
- 高增益天線:為咗達到最好嘅距離,我哋會用高增益天線,佢比原裝天線明顯改善信號強度。
- 繼電器或者蜂鳴器:喺接收器嗰邊,你可以接一個繼電器嚟控制高功率AC或DC設備,好似風扇同燈,或者用簡單嘅蜂鳴器做警報應用。
硬件組裝
組裝呢個裝置係一個直接嘅過程,好似影片入面大約05:56開始示範咁。N35套裝包括Heltec模組、3000mAh電池、外殼、一條帶延長線嘅天線,同埋針腳排母。
主要步驟包括將按鈕放入外殼、穿過電池線、將天線延長線連接到模組、將模組放入去、然後連接電池。之後,你只需要閂埋外殼,然後喺外面固定天線座。值得留意嘅係,早期版本嘅外殼需要少少修改先可以裝到天線座,但Meshnology已經喺新批次入面修正咗呢個問題。
接收器負載嘅接線
喺接收器嗰邊,你會連接輸出設備。下面係繼電器同蜂鳴器嘅接線指示,詳細內容喺影片11:17有講。
接繼電器
繼電器係一個電動開關,可以畀你控制高功率負載。
- 繼電器嘅信號腳連接到Heltec LoRa模組嘅pin 4。
- 繼電器嘅接地腳連接到模組嘅GND腳。
- 重要:繼電器嘅VCC(電源)腳應該由外部5V電源供電。模組嘅3.3V輸出唔可以可靠噉應付繼電器嘅電流需求。
- 你一定要建立共同接地,即係將外部電源嘅接地連接到Heltec模組嘅接地。呢個對電路運作好關鍵。
用晶體管接蜂鳴器
如果想做一個簡單嘅聲音警報,你可以用蜂鳴器。為咗避免從微控制器針腳攞太多電流,我哋用一個2N2222 NPN晶體管嚟驅動佢。
- 將模組嘅pin 4連接到一個1kΩ電阻。電阻嘅另一端連接到晶體管嘅基極(中間針腳)。
- 晶體管嘅發射極(左邊針腳,平面嗰邊向住你)連接到GND。
- 晶體管嘅集電極(右邊針腳)連接到蜂鳴器嘅負極(-)端子。
- 蜂鳴器嘅正極(+)端子連接到Heltec模組嘅3.3V針腳。
Arduino IDE同程式庫設定
喺你可以上傳程式碼之前,你需要設定Arduino IDE嚟支援Heltec板。呢個過程喺影片14:37開始。
- 安裝ESP32開發板:喺Arduino IDE入面,去 Boards Manager 度搜尋
ESP32。安裝由 Espressif Systems 提供嘅套件。 - 加入Heltec開發板網址:去 File > Preferences。喺 "Additional Boards Manager URLs" 度,加入 Heltec ESP32 系列嘅 JSON 連結。呢條連結會喺文章下面嘅資源頁提供。
- 安裝Heltec ESP32開發板:返去 Boards Manager,搜尋
Heltec ESP32,然後安裝套件。 - 安裝所需函式庫:去 Library Manager 並安裝以下項目:
Heltec ESP32 dev boardsAdafruit GFX Library(同埋撳 "Install All" 安裝佢嘅依賴項目)
- 安裝Robojax函式庫:由資源頁下載自訂嘅
Robojax Heltec LoRa 32zip 函式庫。喺 Arduino IDE 入面,去 Sketch > Include Library > Add .ZIP Library,然後揀你下載咗嘅檔案。 - 選擇開發板:最後,去 Tools > Board,然後選擇 Heltec WiFi LoRa 32 (V3)。
程式碼設定說明
我哋為呢個項目準備咗三個唔同嘅程式碼草稿:一個係簡單開/關發射器,一個係切換發射器,仲有一個係接收器。函式庫會處理複雜嘅部分,所以你只需要喺每個檔案頂部調整幾個設定就得。程式碼講解由影片嘅 19:00 開始。
發射器(TX)- 簡單開/關程式碼設定
呢段程式碼只會喺按住按鈕期間開啟繼電器。
// 喺OLED螢幕上顯示嘅文字
const char *displayTexttitle = "Relay:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayON = "ON";
const char *displayTextRelayOFF = "OFF";
// 安全金鑰同頻率(必須同接收器一致)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000
// 發射功率(2-21,數值越大越強)
#define TX_OUTPUT_POWER 14
發射器(TX)- 切換程式碼設定
呢段程式碼每次撳按鈕都會切換繼電器嘅狀態(開變關,或者關變開)。
// 設為 true 用於序列埠監控視窗除錯,設為 false 用於正常使用
bool debug = true;
// 內建用戶按鈕引腳係 0
#define PUSH_BUTTON_PIN 0
// 喺OLED螢幕上顯示嘅文字
const char *displayTextTitle = "Relay:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayToggleON = "TOG-ON";
const char *displayTextRelayToggleOFF = "TOG-OFF";
// 安全金鑰同頻率(必須同接收器一致)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000
// 發射功率(2-21)
#define TX_OUTPUT_POWER 2
接收器(RX)程式碼設定
呢個單一接收器程式碼可以同時配合簡單同切換發射器使用。
// 連接繼電器訊號輸入嘅引腳
#define RELAY_CONTROL_PIN 4
// 喺OLED螢幕上顯示嘅文字
const char *displayTextTitle = "Relay:";
const char *displayTextTX = "(RX)";
const char *displayTextRelayON = "ON";
const char *displayTextRelayOFF = "OFF";
const char *displayTextRelayToggleON = "TOG-ON";
const char *displayTextRelayToggleOFF = "TOG-OFF";
// 安全金鑰同頻率(必須同發射器一致)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000
最緊要嘅係,userKey 同 RF_FREQUENCY 必須喺發射器同接收器兩邊完全一樣,先可以互相通訊。
示範同13英里距離測試
呢個系統喺實驗室環境入面運作得完美無瑕,接收器嘅繼電器或者蜂鳴器會即時對發射器上嘅按鈕操作作出反應。但 LoRa 真正嘅威力在於佢嘅傳輸距離。
我哋進行咗一次長距離測試,由 25:03 開始可以睇到。發射器設定咗功率等級20,配備高增益天線,並放置喺湖邊離水面大約10米高嘅三腳架上,確保有清晰嘅視線。然後將接收器帶到湖嘅另一邊。
結果係一個驚人嘅成功。喺 13.04英里,即20.98公里 嘅距離接收到穩定訊號。呢個證明咗只要設定正確,你就可以可靠咁控制遠距離嘅設備,令佢非常適合用於遠程農業監控、閘門控制,或者長距離防盜警報系統等應用。
影片時間戳
- 00:00 - 長距離控制簡介
- 02:42 - 咩係LoRa?
- 03:20 - 組件概覽(Heltec、N35外殼)
- 05:56 - 開箱同硬件組裝
- 11:17 - 接線講解:繼電器同蜂鳴器
- 14:37 - Arduino IDE 同函式庫設定
- 19:00 - 程式碼設定講解(TX同RX)
- 25:03 - 示範同13英里距離測試
This tutorial is part of: WiFi LoRa 32 教程
- 使用Heltec WiFi LoRa 32 V3透過DHT22傳送溫度到1.4公里
- 13 Miles 20km with NO WiFi? How LoRa Sent Voltage Across Crazy Distances! (Heltec WiFi LoRa 32 V3)
- Turn On a Device from 13 mile 21km Away – The Ultimate Off-Grid LoRa Project with WiFi LoRa 32!
- Remote Door Alert System from 13 mile 21 km Away With LoRa – Off the Grid! (Heltec WiFi LoRa 32 V3)
- 由幾里外控制Servo摩打!Heltec WiFi LoRa 32 V3 Arduino教學(TX)
- How to Use the Heltec LoRa CubeCell Development Board HTCC-AB01
Common Course Links
Common Course Files
資源與參考資料
-
外部
-
外部Purchase a WiFi LoRa 32 V3 from AliExpresss.click.aliexpress.com
-
外部Purchase a WiFi LoRa 32 V3 from AliExpress-2s.click.aliexpress.com
-
外部
-
外部Purchase Wi-Fi LoRa 32 from Meshnologymeshnology.com
文件📁
Arduino 函式庫 (zip)
-
Robojax_HeltecLoRa32V3
Robojax_HeltecLoRa32V3.zip0.09 MB
其他文件
-
Robojax Heltec WiFi LoRa 32 Library Version 1.1.0 20250703
Robojax_HeltecLoRa32_1.1.0_20250702.zip0.09 MB