Search Code

13 Míľ 20 km bez WiFi? Ako LoRa poslalo napätie na šialené vzdialenosti! (Heltec WiFi LoRa 32 V3)

This lesson is part of: Introduction to WiFi LoRa

13 Míľ 20 km bez WiFi? Ako LoRa poslalo napätie na šialené vzdialenosti! (Heltec WiFi LoRa 32 V3)

Zostavte si 13-míľový monitor napätia mimo siete s LoRa a ESP32

Potrebovali ste niekedy monitorovať vzdialený zdroj napájania, ako je solárny panel pri chate, batériové pole na lodi alebo zariadenie na veľkej farme, z kilometrov vzdialeného miesta? Tento projektový sprievodca vás prevedie zostavením diaľkového monitora napätia pracujúceho mimo siete, ktorý dokáže prenášať dáta až na neuveriteľných 13 míľ (alebo 21 kilometrov), bez akýchkoľvek poplatkov za predplatné alebo závislosti od Wi-Fi či mobilných sietí.

Použijeme dva moduly Heltec WiFi LoRa 32, každý umiestnený v odolnom puzdre Meshnology N32 s batériou 3000 mAh, na vytvorenie vysielača a prijímača. Vysielač bude merať cieľové napätie (od niekoľkých voltov až po 100 V alebo viac) pomocou jednoduchého odporového deliča napätia a bezdrôtovo odosielať nameranú hodnotu pomocou LoRa. Prijímač potom toto napätie zobrazí v reálnom čase, čo vám umožní monitorovať vaše systémy z kilometrov vzdialeného miesta.


Ako to funguje: Odporový delič napätia

Jadrom tohto projektu je schopnosť merať široký rozsah napätí. Keďže vstupné piny ESP32 dokážu bezpečne merať napätia iba do 3,3 V, nemôžeme pripojiť zdroj 12 V alebo 100 V priamo. Na vyriešenie tohto problému použijeme jednoduchý obvod nazývaný odporový delič napätia, ktorý zníži napätie na bezpečnú úroveň pre mikrokontrolér. Toto je vysvetlené vo videu v čase 12:26.

Obvod používa dva odpory (R1 a R2) zapojené do série. Zdroj vysokého napätia (Vin) je pripojený na oba odpory a ESP32 číta nižšie, proporcionálne napätie (Vout) iba na odpore R2. So správnymi hodnotami odporov môžete presne merať veľmi vysoké napätia.

Schéma zapojenia odporového deliča napätia s odpormi R1 a R2.

Pri výbere odporov je dobrým pravidlom zvoliť hodnoty, ktoré udržia výstupné napätie výrazne pod limitom 3,3 V, aj pri meraní maximálneho očakávaného napätia. Pre najlepšiu presnosť by ste mali zmerať skutočný odpor vašich rezistorov multimetrom a použiť tieto presné hodnoty v kóde.

Vzorce na výpočet výstupného a vstupného napätia odporového deliča.

Montáž hardvéru a zapojenie

Montáž zahŕňa umiestnenie modulu Heltec LoRa 32 a batérie 3000 mAh do puzdra N32. Puzdro má výrezy pre obrazovku a tlačidlá a otvor pre montáž externej antény. Jedným z najdôležitejších bezpečnostných upozornení je vždy mať pripojenú anténu pred zapnutím zariadenia, pretože vysielanie bez antény môže poškodiť modul LoRa.

Hlavná schéma zapojenia zobrazujúca odporový delič napätia pripojený k ESP32 a batérii.
Fotografia skutočného zapojenia projektu s odpormi a vodičmi.
Fotografia OLED obrazovky vysielača zobrazujúca meranie 30 V.

Nastavenie Arduino IDE a knižníc

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

Na programovanie modulov Heltec musíte najprv nakonfigurovať svoje Arduino IDE. Toto jednorazové nastavenie je kľúčové a je podrobne vysvetlené v čase 20:41 vo videu.

  1. Inštalácia dosiek ESP32: Pridajte oficiálnu adresu URL dosiek Espressif ESP32 v Súbor > Predvoľby a nainštalujte balík "esp32" zo Správcu dosiek. 
  2. Inštalácia podpory Heltec: Pridajte špecifickú adresu URL JSON pre Heltec do svojich predvolieb. Potom v Správcovi dosiek vyhľadajte a nainštalujte balík "Heltec ESP32".
  3. Inštalácia požadovaných knižníc: Pomocou Správcu knižníc (Náčrt > Zahrnúť knižnicu > Spravovať knižnice) nainštalujte nasledovné:
    • Heltec ESP32 dev boards
    • Adafruit GFX Library (a jej závislosti)
  4. Inštalácia knižnice Robojax: Budete musieť stiahnuť vlastnú knižnicu Robojax_HeltecLoRa32, ktorá je poskytnutá ako súbor .zip. Nainštalujte ju v IDE cez Náčrt > Zahrnúť knižnicu > Pridať knižnicu .ZIP.
  5. Výber dosky: Nakoniec prejdite na Nástroje > Doska a vyberte Heltec WiFi LoRa 32 (V3) a správny port COM.

