13 Meilen 20 km ohne WiFi? Wie LoRa Spannung über verrückte Distanzen sendete! (Heltec WiFi LoRa 32 V3)

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

13 Meilen 20 km ohne WiFi? Wie LoRa Spannung über verrückte Distanzen sendete! (Heltec WiFi LoRa 32 V3)

Bauen Sie einen 21 km langen netzunabhängigen Spannungsmonitor mit LoRa und ESP32

Haben Sie jemals einen entfernten Stromversorgung überwachen müssen, wie ein Solarpanel in einer Hütte, eine Batteriebank auf einem Boot oder Geräte auf einem großen Bauernhof, von Meilen entfernt? Dieser Projektleitfaden führt Sie durch den Bau eines langstreckigen, netzunabhängigen Spannungsmonitors, der Daten über unglaubliche übertragen kann.13 Meilen (oder 21 Kilometer), ohne Abonnementsgebühren oder Abhängigkeit von WLAN- oder Mobilfunknetzen.

Wir werden zwei verwendenHeltec WiFi LoRa 32Module, die jeweils in einem robusten Unterbringung untergebracht sindMeshnology N32 Gehäusemit einem 3000mAh Akku, um einen Sender und einen Empfänger zu erstellen. Der Sender wird eine Zielspannung messen (von einigen Volt bis zu 100V oder mehr) mit Hilfe eines einfachen Spannungsteilerschaltkreises und die Messung drahtlos über LoRa senden. Der Empfänger wird diese Spannung dann in Echtzeit anzeigen, sodass Sie Ihre Systeme aus mehreren Meilen Entfernung überwachen können.


Wie es funktioniert: Der Spannungsteiler

Der Kern dieses Projekts ist die Fähigkeit, eine Vielzahl von Spannungen zu messen. Da die Eingangs-Pins des ESP32 nur sicher Spannungen bis zu 3,3V messen können, können wir eine 12V- oder 100V-Quelle nicht direkt anschließen. Um dies zu lösen, verwenden wir einen einfachen Schaltkreis, der als einSpannungsteiler, das die Spannung auf ein sicheres Niveau für den Mikrocontroller heruntersetzt, um sie auszulesen. Dies wird im Video erklärt unter12:26.

Der Schaltkreis verwendet zwei Widerstände (R1 und R2), die in Reihe geschaltet sind. Die Hochspannungsquelle (Vin) wird über beide Widerstände angelegt, und der ESP32 misst die niedrigere, proportionale Spannung (Vaußerhalb) über den R2-Widerstand. Mit den richtigen Widerstandswerten können Sie sehr hohe Spannungen genau messen.

Schaltplan eines Spannungsteilers mit den Widerständen R1 und R2.

Bei der Auswahl Ihrer Widerstände ist eine gute Faustregel, Werte zu wählen, die die Ausgangsspannung weit unterhalb der 3,3 V-Grenze halten, selbst wenn Sie die maximale erwartete Spannung messen. Für die beste Genauigkeit sollten Sie den tatsächlichen Widerstand Ihrer Widerstände mit einem Multimeter messen und diese genauen Werte im Code verwenden.

Formeln zur Berechnung der Ausgangs- und Eingangsvoltagen eines Spannungsteilers.

Hardware-Montage und Verkabelung

Die Montage umfasst das Einsetzen des Heltec LoRa 32 Moduls und des 3000mAh Akkus in das N32 Gehäuse. Das Gehäuse hat Aussparungen für den Bildschirm und die Tasten sowie ein Loch für die Befestigung der externen Antenne. Eine der wichtigsten Sicherheitsnotizen ist, dassSchließen Sie immer die Antenne an, bevor Sie das Gerät einschalten., da das Übertragen ohne Antenne das LoRa-Modul beschädigen kann.

Hauptverdrahtungsdiagramm, das einen Spannungsteiler zeigt, der mit dem ESP32 und der Batterie verbunden ist.
Foto der tatsächlichen Projektverdrahtung mit angeschlossenen Widerständen und Drähten.
Foto des OLED-Bildschirms des Senders, der eine 30V-Messung anzeigt.

Arduino IDE und Bibliotheksinstallation

https://resource.heltec.cn/download/package_heltec_esp32_index.json

Um die Heltec-Module zu programmieren, müssen Sie zunächst Ihre Arduino IDE konfigurieren. Diese einmalige Einrichtung ist entscheidend und wird detailliert beschrieben unter20:41im Video.

  1. ESP32-Boards installieren:Fügen Sie die offizielle URL der Espressif ESP32-Boards in Datei > Einstellungen hinzu und installieren Sie das "esp32"-Paket über den Boardverwalter.
  2. Installieren Sie Heltec-Unterstützung:Fügen Sie die Heltec-spezifische JSON-URL zu Ihren Einstellungen hinzu. Suchen Sie dann im Boardverwalter nach dem "Heltec ESP32"-Paket und installieren Sie es.
  3. Installieren Sie die erforderlichen Bibliotheken:Verwenden Sie den Bibliotheksmanager (Sketch > Bibliothek einfügen > Bibliotheken verwalten), um Folgendes zu installieren:
    • Heltec ESP32 dev boards
    • Adafruit GFX Library(und dessen Abhängigkeiten)
  4. Installieren Sie die Robojax-Bibliothek:Sie müssen die benutzerdefinierte Datei herunterladen.Robojax_HeltecLoRa32Bibliothek, die als .zip-Datei bereitgestellt wird. Installieren Sie sie in der IDE über Sketch > Bibliothek einfügen > .ZIP-Bibliothek hinzufügen.
  5. Wählen Sie das Board:Schließlich gehen Sie zu Werkzeuge > Board und wählen Sie dasHeltec WiFi LoRa 32 (V3)und den richtigen COM-Port.

