This tutorial is part of: WiFi LoRa 32-handleidingen
Alle video's over Heltec WiFi LoRa 32 zijn gelinkt aan deze groep. Links naar andere video's vind je onder dit artikel.
DIY-afstandsrelaisproject: 21 kilometer zonder Wi-Fi/zonder SIM Heltec LoRa 32-module
Afstandsbediening over lange afstand met LoRa en Heltec WiFi LoRa 32
Stel je voor dat je een ventilator, een lamp, een waterpomp of een beveiligingsalarm kunt bedienen vanaf meer dan 24 kilometer afstand, zonder dat je een simkaart nodig hebt of kosten betaalt. Dit is mogelijk met LoRa-technologie (Long Range), en in deze handleiding laten we je precies zien hoe je zo'n systeem bouwt. We gebruiken de krachtige Heltec WiFi LoRa 32-module, handig geplaatst in de robuuste Meshnology N35-behuizing met een 3000mAh-accu voor langdurig gebruik.
Dit project laat zien hoe je een zender en ontvanger opzet om een belasting op twee manieren te bedienen: een eenvoudige aan/uit-functie en een schakelfunctie. We behandelen de hardwaremontage, bedrading, code-instellingen en tonen een praktische bereiktest.
Componenten en hardware
De kern van ons project bestaat uit een aantal belangrijke componenten die samenwerken voor maximaal bereik en betrouwbaarheid.
- Heltec WiFi LoRa 32 V3: Dit is een veelzijdige microcontroller met een ingebouwde LoRa-communicatiechip, plus Wi-Fi- en Bluetooth-mogelijkheden. Hij is volledig programmeerbaar zoals een Arduino, zodat we inputs kunnen lezen en outputs kunnen aansturen.
- Meshnology N35-behuizing en accu: Dit is een duurzame behuizing speciaal ontworpen voor de Heltec-module. Als kit gekocht, inclusief een 3000mAh-accu, essentieel voor langdurige verzending en ontvangst, vooral op afgelegen locaties.
- Hoogwaardige antenne: Voor het beste mogelijke bereik gebruiken we een hoogwaardige antenne, die de signaalsterkte aanzienlijk verbetert vergeleken met de standaardantenne.
- Relais of zoemer: Voor de ontvanger kun je een relais aansluiten om hoogvermogen AC- of DC-apparaten zoals ventilatoren en lampen te bedienen, of een eenvoudige zoemer voor alarmtoepassingen.
Hardwaremontage
Het monteren van het geheel is een eenvoudig proces, zoals te zien is in de video vanaf ongeveer 05:56. De N35-kit wordt geleverd met de Heltec-module, de 3000mAh-accu, de behuizing, een antenne met verlengkabel en pinheaders.
De belangrijkste stappen zijn: de knoppen in de behuizing plaatsen, de accukabel erdoorheen leiden, de antenneverlengkabel op de module aansluiten, de module erin plaatsen en de accu aansluiten. Daarna sluit je eenvoudig de behuizing en bevestig je de antennebevestiging aan de buitenkant. Het is vermeldenswaard dat een vroege versie van de behuizing een kleine aanpassing vereiste om de antennebevestiging te laten passen, maar Meshnology heeft dit in nieuwere batches verholpen.
Bedrading voor de belasting van de ontvanger
Aan de ontvangerzijde sluit je je uitvoerapparaat aan. Hieronder staan de bedradingsinstructies voor zowel een relais als een zoemer, zoals gedetailleerd in de video op 11:17.
Een relais bedraden
Een relais fungeert als een elektrisch bediende schakelaar, waarmee je een hoogvermogenbelasting kunt bedienen.
- De signaalpin van het relais verbind je met pin 4 van de Heltec LoRa-module.
- De aardingspin van het relais verbind je met een GND-pin op de module.
- Belangrijk: De VCC-voedingspin van het relais moet worden gevoed door een externe 5V-voeding. De 3.3V-uitgang van de module kan de stroomvereisten van het relais niet betrouwbaar aan.
- Je moet een gemeenschappelijke aarde creëren door de aarde van de externe voeding te verbinden met de aarde van de Heltec-module. Dit is cruciaal voor de werking van het circuit.
Een zoemer met een transistor bedraden
Voor een eenvoudig audio-alarm kun je een zoemer gebruiken. Om te voorkomen dat er te veel stroom uit de microcontrollerpin wordt getrokken, gebruiken we een 2N2222 NPN-transistor om deze aan te sturen.
- Verbind pin 4 van de module met een 1kΩ-weerstand. Het andere uiteinde van de weerstand verbind je met de basis (middelste pin) van de transistor.
- De emitter van de transistor (linkerpin, met de platte kant naar je toe) verbind je met GND.
- De collector van de transistor (rechterpin) verbind je met de negatieve (-) aansluiting van de zoemer.
- De positieve (+) aansluiting van de zoemer verbind je met de 3.3V-pin op de Heltec-module.
Arduino IDE en bibliotheekinstellingen
Voordat je de code kunt uploaden, moet je de Arduino IDE configureren om met de Heltec-boards te werken. Het proces begint op 14:37 in de video.
- ESP32-borden installeren: Ga in de Arduino IDE naar Boards Manager en zoek naar
ESP32. Installeer het pakket van Espressif Systems. - Heltec-bord-URL toevoegen: Ga naar Bestand > Voorkeuren. Voeg bij "Additional Boards Manager URLs" de JSON-link voor de Heltec ESP32-serie toe. Deze link wordt verstrekt op de bronnenpagina onder het artikel.
- Heltec ESP32-borden installeren: Ga terug naar Boards Manager, zoek naar
Heltec ESP32en installeer het pakket. - Vereiste bibliotheken installeren: Ga naar Bibliotheekbeheer en installeer het volgende:
Heltec ESP32 dev boardsAdafruit GFX Library(en klik op "Install All" voor de afhankelijkheden)
- Robojax-bibliotheek installeren: Download de aangepaste
Robojax Heltec LoRa 32zip-bibliotheek van de bronnenpagina. Ga in de Arduino IDE naar Schets > Bibliotheek gebruiken > .ZIP-bibliotheek toevoegen en selecteer het gedownloade bestand. - Het bord selecteren: Ga ten slotte naar Extra > Bord en selecteer de Heltec WiFi LoRa 32 (V3).
Code-instellingen uitgelegd
We hebben drie verschillende codeschetsen voor dit project: één voor de eenvoudige aan/uit-zender, één voor de toggle-zender en één voor de ontvanger. De bibliotheek handelt de complexe delen af, dus je hoeft slechts een paar instellingen bovenaan elk bestand aan te passen. De uitleg van de code begint bij 19:00 in de video.
Zender (TX) - Eenvoudige aan/uit-code-instellingen
Deze code schakelt het relais alleen in terwijl de knop wordt ingedrukt.
// Tekst om op het OLED-scherm weer te geven
const char *displayTexttitle = "Relais:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayON = "AAN";
const char *displayTextRelayOFF = "UIT";
// Beveiligingssleutel en frequentie (MOET OVEREENKOMEN MET ONTVANGER)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000
// Zendvermogen (2-21, hoger is sterker)
#define TX_OUTPUT_POWER 14
Zender (TX) - Toggle-code-instellingen
Deze code schakelt de status van het relais om (van aan naar uit, of van uit naar aan) bij elke druk op de knop.
// Instellen op true voor seriële monitor debugging, false voor normaal gebruik
bool debug = true;
// De ingebouwde gebruikersknop-pin is 0
#define PUSH_BUTTON_PIN 0
// Tekst om op het OLED-scherm weer te geven
const char *displayTextTitle = "Relais:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayToggleON = "TOG-AAN";
const char *displayTextRelayToggleOFF = "TOG-UIT";
// Beveiligingssleutel en frequentie (MOET OVEREENKOMEN MET ONTVANGER)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000
// Zendvermogen (2-21)
#define TX_OUTPUT_POWER 2
Ontvanger (RX) - Code-instellingen
Deze enkele ontvangercode werkt met zowel de eenvoudige als de toggle-zender.
// De pin die is aangesloten op de signaalingang van het relais
#define RELAY_CONTROL_PIN 4
// Tekst om op het OLED-scherm weer te geven
const char *displayTextTitle = "Relais:";
const char *displayTextTX = "(RX)";
const char *displayTextRelayON = "AAN";
const char *displayTextRelayOFF = "UIT";
const char *displayTextRelayToggleON = "TOG-AAN";
const char *displayTextRelayToggleOFF = "TOG-UIT";
// Beveiligingssleutel en frequentie (MOET OVEREENKOMEN MET ZENDER)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000
Van cruciaal belang is dat de userKey en RF_FREQUENCY identiek moeten zijn op zowel de zender als de ontvanger om te kunnen communiceren.
Demonstratie en 13-mijls bereiktest
Het systeem werkt feilloos in een laboratoriumomgeving, waarbij het relais of de zoemer van de ontvanger onmiddellijk reageert op knopdrukken op de zender. Maar de echte kracht van LoRa is het bereik.
Er werd een langeafstandstest uitgevoerd, zoals te zien is vanaf 25:03. De zender werd ingesteld op een vermogensniveau van 20, uitgerust met een hoogwaardige antenne en op een statief geplaatst op ongeveer 10 meter boven het waterniveau aan de oever van een meer om een duidelijk zicht te garanderen. De ontvanger werd vervolgens naar de andere kant van het meer gebracht.
Het resultaat was een verbluffend succes. Er werd een stabiel signaal ontvangen vanaf een afstand van 13,04 mijl, oftewel 20,98 kilometer. Dit toont aan dat je met de juiste opstelling apparaten betrouwbaar over grote afstanden kunt bedienen, waardoor het perfect is voor toepassingen zoals landbouwmonitoring op afstand, poortbediening of een inbraakalarmsysteem over lange afstand.
Video-tijdstempels
- 00:00 - Inleiding tot bediening over lange afstand
- 02:42 - Wat is LoRa?
- 03:20 - Overzicht van componenten (Heltec, N35-behuizing)
- 05:56 - Uitpakken en hardwaremontage
- 11:17 - Bedrading uitgelegd: relais en zoemer
- 14:37 - Arduino IDE en bibliotheekinstallatie
- 19:00 - Code-instellingen uitgelegd (TX en RX)
- 25:03 - Demonstratie en 13-mijls bereiktest
This tutorial is part of: WiFi LoRa 32-handleidingen
- Gebruik van Heltec WiFi LoRa 32 V3 om temperatuur te verzenden met DHT22 naar 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)
- Stuur een servomotor aan van kilometers afstand! Heltec WiFi LoRa 32 V3 Arduino-zelfstudie (TX)
- How to Use the Heltec LoRa CubeCell Development Board HTCC-AB01
Common Course Links
Common Course Files
Hulpmiddelen en referenties
-
Extern
-
Extern
-
ExternPurchase a WiFi LoRa 32 V3 from AliExpresss.click.aliexpress.com
-
ExternPurchase a WiFi LoRa 32 V3 from AliExpress-2s.click.aliexpress.com
-
Extern
-
ExternPurchase Wi-Fi LoRa 32 from Meshnologymeshnology.com
Bestanden📁
Arduino-bibliotheken (zip)
-
Robojax_HeltecLoRa32V3
Robojax_HeltecLoRa32V3.zip0.09 MB
Andere bestanden
-
Robojax Heltec WiFi LoRa 32 Library Version 1.1.0 20250703
Robojax_HeltecLoRa32_1.1.0_20250702.zip0.09 MB