Progetto di Relay Remoto Fai-da-te: Modulo Heltec LoRa 32 senza Wi-Fi/senza SIM a 21 km

Questa lezione fa parte di: Introduzione al WiFi LoRa

Progetto di Relay Remoto Fai-da-te: Modulo Heltec LoRa 32 senza Wi-Fi/senza SIM a 21 km

Telecomando LoRa a lungo raggio con Heltec WiFi LoRa 32

Immagina di poter controllare una ventola, una luce, una pompa d'acqua o un allarme di sicurezza da oltre 15 miglia o 21 chilometri di distanza, il tutto senza bisogno di una scheda SIM o di pagare tasse. Questo è possibile grazie alla tecnologia LoRa (Long Range), e in questa guida ti mostreremo esattamente come costruire un sistema del genere. Utilizzeremo il potenteModulo Heltec WiFi LoRa 32, comodamente ospitato all'interno del robustoCustodia Meshnology N35che include una batteria da 3000mAh per un funzionamento duraturo.

Questo progetto dimostrerà come impostare un trasmettitore e un ricevitore per controllare un carico in due modi diversi: una semplice funzione on/off e una funzione toggle. Tratteremo l'assemblaggio dell'hardware, il cablaggio, le impostazioni del codice e ti mostreremo un test di portata nel mondo reale.


Componenti e Hardware

Al centro del nostro progetto ci sono alcuni componenti chiave progettati per lavorare insieme per massimizzare la portata e l'affidabilità.

  • Heltec WiFi LoRa 32 V3:Questo è un microcontrollore versatile che viene fornito con un chip di comunicazione LoRa integrato, oltre a capacità Wi-Fi e Bluetooth. È completamente programmabile come un Arduino, permettendoci di leggere ingressi e controllare uscite.
  • Meshnology N35 Custodia e Batteria:Questo è un case resistente progettato specificamente per il modulo Heltec. Quando acquistato come kit, include una batteria da 3000mAh, che è essenziale per la trasmissione e ricezione a lungo termine, specialmente in luoghi remoti.
  • Antenna ad Alto Guadagno:Per ottenere la migliore portata possibile, utilizzeremo un'antenna ad alta guadagno, che migliora significativamente la potenza del segnale rispetto all'antenna di serie.
  • Relè o Buzzer:Per il ricevitore, puoi collegare un relè per controllare dispositivi AC o DC ad alta potenza come ventilatori e luci, o un semplice buzzer per applicazioni di allerta.

Assemblaggio hardware

Assemblare l'unità è un processo semplice, come mostrato nel video che inizia intorno a05:56Il kit N35 viene fornito con il modulo Heltec, la batteria da 3000mAh, il case, un'antenna con un cavo di estensione e i connettori a pin.

I passaggi principali comprendono l'inserimento dei pulsanti nel case, il passaggio del cavo della batteria, il collegamento del cavo di estensione dell'antenna al modulo, l'inserimento del modulo all'interno e il collegamento della batteria. Poi, basta chiudere il case e fissare il supporto dell'antenna all'esterno. Vale la pena notare che una versione precedente del case richiedeva una piccola modifica per adattarsi al supporto dell'antenna, ma Meshnology ha successivamente risolto questo problema nei lotti più recenti.


Cablaggio per il carico del ricevitore

Dalla parte del ricevitore, collegherai il tuo dispositivo di output. Di seguito sono riportate le istruzioni di cablaggio sia per un relè che per un avviso acustico, come dettagliato nel video a11:17.

Cablaggio di un Relè

Un relè funge da interruttore elettricamente azionato, permettendoti di controllare un carico ad alta potenza.

  • Il pin del segnale del relè si collega apin 4del modulo Heltec LoRa.
  • Il pin di terra del relè si collega a unGNDpin sul modulo.
  • Importante:Il pin VCC (alimentazione) del relais dovrebbe essere alimentato da unalimentazione esterna 5VL'uscita a 3,3V del modulo non può gestire in modo affidabile l'assorbimento di corrente del relè.
  • Devi creare unterreno comunecollegando il terreno dell'alimentazione esterna al terreno del modulo Heltec. Questo è fondamentale per il funzionamento del circuito.
Helte_Wifi_LoRA 32

Collegare un Cicalino con un Transistor

Per un semplice allarme audio, puoi utilizzare un cicalino. Per evitare di prelevare troppa corrente dal pin del microcontrollore, utilizziamo un transistor NPN 2N2222 per alimentarlo.

  • Collegarepinn 4del modulo a un resistore da 1kΩ. L'altro capo del resistore si collega albase(il pin centrale) del transistor.
  • Il transistor'semettitore(il perno sinistro, con il lato piatto rivolto verso di te) si collega aGND.
  • Il transistor'scollezionista(il pin destro) si collega a lanegativo (-)terminale del segnale acustico.
  • Ilpositivo (+)terminale del cicalino si collega a3.3Vpin sul modulo Heltec.
Helte_Wifi_LoRA 32 con buzzer

Impostazione dell'IDE e della libreria Arduino

