DIY-Fernsteuerrelaisprojekt: 21 km No-Wi-Fi/No-SIM Heltec LoRa 32 Modul

Diese Lektion ist Teil von: Einführung in WiFi LoRa

DIY-Fernsteuerrelaisprojekt: 21 km No-Wi-Fi/No-SIM Heltec LoRa 32 Modul

Langstrecken-LoRa-Fernbedienung mit Heltec WiFi LoRa 32

Stellen Sie sich vor, Sie könnten einen Ventilator, ein Licht, eine Wasserpumpe oder eine Sicherheitsalarmanlage aus über 15 Meilen oder 21 Kilometern Entfernung steuern, ohne eine SIM-Karte zu benötigen oder Gebühren zu zahlen. Dies ist mit der LoRa (Long Range)-Technologie möglich, und in diesem Leitfaden zeigen wir Ihnen, wie Sie ein solches System aufbauen können. Wir werden die leistungsstarkeHeltec WiFi LoRa 32 Modul, praktisch untergebracht in dem robustenMeshnology N35 Gehäusedie einen 3000mAh Akku für einen langanhaltenden Betrieb umfasst.

Dieses Projekt zeigt, wie man einen Sender und einen Empfänger einrichtet, um eine Last auf zwei verschiedene Arten zu steuern: eine einfache Ein/Aus-Funktion und eine Umschaltfunktion. Wir werden die Hardwaremontage, die Verkabelung, die Codeeinstellungen behandeln und Ihnen einen realen Reichweitentest zeigen.


Komponenten und Hardware

Im Zentrum unseres Projekts stehen einige Schlüsselkomponenten, die darauf ausgelegt sind, zusammenzuarbeiten, um maximale Reichweite und Zuverlässigkeit zu gewährleisten.

  • Heltec WiFi LoRa 32 V3:Dies ist ein vielseitiger Mikrocontroller, der mit einem integrierten LoRa-Kommunikationschip sowie Wi-Fi- und Bluetooth-Funktionen ausgestattet ist. Er ist vollständig programmierbar wie ein Arduino, was es uns ermöglicht, Eingaben zu lesen und Ausgaben zu steuern.
  • Meshnology N35 Gehäuse & Batterie:Dies ist ein langlebiges Gehäuse, das speziell für das Heltec-Modul entwickelt wurde. Wenn es als Set gekauft wird, beinhaltet es einen 3000mAh-Akku, der für die langfristige Übertragung und den Empfang, insbesondere an abgelegenen Standorten, unerlässlich ist.
  • Hochgewinnantenne:Um die bestmögliche Reichweite zu erzielen, werden wir eine Hochgewinnantenne verwenden, die die Signalstärke im Vergleich zur Standardantenne erheblich verbessert.
  • Relais oder Summer:Für den Empfänger können Sie ein Relais anschließen, um hochleistungsfähige AC- oder DC-Geräte wie Ventilatoren und Lichter oder einen einfachen Summer für Alarmanwendungen zu steuern.

Hardware-Zusammenbau

Der Zusammenbau des Geräts ist ein unkomplizierter Prozess, wie im Video ab etwa gezeigt.05:56Das N35-Kit wird mit dem Heltec-Modul, dem 3000-mAh-Akku, dem Gehäuse, einer Antenne mit einem Verlängerungskabel und Stiftleisten geliefert.

Die Hauptschritte umfassen das Platzieren der Tasten im Gehäuse, das Durchführen des Batteriekabels, das Anschließen des Antennenverlängerungskabels an das Modul, das Platzieren des Moduls im Inneren und das Anschließen der Batterie. Dann schließen Sie einfach das Gehäuse und sichern die Antennenhalterung von außen. Es sei darauf hingewiesen, dass eine frühere Version des Gehäuses eine kleine Modifikation benötigte, um die Antennenhalterung zu montieren, aber Meshnology hat dieses Problem seitdem in neueren Chargen behoben.


Verdrahtung für die Last des Empfängers

Auf der Empfängerseite schließen Sie Ihr Ausgabegerät an. Im Folgenden finden Sie die Verdrahtungsanweisungen sowohl für ein Relais als auch für einen Summer, wie im Video beschrieben.11:17.

Verdrahtung eines Relais

Ein Relais fungiert als elektrisch betätigter Schalter, der es Ihnen ermöglicht, eine Hochlast zu steuern.

  • Der Signal-Pin des Relais wird angeschlossen anStift 4des Heltec LoRa-Moduls.
  • Der Erdungsanschluss des Relais wird mit einemGNDStecker auf dem Modul.
  • Wichtig:Der VCC (Stromversorgung) Pin des Relais sollte von einerexternes 5V-NetzteilDer 3,3V-Ausgang des Moduls kann den Strombedarf des Relais nicht zuverlässig bewältigen.
  • Du musst ein erstellengemeinsamer Nennerdurch die Verbindung des Erdungsanschlusses der externen Stromversorgung mit der Erdung des Heltec-Moduls. Dies ist entscheidend für das Funktionieren des Schaltkreises.
Helte_Wifi_LoRA 32

Einen Summer mit einem Transistor anschließen

