Kazalo:

Preprosta komunikacija Arduino LoRa (več kot 5 km): 9 korakov
Preprosta komunikacija Arduino LoRa (več kot 5 km): 9 korakov

Video: Preprosta komunikacija Arduino LoRa (več kot 5 km): 9 korakov

Video: Preprosta komunikacija Arduino LoRa (več kot 5 km): 9 korakov
Video: ⚡️ Я НЕ СДАМСЯ! AMAZON 2.0 | Интернет магазин с нуля - Часть 3 2024, Julij
Anonim
Preprosta komunikacija Arduino LoRa (več kot 5 km)
Preprosta komunikacija Arduino LoRa (več kot 5 km)

E32-TTL-100 bomo testirali z mojo knjižnico. To je brezžični oddajniški modul, ki deluje pri 410 441 MHz (ali 868MHz ali 915MHz) na osnovi izvirnega RFIC SX1278 podjetja SEMTECH, na voljo je pregleden prenos, raven TTL. Modul sprejema tehnologijo razpršenega spektra LORA.

Zaloge

  • Arduino UNO
  • Naprave LoRa e32

Neobvezno

  • Mischianti Arduino LoRa ščit (odprtokoden)
  • Mischianti WeMos LoRa ščit (odprtokoden)

1. korak: specifikacije naprav

Modul vsebuje algoritem FEC Forward Error Correction, ki zagotavlja visoko učinkovitost kodiranja in dobro popravljanje. V primeru nenadnih motenj lahko samodejno popravi motene podatkovne pakete, tako da se ustrezno izboljšata zanesljivost in doseg prenosa. Toda brez FEC je mogoče te pakete izpustiti samo. S strogim šifriranjem in dešifriranjem prestrezanje podatkov postane nesmiselno. Funkcija stiskanja podatkov lahko zmanjša čas prenosa in verjetnost motenj, hkrati pa izboljša zanesljivost in učinkovitost prenosa.

  • Velikost modula: 21*36 mm
  • Tip antene: SMA-K (impedanca 50Ω)
  • Oddaljena razdalja: 3000 m (max)
  • Največja moč: 2dB (100mW)
  • Letalske hitrosti: 2,4 Kb / s (6 izbirnih ravni (0,3, 1,2, 2,4, 4,8, 9,6, 19,2 kb / s)
  • Dolžina emisije: 512ByteReceive
  • dolžina: 512 bajtov
  • Komunikacijski vmesnik: UART - 8N1, 8E1, 8O1,
  • Osem vrst hitrosti prenosa UART, od 1200 do 115200bps (privzeto: 9600)
  • Podpora RSSI: Ne (vgrajena inteligentna obdelava)

2. korak: Vrsta prenosa

Vrsta prenosa
Vrsta prenosa

Pregleden prenosTo lahko obravnavamo kot "Demo način", privzeto lahko pošljete sporočilo vsem napravam z istim konfiguriranim naslovom in kanalom.

Fiksni prenos

Pri tej vrsti prenosa lahko določite naslov in kanal, kamor želite poslati sporočilo. Sporočilo lahko pošljete na:

  • Določena naprava z vnaprej določenim nizkim naslovom, visokim naslovom in kanalom.
  • Oddajanje sporočila nizu kanalskih naprav Običajni način Preprosto pošljite sporočilo.

3. korak: Način naprave

Običajen način Preprosto pošljite sporočilo.

Način prebujanja in način varčevanja z energijo

Kot lahko mislite, če je naprava v načinu prebujanja, lahko "prebudi" eno ali več naprav, ki so v načinu varčevanja z energijo s komunikacijo v preambuli.

Program/način mirovanja

S to konfiguracijo lahko spremenite konfiguracijo svoje naprave.

4. korak: Ožičenje naprave

Naprava za ožičenje
Naprava za ožičenje
Naprava za ožičenje
Naprava za ožičenje

Tukaj je shema povezave naprave, ta je v celoti povezana, z upravljanjem pin M0 in M1 dovoljuje spreminjanje načina delovanja naprave, tako da lahko preklopite v konfiguracijo ali se zbudite s programom, knjižnica vam pri tem pomaga operacijo.

5. korak: Konfiguracija

Konfiguracija
Konfiguracija

Za nastavitev in pridobitev konfiguracije obstaja določen ukaz

void setup () {Serial.begin (9600); zamuda (500); // Zagon vseh zatičev in UART e32ttl100.begin (); ResponseStructContainer c; c = e32ttl100.getConfiguration (); // Pomembno je, da dobite konfiguracijski kazalec pred vsemi drugimi operacijami Configuration configuration = *(Configuration *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (konfiguracija); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation (); // Pomembno je, da dobite informacijski kazalec pred vsemi drugimi operacijami ModuleInformation mi = *(ModuleInformation *) cMi.data; Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); printModuleInformation (mi); }

6. korak: Konfiguracijski rezultat

In rezultat postane

Začni uspeh 1 ---------------------------------------- PLAČILO ZA GLAVO: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433MHz SpeedPitaryBit BIN: 0 -> 8N1 (privzeto) SpeedUARTDAtaRate BIN: 11 -> 9600bps (privzeto) SpeedAirDataRate BIN: 10 -> 2,4kbps (privzeto) OptionTrans BIN: 0 - > Transparenten prenos (privzeto) OptionPullup BIN: 1 -> TXD, RXD, AUX so push -pull/pull -ups OptionWakeup BIN: 0 -> 250ms (privzeto) OptionFEC BIN: 1 -> Vklopite stikalo za odpravljanje napak naprej (privzeto) Možnost Power BIN: 0-> 20dBm (privzeto) ---------------------------------------- Uspeh 1 ---------------------------------------- PLAČILO ZA GLAVO: 11000011 195 C3 Model št.: 32 Različica: 44 Lastnosti: 14 ----------------------------------------

7. korak: Pošljite sporočilo

Pošlji sporočilo
Pošlji sporočilo

Tukaj je preprosta skica za pošiljanje sporočila vsem napravam, priključenim na kanal

void loop () {// Če je kaj na voljo if (e32ttl100.available ()> 1) {// preberite sporočilo niza ResponseContainer rc = e32ttl100.receiveMessage (); // Ali gre kaj narobe pri tiskarski napaki if (rc.status.code! = 1) {rc.status.getResponseDescription (); } else {// Natisnite prejete podatke Serial.println (rc.data); }} if (Serial.available ()) {String input = Serial.readString (); e32ttl100.sendMessage (vnos); }}

8. korak: Ščit za Arduino

Ščit za Arduino
Ščit za Arduino

Ustvaril sem tudi ščit za Arduino, ki je postal zelo uporaben za izdelavo prototipov.

In tukaj ga objavljam kot odprtokodni projekt

www.pcbway.com/project/shareproject/LoRa_E32_Series_device_Arduino_shield.html

9. korak: Knjižnica

Knjižnica
Knjižnica

Skladišče GitHub

Forum za podporo

Dodatna dokumentacija

Priporočena: