blogy logo
login PRIHLÁS SA
BLOG deadawp
ČLÁNKY
DISKUSIE
2
SLEDOVAŤ BLOG
Programátor
deadawp



EBYTE E32-433T20D s dosahom až 3 km?
pridal deadawp 19.2. 2025 o 11:31 (naposledy upravené 13.3. 2025 o 15:04)

EBYTE je čínsky výrobca komunikačných modulov pre bezdrôtový prenos technológiami LoRa, BLE, WiFi, Zigbee. Moduly ponúkajú najčastejšie UART rozhranie, kedy je s nimi možné komunikovať cez Sériové rozhranie skrz host mikrokontróler. Ide tak o kompletné SoC riešenie, kedy sa používateľ nemusí starať o low-level programovanie, overovanie stavov, ale len modul používa skrz host mikrokontróler a zadaný príkaz.

LoRa moduly sú založené najmä na Semtech architektúrach LoRa transceiverov (vysielač + prijímač, neumožňuje ale v reálnom čase vysielať i prijímať - semiduplex. Musí sa softvérovo prepnúť do módu vysielania / prijímania dát). To sa vyznačuje aj prijateľnou cenou týchto modulov na internete (6 až 8€ / ks). Dnes sa zameriame na konkrétny modul EBYTE E32-433T20D. Tento je založený na architektúre Semtech SX127X, azda najpoužívanejší LoRa transceiver IC vôbec. Modul pracuje na frekvencii 433 MHz, resp. v rozpätí 410~441 MHz a jeho maximálny vysielací výkon je 20 dBm, čo odpovedá 100 mW. Modul má aj SMA-K konektor pre pripojenie externej antény. Rozmery sú 36x21 mm (nezarátaný konektor). Komunikačná rýchlosť je voliteľná 2.4kbps až 19.2kbps a modul sám o sebe má 512 B buffer pre UART.

TTL komunikačná úroveň pre UART sa vyžaduje 3.3V. Pri 5V komunikácii je riziko v možnosti odpálenia modulu. Preto, ak by ste použili 5V Arduino, na jeho TX signál budete potrebovať napäťový delič 1:2, čím dosiahnete 3.3V pri logickej 1. Pre RX signál to nie je nutné, napäťová úroveň je definovaná modulom samotným.

Výbornou správou je napájacie napätie v rozsahu 3.3V až 5.5V (v skutočnosti napájacie napätie môže byť aj menšie, ale pri 3.3V je výrobcom garantovaná funkčnosť prenosu dát). Okrem UART pinov má modul samotný aj AUX pin, ktorý je možné konfigurovať, trebars pre potreby prebudenia mikrokontroléra samotným modulom v power saving móde pre maximálnu ULP optimalizáciu. Dôležitejšie sú ale piny M0 a M1. Slúžia na prepínanie operačných režimov modulu v závislosti od kombinácie ich logickej úrovne, tieto piny štandardne nie sú vo floating stave a musia byť pripojené na nejakú logickú úroveň. Ak sa nepoužívajú, odporúča sa ich pripojiť na GND.

V stave GND (logická 0) oboch M pinov je modul v generálnom (operatívnom móde) a dokáže prenášať dáta, alebo ich prijímať. Štandardne ide o 58 bajtový paket. Ako sme vyššie spomenuli, používateľ môže zadať až 512 bajtov vstupu. Samozrejme sa to odošle, ale násobných 58 bajtových paketov. Minimálnesa prenášajú 3 bajty.

Wakeup mód M0 = 1 a M1 = 0 zahŕňa odoslanie preambuly (wakeup kódu) ešte pred prenosom dát. To umožňuje prebudiť prijímače, aby spoľahlivo dokázali prijať dáta. Power saving mód M0 = 0 a M1 = 1 je použitý pre prijímače, aby mohli byť prebudené práve týmto wakeup kódom. Modul v pravidelnom intervale overuje či ho prijíma. Je tak nutné navrhnúť aplikáciu s ohľadom na nastavený interval, aby bolo možné paket zachytiť.

Posledným režimom je Sleep mód M0 = 1 a M1 = 1, ktorý je určený na kompletné uspatie modulu a znemožní ďalej prijímať dáta. V tomto režime modul na možné prebudenie wakeup kódom nezareaguje, lebo neprijíma dáta. Ovládanie modulu príkazmi je trochu špecifické. Nejde o klasické AT príkazy ako je to u mnohých UART periférii. Ide o konfiguračné rámce a nastavenie registrov s hexadecimálnou reprezentáciou.

Pre ľahšie použitie je tak možné použiť dostupné knižnice, kde inicializujete objekt a spúšťate ho s konkrétnym príkazom. Nemusíte tak riešiť formátovanie a kontrolovať to, čo sa posiela po UART linke. Pri samotnom prenose môžete posielať RAW payload vo formáte textu, ale dajú sa využiť aj sofistikovanejšie metódy ako struct, či JSON a to samostatná pre odosielané a prijímané dáta.

Spotreba modulu udávaná výrobcom EBYTE:

  • Vysielanie- 110 - mA - okamžitý odber
  • Prijímanie - 14 - mA
  • Režim spánku - 4 - μA

Výrobca udáva dosah modulu pri maximálnom vysielacom výkone až 3000 metrov, pričom uvádza aj podmienky testu a to priama viditeľnosť, 5 dBi anténa, výška 2,5 metra a najnižšia prenosová rýchlosť 2400 kbps.

Môžeme tak ale modul prevádzkovať aj na Slovensku?
V takomto nastavení samozrejme nie. Existujú tu určité obmedzenia. Medzi nimi použitá komunikačná frekvencia. Nelicencované pásmo 433 MHz umožňuje komunikovať vo frekvenčnom rozsahu 433,05 MHz až 434,79 MHz. V tomto pásme sa zakazuje prenášať napríklad video. 

Na 433 MHz komunikuje mnoho zariadení a tak je tu väčšia šanca rušenia, i keď LoRa modulácia je podstatne odolnejšia voči rušeniu. Ďalším parametrom, ktorý definitívne pochová sen o prenose na 3 kilometre je vysielací výkon. Modul umožňuje vysielať s výkonom 100 mW, avšak legislatíva limituje vysielací výkon na 10 mW pre nelicencované 433 MHz pásmo. Dostávame sa tak na 10% dostupného vysielacieho výkonu. V tomto prípade potom ešte existujú techniky na zvýšenie dosahu v podobe smerovej antény.

Reálne testy, ktoré realizovali rôzni youtuberi skončili niekde na úrovni 1600 metrov dosahu pri maximálnom výkone a teste s priamou viditeľnosťou. S 10% výkonom, čo je legislatívna požiadavka by to bolo samozrejme ešte menej. EBYTE zastrešuje LoRa moduly aj pre 868 MHz, či 2,4 GHz, kde sú dovolené vyššie vysielacie výkony, čo umožňuje prenos na dlhšie vzdialenosti. Napríklad 868 MHz moduly od EBYTE na architektúre Semtech LLCC68 majú dosah aj 10 km (čo je ale tiež validné pre nadlimitný výkon. Legislatíva EÚ, ERC Recommendation 7003, Rozhodnutie komisie 2006/771/ES odporúča prechod na 868 MHz z 433 MHz pre vyššiu spoľahlivosť, menej rušenia. LoRa modulácia ale sama o sebe je schopná okolitú interferenciu potlačiť.

Medzi ďalšie obmedzenie patrí aj duty cycle pod 10%. Teda za 60 minút môžete vysielať maximálne do 6 minút. V prípade LoRa paketov s rýchlosťou 2,4 kbps je to 300 bajtov za sekundu, za 6 minút je to 108 000 bajtov. Takýto data rate je viac než dostačujúci pre malý Arduino projekt, kde potrebujete preniesť rádovo maximálne desiatky bajtov na jedno vysielanie. Rovnako tak nepresiahnete ani duty cycle pri rozumnom používaní. Za deň tak môžete vysielať celkovo do 2 hodín a 24 minút. Okrem toho môžete vysielať nie v pravidelnom intervale, ale on-demand, ak je EBYTE modul v režime spájku a je ho možné zobudiť wakeup kódom.

Knižnica pre E32 radu LoRa modulov od EBYTE kompatibilná s Arduinom, ESP32, Rpi Pico. Posledná stable verzia je z roku 2023.
https://github.com/xreef/LoRa_E32_Series_Library/tree/master

 



Prístupov 1228
Kvalita článku
hlasov 0

PRÍSPEVKY
SLEDUJETE
Prosím prihláste sa pre možnosť pridania komentáru.
Prihláste sa, alebo použite facebook login facebook login
ĎALŠIE ČLÁNKY V BLOGU
Recenzia YATO YT-8272
[ 16.4.2025] (príspevkov 0)
Loud ESP32 pre Webrádio
[ 14.4.2025] (príspevkov 0)
NFC karta s WiFi konfiguráciou
[ 8.4.2025] (príspevkov 0)
Návrh jednoduchých PCB v EasyEDA
[ 5.4.2025] (príspevkov 0)
Test dosahu LoRa 433 MHz RA-02
[ 4.4.2025] (príspevkov 0)
Lolin32 vs. Lolin32 Lite - čo je dobré v...
[ 21.3.2025] (príspevkov 0)
ZK-4KX buck/boost regulátor s krabičkou
[ 16.3.2025] (príspevkov 0)