Ten poradnik jest częścią: Samouczki WiFi LoRa 32
Wszystkie filmy dotyczące Heltec WiFi LoRa 32 są powiązane w tej grupie. Linki do innych filmów znajdują się poniżej tego artykułu.
Projekt zdalnego przekaźnika DIY: Moduł Heltec LoRa 32 o zasięgu 13 mil bez Wi-Fi/bez SIM
Zdalne sterowanie LoRa dalekiego zasięgu za pomocą Heltec WiFi LoRa 32
Wyobraź sobie, że możesz sterować wentylatorem, światłem, pompą wodną lub alarmem bezpieczeństwa z odległości ponad 15 mil lub 21 kilometrów, bez potrzeby karty SIM i bez żadnych opłat. Jest to możliwe dzięki technologii LoRa (Long Range), a w tym przewodniku pokażemy Ci dokładnie, jak zbudować taki system. Użyjemy wydajnego modułu Heltec WiFi LoRa 32, wygodnie umieszczonego w wytrzymałej obudowie Meshnology N35, która zawiera baterię 3000mAh zapewniającą długą pracę.
Ten projekt pokaże, jak skonfigurować nadajnik i odbiornik do sterowania obciążeniem na dwa różne sposoby: prostą funkcję włączania/wyłączania oraz funkcję przełączania. Omówimy montaż sprzętu, okablowanie, ustawienia kodu oraz pokażemy rzeczywisty test zasięgu.
Komponenty i sprzęt
Sercem naszego projektu jest kilka kluczowych komponentów zaprojektowanych tak, aby współpracować dla maksymalnego zasięgu i niezawodności.
- Heltec WiFi LoRa 32 V3: To wszechstronny mikrokontroler z wbudowanym układem komunikacji LoRa, a także funkcjami Wi-Fi i Bluetooth. Jest w pełni programowalny jak Arduino, co pozwala nam odczytywać wejścia i sterować wyjściami.
- Obudowa i bateria Meshnology N35: To trwała obudowa zaprojektowana specjalnie dla modułu Heltec. Kupowana jako zestaw zawiera baterię 3000mAh, która jest niezbędna do długotrwałej transmisji i odbioru, zwłaszcza w odległych lokalizacjach.
- Antena o wysokim zysku: Aby osiągnąć najlepszy możliwy zasięg, użyjemy anteny o wysokim zysku, która znacznie poprawia siłę sygnału w porównaniu z fabryczną anteną.
- Przekaźnik lub brzęczyk: Po stronie odbiornika można podłączyć przekaźnik do sterowania urządzeniami o dużej mocy AC lub DC, takimi jak wentylatory i światła, lub prosty brzęczyk do zastosowań alarmowych.
Montaż sprzętu
Montaż urządzenia jest prostym procesem, jak pokazano na filmie od około 05:56. Zestaw N35 zawiera moduł Heltec, baterię 3000mAh, obudowę, antenę z przedłużaczem oraz piny nagłówkowe.
Główne kroki obejmują umieszczenie przycisków w obudowie, przeciągnięcie przewodu baterii, podłączenie przedłużacza anteny do modułu, umieszczenie modułu w środku i podłączenie baterii. Następnie wystarczy zamknąć obudowę i zamocować uchwyt anteny na zewnątrz. Warto zauważyć, że wczesna wersja obudowy wymagała niewielkiej modyfikacji, aby zamontować uchwyt anteny, ale Meshnology naprawiło ten problem w nowszych partiach.
Okablowanie obciążenia odbiornika
Po stronie odbiornika podłączysz swoje urządzenie wyjściowe. Poniżej znajdują się instrukcje okablowania zarówno dla przekaźnika, jak i brzęczyka, zgodnie ze szczegółami na filmie od 11:17.
Okablowanie przekaźnika
Przekaźnik działa jak przełącznik sterowany elektrycznie, umożliwiając sterowanie obciążeniem o dużej mocy.
- Pin sygnałowy przekaźnika łączy się z pinem 4 modułu Heltec LoRa.
- Pin masy przekaźnika łączy się z pinem GND na module.
- Ważne: Pin VCC (zasilanie) przekaźnika powinien być zasilany z zewnętrznego zasilacza 5V. Wyjście 3.3V modułu nie jest w stanie niezawodnie obsłużyć poboru prądu przekaźnika.
- Musisz utworzyć wspólną masę, łącząc masę zewnętrznego zasilacza z masą modułu Heltec. Jest to kluczowe dla działania obwodu.
Okablowanie brzęczyka z tranzystorem
Do prostego alarmu dźwiękowego można użyć brzęczyka. Aby uniknąć pobierania zbyt dużego prądu z pinu mikrokontrolera, używamy tranzystora NPN 2N2222 do jego sterowania.
- Podłącz pin 4 modułu do rezystora 1kΩ. Drugi koniec rezystora łączy się z bazą (środkowym pinem) tranzystora.
- Emiter tranzystora (lewy pin, przy płaskiej stronie skierowanej do Ciebie) łączy się z GND.
- Kolektor tranzystora (prawy pin) łączy się z ujemnym (-) zaciskiem brzęczyka.
- Dodatni (+) zacisk brzęczyka łączy się z pinem 3.3V na module Heltec.
Konfiguracja Arduino IDE i bibliotek
Zanim będziesz mógł przesłać kod, musisz skonfigurować Arduino IDE do pracy z płytami Heltec. Proces zaczyna się od 14:37 na filmie.
- Zainstaluj płyty ESP32: W Arduino IDE przejdź do Menedżera płyt i wyszukaj
ESP32. Zainstaluj pakiet od Espressif Systems. - Dodaj adres URL płyty Heltec: Przejdź do Plik > Preferencje. W polu „Dodatkowe adresy URL menedżera płyt” dodaj link JSON dla serii Heltec ESP32. Ten link zostanie podany na stronie z zasobami poniżej artykułu.
- Zainstaluj płyty Heltec ESP32: Wróć do Menedżera płyt, wyszukaj
Heltec ESP32i zainstaluj pakiet. - Zainstaluj wymagane biblioteki: Przejdź do Menedżera bibliotek i zainstaluj następujące:
Heltec ESP32 dev boardsAdafruit GFX Library(i kliknij „Install All” dla jej zależności)
- Zainstaluj bibliotekę Robojax: Pobierz niestandardową bibliotekę zip
Robojax Heltec LoRa 32ze strony z zasobami. W Arduino IDE przejdź do Szkic > Dołącz bibliotekę > Dodaj bibliotekę .ZIP i wybierz pobrany plik. - Wybierz płytę: Na koniec przejdź do Narzędzia > Płyta i wybierz Heltec WiFi LoRa 32 (V3).
Wyjaśnienie ustawień kodu
Mamy trzy różne szkice kodu dla tego projektu: jeden dla prostego nadajnika włącz/wyłącz, jeden dla nadajnika przełączającego i jeden dla odbiornika. Biblioteka obsługuje złożone części, więc wystarczy dostosować tylko kilka ustawień na górze każdego pliku. Wyjaśnienie kodu zaczyna się od 19:00 w filmie.
Nadajnik (TX) – Ustawienia kodu prostego włącz/wyłącz
Ten kod włącza przekaźnik tylko wtedy, gdy przycisk jest przytrzymany.
// Tekst do wyświetlenia na ekranie OLED
const char *displayTexttitle = "Przekaźnik:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayON = "ON";
const char *displayTextRelayOFF = "OFF";
// Klucz bezpieczeństwa i częstotliwość (MUSZĄ ZGADZAĆ SIĘ Z ODBIORNIKIEM)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000
// Moc transmisji (2-21, wyższa = silniejsza)
#define TX_OUTPUT_POWER 14
Nadajnik (TX) – Ustawienia kodu przełączającego
Ten kod przełącza stan przekaźnika (z włączonego na wyłączony lub z wyłączonego na włączony) przy każdym naciśnięciu przycisku.
// Ustaw na true dla debugowania przez monitor szeregowy, false do normalnego użytku
bool debug = true;
// Wbudowany pin przycisku użytkownika to 0
#define PUSH_BUTTON_PIN 0
// Tekst do wyświetlenia na ekranie OLED
const char *displayTextTitle = "Przekaźnik:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayToggleON = "TOG-ON";
const char *displayTextRelayToggleOFF = "TOG-OFF";
// Klucz bezpieczeństwa i częstotliwość (MUSZĄ ZGADZAĆ SIĘ Z ODBIORNIKIEM)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000
// Moc transmisji (2-21)
#define TX_OUTPUT_POWER 2
Ustawienia kodu odbiornika (RX)
Ten pojedynczy kod odbiornika działa zarówno z prostym, jak i przełączającym nadajnikiem.
// Pin podłączony do wejścia sygnałowego przekaźnika
#define RELAY_CONTROL_PIN 4
// Tekst do wyświetlenia na ekranie OLED
const char *displayTextTitle = "Przekaźnik:";
const char *displayTextTX = "(RX)";
const char *displayTextRelayON = "ON";
const char *displayTextRelayOFF = "OFF";
const char *displayTextRelayToggleON = "TOG-ON";
const char *displayTextRelayToggleOFF = "TOG-OFF";
// Klucz bezpieczeństwa i częstotliwość (MUSZĄ ZGADZAĆ SIĘ Z NADAJNIKIEM)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000
Kluczowe jest to, że userKey i RF_FREQUENCY muszą być identyczne zarówno w nadajniku, jak i odbiorniku, aby mogły się komunikować.
Demonstracja i test zasięgu 13 mil
System działa bezbłędnie w środowisku laboratoryjnym, a przekaźnik lub brzęczyk odbiornika reaguje natychmiast na naciśnięcia przycisków na nadajniku. Jednak prawdziwa moc LoRa to jej zasięg.
Przeprowadzono test dalekiego zasięgu, co widać od 25:03. Nadajnik ustawiono na poziom mocy 20, wyposażono w antenę o wysokim wzmocnieniu i umieszczono na statywie około 10 metrów nad poziomem wody na brzegu jeziora, aby zapewnić czystą linię widzenia. Odbiornik zabrano następnie na drugą stronę jeziora.
Wynik był oszałamiającym sukcesem. Stabilny sygnał odebrano z odległości 13,04 mil, czyli 20,98 kilometrów. To pokazuje, że przy odpowiedniej konfiguracji można niezawodnie sterować urządzeniami na ogromne odległości, co czyni to idealnym rozwiązaniem do zastosowań takich jak zdalne monitorowanie rolnictwa, sterowanie bramami czy system alarmowy dalekiego zasięgu.
Znaczniki czasowe filmu
- 00:00 – Wprowadzenie do sterowania dalekiego zasięgu
- 02:42 – Co to jest LoRa?
- 03:20 – Przegląd komponentów (Heltec, obudowa N35)
- 05:56 – Rozpakowanie i montaż sprzętu
- 11:17 – Wyjaśnienie okablowania: przekaźnik i brzęczyk
- 14:37 – Konfiguracja Arduino IDE i bibliotek
- 19:00 – Wyjaśnienie ustawień kodu (TX i RX)
- 25:03 – Demonstracja i test zasięgu 13 mil
Ten poradnik jest częścią: Samouczki WiFi LoRa 32
- Używając Heltec WiFi LoRa 32 V3 do przesyłania temperatury za pomocą DHT22 na odległość 1,4 km
- 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)
- Steruj serwomotorem z odległości kilometrów! Heltec WiFi LoRa 32 V3 Arduino Tutorial (TX)
- How to Use the Heltec LoRa CubeCell Development Board HTCC-AB01
Common Course Links
Common Course Files
Zasoby i odniesienia
-
Zewnętrzny
-
Zewnętrzny
-
ZewnętrznyPurchase a WiFi LoRa 32 V3 from AliExpresss.click.aliexpress.com
-
ZewnętrznyPurchase a WiFi LoRa 32 V3 from AliExpress-2s.click.aliexpress.com
-
Zewnętrzny
-
ZewnętrznyPurchase Wi-Fi LoRa 32 from Meshnologymeshnology.com
Pliki📁
Biblioteki Arduino (zip)
-
Robojax_HeltecLoRa32V3
Robojax_HeltecLoRa32V3.zip0.09 MB
Inne pliki
-
Robojax Heltec WiFi LoRa 32 Library Version 1.1.0 20250703
Robojax_HeltecLoRa32_1.1.0_20250702.zip0.09 MB