Search Code

DIY Remote Relay projekat: 13 milja bez Wi-Fi/SIM Heltec LoRa 32 modul

This lesson is part of: Introduction to WiFi LoRa

DIY Remote Relay projekat: 13 milja bez Wi-Fi/SIM Heltec LoRa 32 modul

Daljinski upravljač velikog dometa LoRa sa Heltec WiFi LoRa 32

Zamislite da možete upravljati ventilatorom, svjetlom, pumpom za vodu ili sigurnosnim alarmom s udaljenosti veće od 15 milja ili 21 kilometra, sve bez potrebe za SIM karticom ili plaćanja naknada. To je moguće korištenjem LoRa (Long Range) tehnologije, a u ovom vodiču ćemo vam pokazati tačno kako izgraditi takav sistem. Koristit ćemo moćni Heltec WiFi LoRa 32 modul, praktično smješten u izdržljivo Meshnology N35 kućište koje uključuje 3000mAh bateriju za dugotrajan rad.

Ovaj projekat će demonstrirati kako postaviti predajnik i prijemnik za upravljanje opterećenjem na dva različita načina: jednostavnu funkciju uključi/isključi i funkciju preklapanja. Pokrit ćemo sklapanje hardvera, povezivanje, postavke koda i pokazati vam test dometa u stvarnom svijetu.


Komponente i hardver

U srcu našeg projekta nalazi se nekoliko ključnih komponenti dizajniranih da rade zajedno za maksimalan domet i pouzdanost.

  • Heltec WiFi LoRa 32 V3: Ovo je svestran mikrokontroler koji dolazi s ugrađenim LoRa komunikacijskim čipom, kao i Wi-Fi i Bluetooth mogućnostima. Potpuno je programabilan poput Arduina, što nam omogućava čitanje ulaza i upravljanje izlazima.
  • Meshnology N35 kućište i baterija: Ovo je izdržljivo kućište dizajnirano posebno za Heltec modul. Kada se kupi kao komplet, uključuje 3000mAh bateriju, koja je neophodna za dugotrajno slanje i primanje, posebno na udaljenim lokacijama.
  • Antena s visokim pojačanjem: Da bismo postigli najbolji mogući domet, koristit ćemo antenu s visokim pojačanjem, koja značajno poboljšava jačinu signala u poređenju sa standardnom antenom.
  • Relej ili zujalica: Za prijemnik možete spojiti relej za upravljanje uređajima velike snage naizmjenične ili jednosmjerne struje poput ventilatora i svjetala, ili jednostavnu zujalicu za alarmne aplikacije.

Sklapanje hardvera

Sklapanje jedinice je jednostavan proces, kao što je prikazano u videu počevši od otprilike 05:56. N35 komplet dolazi s Heltec modulom, 3000mAh baterijom, kućištem, antenom s produžnim kablom i pin zaglavljima.

Glavni koraci uključuju postavljanje dugmadi u kućište, provlačenje žice baterije, povezivanje produžnog kabla antene na modul, postavljanje modula unutra i povezivanje baterije. Zatim jednostavno zatvorite kućište i pričvrstite nosač antene s vanjske strane. Vrijedi napomenuti da je ranija verzija kućišta zahtijevala malu modifikaciju da bi se uklopio nosač antene, ali Meshnology je od tada riješio ovaj problem u novijim serijama.


Povezivanje za opterećenje prijemnika

Na strani prijemnika spojit ćete svoj izlazni uređaj. Ispod su upute za povezivanje i za relej i za zujalicu, kao što je detaljno prikazano u videu na 11:17.

Povezivanje releja

Relej djeluje kao električno upravljani prekidač, omogućavajući vam upravljanje opterećenjem velike snage.

  • Signalni pin releja se povezuje na pin 4 Heltec LoRa modula.
  • Uzemljenje (GND) releja se povezuje na GND pin na modulu.
  • Važno: VCC (napajanje) pin releja treba napajati iz vanjskog 5V napajanja. Izlaz od 3.3V modula ne može pouzdano podnijeti struju koju povlači relej.
  • Morate stvoriti zajedničko uzemljenje povezivanjem uzemljenja vanjskog napajanja s uzemljenjem Heltec modula. Ovo je ključno za ispravan rad kruga.
Helte_Wifi_LoRA 32

Povezivanje zujalice s tranzistorom

Za jednostavan audio alarm možete koristiti zujalicu. Da bismo spriječili povlačenje prevelike struje s pina mikrokontrolera, koristimo 2N2222 NPN tranzistor za njeno pokretanje.

  • Spojite pin 4 modula na otpornik od 1kΩ. Drugi kraj otpornika se povezuje na bazu (srednji pin) tranzistora.
  • Emiter tranzistora (lijevi pin, s ravnom stranom okrenutom prema vama) se povezuje na GND.
  • Kolektor tranzistora (desni pin) se povezuje na negativni (-) terminal zujalice.
  • Pozitivni (+) terminal zujalice se povezuje na 3.3V pin na Heltec modulu.
Helte_Wifi_LoRA 32 sa zujalicom

Arduino IDE i postavljanje biblioteka