Code-Konfiguration erklärt

Das Projekt verwendet zwei separate Skizzen: eine für dieSender (TX)und einer für dieEmpfänger (RX). Sie müssen nur einige wichtige Einstellungen im Sender-Code konfigurieren, damit er funktioniert, wie erklärt bei25:02Der Empfängercode erfordert übereinstimmende LoRa-Einstellungen.


#define VOLTAGE_READING_PIN 4  // The pin reading the voltage
const int R1 = 39120; // Your measured value for R1 in ohms
const int R2 = 3312; // Your measured value for R2 in ohms

const float CALIB_FACTOR = 1.007f; // Calibration factor to match a multimeter

const char *displayTexttitle = "Voltage:"; // Text for the OLED
const char *displayTexTX = "(TX)";

// This security key MUST be IDENTICAL on the TX and RX devices
const char *userKey = "YOUR_SECRE8888";

// These LoRa settings MUST be IDENTICAL on the TX and RX devices
#define RF_FREQUENCY      915000000 // LoRa Frequency in Hz
#define TX_OUTPUT_POWER   2         // TX Power in dBm (2-21)
  • VOLTAGE_READING_PINDer GPIO-Pin am ESP32, den Sie mit dem Ausgang Ihres Spannungsabteilers verbunden haben.
  • R1undR2: Geben Sie dieexakte Widerstandswertevon Ihren beiden Widerständen, gemessen mit einem Multimeter. Dies ist entscheidend für die Genauigkeit.
  • CALIB_FACTORWenn Ihre angezeigte Spannung leicht von einem vertrauenswürdigen Multimeter abweicht, können Sie diesen Wert nach oben oder unten anpassen (z. B. 1,008 oder 0,995), um die Anzeige zu optimieren. Stellen Sie es ein auf1.0deaktivieren.
  • userKeyDies ist Ihr privater Sicherheitsschlüssel. Nur Geräte mit demselben Schlüssel können kommunizieren.
  • RF_FREQUENCYDie Betriebsfrequenz für LoRa. Diese muss auf beiden Geräten übereinstimmen und für Ihre Region zulässig sein (z. B. 915 MHz für Nordamerika).
  • TX_OUTPUT_POWERDie Übertragungsleistung reicht von 2 (niedrige Leistung, kurze Reichweite) bis 21 (hohe Leistung, große Reichweite). Höhere Leistungen verbrauchen mehr Batteriekapazität. Für den 13-Meilen-Test wurde ein Wert von 20 verwendet. Für Testungen auf Ihrem Schreibtisch ist 2 ausreichend.

Der Receiver-Code hat ähnliche Einstellungen füruserKeyundRF_FREQUENCYdas mit den Einstellungen des Senders übereinstimmen muss.


Live-Projekt in Aktion

Sobald der Code hochgeladen ist, beginnt die Sendereinheit, die Spannung von Ihrer angeschlossenen Quelle zu messen, zeigt sie auf ihrem eigenen OLED-Bildschirm mit einem "(TX)"-Indikator an und überträgt die Daten über LoRa. Die Empfängereinheit wird, wenn sie mit dem passenden Sicherheitscode und der Frequenz programmiert ist, das Signal empfangen. Sobald sie eine gültige Übertragung erhält, zeigt sie die identische Spannung auf ihrem Bildschirm mit einem "(RX)"-Indikator an.

Wie im Langstreckentest gezeigt wurde bei31:39Dieser Aufbau ist unglaublich effektiv. Mit Hochgewinnantennen und freier Sichtlinie hat das System erfolgreich präzise Spannungswerte aus 13 Meilen Entfernung übertragen und empfangen, was beweist, dass es eine robuste und zuverlässige Lösung für ernsthafte Fernüberwachungsaufgaben ist.


Videokapitel

  • 00:00- Start
  • 03:33- Einführung in das Board und LoRa
  • 05:47- N32 Gehäuse für WiFi LoRa 32
  • 12:26- Spannungsteiler zur Messung von bis zu 150V
  • 19:47- Draht vorbereiten, um die Spannung zu messen
  • 20:41- Bibliothek für WiFi LoRa 32 installieren
  • 25:02- Übertragungscode erklärt
  • 27:16- Receiver-Code erklärt
  • 28:36- Demonstration der Spannungsanzeige
  • 31:39- Test der Reichweite im realen Abstand (13 Meilen)
Kein Code angehängt.

Common Course Files

Dateien📁

Andere Dateien