Prima di poter caricare il codice, è necessario configurare l'IDE di Arduino per funzionare con le schede Heltec. Il processo inizia da14:37nel video.

  1. Installa le schede ESP32:Nell'IDE di Arduino, vai al Gestore schede e cerca perESP32Installa il pacchetto di Espressif Systems.
  2. Aggiungi l'URL della scheda Heltec:Vai su File > Preferenze. In "URL aggiuntive del gestore delle schede," aggiungi il link JSON per la serie Heltec ESP32. Questo link sarà fornito nella pagina delle risorse sotto l'articolo.
  3. Installa le schede Heltec ESP32:Torna al Gestore delle Bacheche, cerca perHeltec ESP32e installa il pacchetto.
  4. Installa le librerie necessarie:Vai al Manager della Libreria e installa quanto segue:
    • Heltec ESP32 dev boards
    • Adafruit GFX Library(e fai clic su "Installa tutto" per le sue dipendenze)
  5. Installa la libreria Robojax:Scarica il personalizzatoRobojax Heltec LoRa 32scarica la libreria zip dalla pagina delle risorse. Nell'IDE di Arduino, vai su Sketch > Includi libreria > Aggiungi libreria .ZIP e seleziona il file che hai scaricato.
  6. Seleziona il Consiglio:Infine, vai su Strumenti > Scheda e seleziona ilHeltec WiFi LoRa 32 (V3).

Impostazioni del codice spiegate

Abbiamo tre diversi schizzi di codice per questo progetto: uno per il trasmettitore on/off semplice, uno per il trasmettitore a commutazione e uno per il ricevitore. La libreria gestisce le parti complesse, quindi devi solo regolare alcune impostazioni nella parte superiore di ciascun file. La spiegazione del codice inizia a19:00nel video.

Trasmettitore (TX) - Impostazioni del Codice On/Off Semplice

Questo codice attiva il relè solo mentre il pulsante è premuto.

// Text to display on the OLED screen
const char *displayTexttitle = "Relay:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayON = "ON";
const char *displayTextRelayOFF = "OFF";

// Security key and frequency (MUST MATCH RECEIVER)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000 

// Transmission power (2-21, higher is stronger)
#define TX_OUTPUT_POWER 14 

Trasmettitore (TX) - Imposta Codice Alternato

Questo codice commuta lo stato del relè (da acceso a spento, o da spento ad acceso) ad ogni pressione del pulsante.

// Set to true for serial monitor debugging, false for normal use
bool debug = true; 
// The built-in user button pin is 0
#define PUSH_BUTTON_PIN 0  

// Text to display on the OLED screen
const char *displayTextTitle = "Relay:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayToggleON = "TOG-ON";
const char *displayTextRelayToggleOFF = "TOG-OFF";

// Security key and frequency (MUST MATCH RECEIVER)
const char *userKey = "6tfDs$wEq3!"; 
#define RF_FREQUENCY 915555000 

// Transmission power (2-21)
#define TX_OUTPUT_POWER 2 

Impostazioni del Codice Ricevitore (RX)

Questo codice di ricevitore singolo funziona sia con i trasmettitori semplici che con quelli a interruttore.

// The pin connected to the relay's signal input
#define RELAY_CONTROL_PIN 4

// Text to display on the OLED screen
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"; 

// Security key and frequency (MUST MATCH TRANSMITTER)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000 

Crucialmente, iluserKeyeRF_FREQUENCYdeve essere identico sia sul trasmettitore che sul ricevitore affinché possano comunicare.


Dimostrazione e test di autonomia di 21 km

Il sistema funziona perfettamente in un ambiente di laboratorio, con il relè o il buzzer del ricevitore che risponde istantaneamente alle pressioni del pulsante sul trasmettitore. Ma la vera forza del LoRa è la sua portata.

È stato eseguito un test a lungo raggio, come si può vedere da25:03in avanti. Il trasmettitore era impostato su un livello di potenza di 20, dotato di un'antenna ad alto guadagno, e posizionato su un treppiede a circa 10 metri sopra il livello dell'acqua sulla riva di un lago per garantire una linea di vista chiara. Il ricevitore fu poi portato dall'altra parte del lago.

Il risultato è stato un successo straordinario. Un segnale stabile è stato ricevuto da una distanza di13,04 miglia, o 20,98 chilometriQuesto dimostra che, con la giusta configurazione, puoi controllare in modo affidabile dispositivi su vasti circuiti, rendendolo perfetto per applicazioni come il monitoraggio remoto dell'agricoltura, il controllo degli accessi o un sistema di allarme per intrusione a lungo raggio.


Timestamp video

  • 00:00- Introduzione al Controllo a Lungo Raggio
  • 02:42- Che cos'è LoRa?
  • 03:20- Panoramica dei Componenti (Heltec, Custodia N35)
  • 05:56- Disimballaggio e Montaggio Hardware
  • 11:17- Spiegazione del cablaggio: Relè e Cicalino
  • 14:37- Impostazione di Arduino IDE e librerie
  • 19:00- Impostazioni del Codice Spiegate (TX e RX)
  • 25:03- Dimostrazione e test di autonomia di 13 miglia
Nessun codice allegato.

Common Course Files

Risorse e riferimenti

File📁

Altri file