Prije nego što možete prenijeti kod, morate konfigurirati Arduino IDE da radi s Heltec pločama. Proces počinje na 14:37 u videu.

  1. Instalirajte ESP32 ploče: U Arduino IDE, idite na Boards Manager i pretražite ESP32. Instalirajte paket od Espressif Systems.
  2. Dodajte Heltec Board URL: Idite na File > Preferences. U "Additional Boards Manager URLs," dodajte JSON link za Heltec ESP32 seriju. Ovaj link će biti naveden na stranici resursa ispod članka.
  3. Instalirajte Heltec ESP32 ploče: Vratite se na Boards Manager, pretražite Heltec ESP32, i instalirajte paket.
  4. Instalirajte potrebne biblioteke: Idite na Library Manager i instalirajte sljedeće:
    • Heltec ESP32 dev boards
    • Adafruit GFX Library (i kliknite "Install All" za njene zavisnosti)
  5. Instalirajte Robojax biblioteku: Preuzmite prilagođenu Robojax Heltec LoRa 32 zip biblioteku sa stranice resursa. U Arduino IDE, idite na Sketch > Include Library > Add .ZIP Library i odaberite datoteku koju ste preuzeli.
  6. Odaberite ploču: Na kraju, idite na Tools > Board i odaberite Heltec WiFi LoRa 32 (V3).

Objašnjenje postavki koda

Imamo tri različita koda za ovaj projekat: jedan za jednostavni on/off predajnik, jedan za toggle predajnik, i jedan za prijemnik. Biblioteka upravlja složenim dijelovima, tako da trebate samo podesiti nekoliko postavki na vrhu svake datoteke. Objašnjenje koda počinje u 19:00 u videu.

Predajnik (TX) - Jednostavne On/Off postavke koda

Ovaj kod uključuje relej samo dok je dugme pritisnuto.

// Tekst za prikaz na OLED ekranu
const char *displayTexttitle = "Relay:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayON = "ON";
const char *displayTextRelayOFF = "OFF";

// Sigurnosni ključ i frekvencija (MORAJU SE PODUDARATI SA PRIJEMNIKOM)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000 

// Snaga prijenosa (2-21, veća je jača)
#define TX_OUTPUT_POWER 14 

Predajnik (TX) - Toggle postavke koda

Ovaj kod mijenja stanje releja (uključeno u isključeno, ili isključeno u uključeno) pri svakom pritisku dugmeta.

// Postavite na true za serijski monitor debugging, false za normalnu upotrebu
bool debug = true; 
// Ugrađeni pin korisničkog dugmeta je 0
#define PUSH_BUTTON_PIN 0  

// Tekst za prikaz na OLED ekranu
const char *displayTextTitle = "Relay:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayToggleON = "TOG-ON";
const char *displayTextRelayToggleOFF = "TOG-OFF";

// Sigurnosni ključ i frekvencija (MORAJU SE PODUDARATI SA PRIJEMNIKOM)
const char *userKey = "6tfDs$wEq3!"; 
#define RF_FREQUENCY 915555000 

// Snaga prijenosa (2-21)
#define TX_OUTPUT_POWER 2 

Prijemnik (RX) postavke koda

Ovaj jedinstveni prijemnik radi i sa jednostavnim i sa toggle predajnicima.

// Pin povezan na signalni ulaz releja
#define RELAY_CONTROL_PIN 4

// Tekst za prikaz na OLED ekranu
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"; 

// Sigurnosni ključ i frekvencija (MORAJU SE PODUDARATI SA PREDAJNIKOM)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000 

Ključno je da userKey i RF_FREQUENCY moraju biti identični i na predajniku i na prijemniku da bi mogli komunicirati.


Demonstracija i test dometa od 13 milja

Sistem radi besprijekorno u laboratorijskom okruženju, pri čemu relej ili zujalica prijemnika trenutno reagiraju na pritiske dugmeta na predajniku. Ali prava snaga LoRa tehnologije je njen domet.

Izvršen je test dugog dometa, kao što se vidi od 25:03 nadalje. Predajnik je postavljen na nivo snage 20, opremljen antenom visokog pojačanja, i postavljen na stativ oko 10 metara iznad nivoa vode na obali jezera kako bi se osigurala jasna linija vidljivosti. Prijemnik je zatim odnesen na drugu stranu jezera.

Rezultat je bio zapanjujući uspjeh. Stabilan signal primljen je sa udaljenosti od 13.04 milje, ili 20.98 kilometara. Ovo pokazuje da uz pravilnu postavku možete pouzdano upravljati uređajima na ogromnim udaljenostima, što ga čini savršenim za aplikacije poput daljinskog praćenja poljoprivrede, kontrole kapija, ili sistema alarma za provalnike dugog dometa.


Vremenske oznake videa

  • 00:00 - Uvod u kontrolu dugog dometa
  • 02:42 - Šta je LoRa?
  • 03:20 - Pregled komponenti (Heltec, N35 kućište)
  • 05:56 - Raspakivanje i sklapanje hardvera
  • 11:17 - Objašnjenje ožičenja: Relej i zujalica
  • 14:37 - Arduino IDE i postavljanje biblioteka
  • 19:00 - Objašnjenje postavki koda (TX i RX)
  • 25:03 - Demonstracija i test dometa od 13 milja
No code attached.

Files📁

Arduino Libraries (zip)

Other files