Für einen einfachen Audio-Alarm können Sie einen Summer verwenden. Um zu verhindern, dass zu viel Strom von dem Mikrocontroller-Pin gezogen wird, verwenden wir einen 2N2222 NPN-Transistor, um ihn zu steuern.

  • VerbindenPin 4des Moduls an einen 1kΩ Widerstand. Das andere Ende des Widerstands verbindet sich mit derBasis(mittlerer Pin) des Transistors.
  • Der Transistor'sEmitter(der linke Pin, mit der flachen Seite zu Ihnen zeigend) verbindet sich mitGND.
  • Der Transistor'sSammler(rechte Buchse) verbindet sich mit dernegativ (-)Terminal des Summers.
  • Diepositiv (+)Der Anschluss des Summers verbindet sich mit dem3,3VStift auf dem Heltec-Modul.
Helte_Wifi_LoRA 32 mit Summer

Arduino IDE und Bibliothekskonfiguration

Bevor Sie den Code hochladen können, müssen Sie die Arduino IDE so konfigurieren, dass sie mit den Heltec-Boards funktioniert. Der Prozess beginnt bei14:37im Video.

  1. ESP32-Boards installieren:Im Arduino IDE gehen Sie zum Boardverwalter und suchen nachESP32Installieren Sie das Paket von Espressif Systems.
  2. Heltec-Board-URL hinzufügen:Gehe zu Datei > Einstellungen. Füge unter "Zusätzliche Board-Manager-URLs" den JSON-Link für die Heltec ESP32-Serie hinzu. Dieser Link wird auf der Ressourcen-Seite unter dem Artikel bereitgestellt.
  3. Heltec ESP32-Boards installieren:Gehe zurück zum Boards Manager, suche nachHeltec ESP32, und installieren Sie das Paket.
  4. Installieren Sie die erforderlichen Bibliotheken:Gehe zum Bibliotheksmanager und installiere Folgendes:
    • Heltec ESP32 dev boards
    • Adafruit GFX Library(und klicken Sie auf "Alle installieren" für die Abhängigkeiten)
  5. Roboja-Bibliothek installieren:Laden Sie die benutzerdefinierte Datei herunter.Robojax Heltec LoRa 32zip-Bibliothek von der Ressourcenseite. Gehen Sie im Arduino IDE zu Sketch > Bibliothek einbinden > .ZIP-Bibliothek hinzufügen und wählen Sie die Datei aus, die Sie heruntergeladen haben.
  6. Wählen Sie das Board aus:Schließlich gehen Sie zu Werkzeuge > Board und wählen Sie dieHeltec WiFi LoRa 32 (V3).

Code-Einstellungen erklärt

Wir haben drei verschiedene Codeskizzen für dieses Projekt: eine für den einfachen Ein/Aus-Sender, eine für den Umschalter-Sender und eine für den Empfänger. Die Bibliothek übernimmt die komplexen Teile, sodass Sie nur einige Einstellungen am Anfang jeder Datei anpassen müssen. Die Codeerklärung beginnt bei19:00im Video.

Sender (TX) - Einfache An/Aus-Code-Einstellungen

Dieser Code aktiviert das Relais nur, solange die Taste gedrückt gehalten wird.

// 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 

Sender (TX) - Umschalten der Code-Einstellungen

Dieser Code schaltet den Zustand des Relais um (ein zu aus oder aus zu ein) mit jedem Tastendruck.

// 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 

Empfänger (RX) Code Einstellungen

Dieser Einzelempfängercode funktioniert sowohl mit den einfachen als auch mit den Umschalter-Sendern.

// 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 

Kritisch, theuserKeyundRF_FREQUENCYmuss sowohl beim Sender als auch beim Empfänger identisch sein, damit sie kommunizieren können.


Demonstration und 21-Kilometer-Reichweitentest

Das System funktioniert einwandfrei in einer Laborumgebung, wobei das Relais oder der Summer des Empfängers sofort auf Tastendrücke am Sender reagiert. Aber die wahre Stärke von LoRa ist seine Reichweite.

Ein Langstreckentest wurde durchgeführt, wie man sieht von25:03vorwärts. Der Sender wurde auf eine Leistung von 20 eingestellt, mit einer Hochleistungsantenne ausgestattet und auf einem Stativ etwa 10 Meter über dem Wasserspiegel am Ufer eines Sees platziert, um eine klare Sichtlinie zu gewährleisten. Der Empfänger wurde dann auf die andere Seite des Sees gebracht.

Das Ergebnis war ein verblüffender Erfolg. Ein stabiler Signal wurde aus einer Entfernung von13,04 Meilen oder 20,98 KilometerDies zeigt, dass man mit der richtigen Einrichtung Geräte über große Distanzen zuverlässig steuern kann, was es perfekt für Anwendungen wie die Fernüberwachung der Landwirtschaft, die Steuerung von Toren oder ein Alarmanlagen-System mit großer Reichweite macht.


Videostempel

  • 00:00- Einführung in die Fernsteuerung
  • 02:42Was ist LoRa?
  • 03:20- Komponentenübersicht (Heltec, N35 Gehäuse)
  • 05:56- Auspacken und Hardware-Montage
  • 11:17- Verkabelung erklärt: Relais und Summer
  • 14:37- Arduino IDE und Bibliothekskonfiguration
  • 19:00- Erläuterung der Code-Einstellungen (TX und RX)
  • 25:03- Demonstration & 21 Kilometer Reichweite Test
Kein Code angehängt.

Common Course Files

Ressourcen & Referenzen

Dateien📁

Andere Dateien