Vysvetlenie konfigurácie kódu

Projekt používa dva samostatné náčrty: jeden pre vysielač (TX) a jeden pre prijímač (RX). V kóde vysielača stačí nakonfigurovať iba niekoľko kľúčových nastavení, aby fungoval, ako je vysvetlené v čase 25:02. Kód prijímača vyžaduje zodpovedajúce nastavenia LoRa.


#define VOLTAGE_READING_PIN 4  // Pin, ktorý číta napätie
const int R1 = 39120; // Vaša nameraná hodnota pre R1 v ohmoch
const int R2 = 3312; // Vaša nameraná hodnota pre R2 v ohmoch

const float CALIB_FACTOR = 1.007f; // Kalibračný faktor na zosúladenie s multimetrom

const char *displayTexttitle = "Napätie:"; // Text pre OLED
const char *displayTexTX = "(TX)";

// Tento bezpečnostný kľúč MUSÍ byť IDENTICKÝ na zariadeniach TX a RX
const char *userKey = "YOUR_SECRE8888";

// Tieto nastavenia LoRa MUSIA byť IDENTICKÉ na zariadeniach TX a RX
#define RF_FREQUENCY      915000000 // Frekvencia LoRa v Hz
#define TX_OUTPUT_POWER   2         // Výkon TX v dBm (2-21)
  • VOLTAGE_READING_PIN: GPIO pin na ESP32, ku ktorému ste pripojili výstup vášho deliča napätia.
  • R1 a R2: Zadajte presné hodnoty odporu vašich dvoch rezistorov podľa merania multimetrom. Toto je kľúčové pre presnosť.
  • CALIB_FACTOR: Ak sa vaše zobrazené napätie mierne líši od dôveryhodného multimetra, môžete túto hodnotu upraviť nahor alebo nadol (napr. 1.008 alebo 0.995) na doladenie merania. Nastavte na 1.0 pre vypnutie.
  • userKey: Toto je váš súkromný bezpečnostný kľúč. Iba zariadenia s presne rovnakým kľúčom môžu komunikovať.
  • RF_FREQUENCY: Prevádzková frekvencia pre LoRa. Musí sa zhodovať na oboch zariadeniach a musí byť legálna pre vašu oblasť (napr. 915MHz pre Severnú Ameriku).
  • TX_OUTPUT_POWER: Vysielací výkon, od 2 (nízky výkon, krátky dosah) do 21 (vysoký výkon, dlhý dosah). Vyšší výkon spotrebúva viac batérie. Pre test na 13 míľ bola použitá hodnota 20. Pre testovanie na vašom stole postačuje 2.

Kód prijímača má podobné nastavenia pre userKey a RF_FREQUENCY, ktoré sa musia zhodovať s nastaveniami vysielača.


Živý projekt v akcii

Po nahratí kódu začne vysielacia jednotka merať napätie z vášho pripojeného zdroja, zobrazovať ho na svojom OLED displeji s indikátorom "(TX)" a vysielať dáta cez LoRa. Prijímacia jednotka, keď je naprogramovaná so zodpovedajúcim bezpečnostným kľúčom a frekvenciou, bude počúvať signál. Akonáhle prijme platný prenos, zobrazí rovnaké napätie na svojej obrazovke s indikátorom "(RX)".

Ako je demonštrované v teste na dlhú vzdialenosť v čase 31:39, toto nastavenie je neuveriteľne efektívne. S vysoko ziskovými anténami a jasnou líniou pohľadu systém úspešne prenášal a prijímal presné hodnoty napätia zo vzdialenosti 13 míľ, čo dokazuje, že je robustným a spoľahlivým riešením pre vážne úlohy diaľkového monitorovania.


Video kapitoly

  • 00:00 - Začiatok
  • 03:33 - Úvod k doske a LoRa
  • 05:47 - N32 puzdro pre WiFi LoRa 32
  • 12:26 - Delič napätia na meranie do 150V
  • 19:47 - Príprava vodiča na meranie napätia
  • 20:41 - Inštalácia knižnice pre WiFi LoRa 32
  • 25:02 - Vysvetlenie vysielacieho kódu
  • 27:16 - Vysvetlenie prijímacieho kódu
  • 28:36 - Demonštrácia čítania napätia
  • 31:39 - Test reálneho dosahu vzdialenosti (13 míľ)
No code attached.

Files📁

Arduino Libraries (zip)

Other files