INHOUDSOPGAWE:

Eenvoudige Arduino LoRa -opgawe (meer as 5 km): 9 stappe
Eenvoudige Arduino LoRa -opgawe (meer as 5 km): 9 stappe

Video: Eenvoudige Arduino LoRa -opgawe (meer as 5 km): 9 stappe

Video: Eenvoudige Arduino LoRa -opgawe (meer as 5 km): 9 stappe
Video: The Open Road | Critical Role: THE MIGHTY NEIN | Episode 5 2024, Julie
Anonim
Eenvoudige Arduino LoRa -opspraak (meer as 5 km)
Eenvoudige Arduino LoRa -opspraak (meer as 5 km)

Ons gaan E32-TTL-100 met my biblioteek toets. Dit is 'n draadlose transceiver -module, werk op 410 441 MHz (of 868MHz of 915MHz) gebaseer op die oorspronklike RFIC SX1278 van SEMTECH, deursigtige transmissie is beskikbaar, TTL -vlak. Die module gebruik LORA -verspreidingspektrumtegnologie.

Voorrade

  • Arduino UNO
  • LoRa e32 -toestelle

Opsioneel

  • Mischianti Arduino LoRa -skild (Oopbron)
  • Mischianti WeMos LoRa -skild (Oopbron)

Stap 1: Spesifikasies vir toestelle

Die module beskik oor FEC Forward Error Correction -algoritme, wat die hoë koderingseffektiwiteit en goeie regstellingsprestasie verseker. In die geval van skielike inmenging, kan dit die ingedraaide datapakkies outomaties regstel, sodat die betroubaarheid en transmissiebereik dienooreenkomstig verbeter word. Maar sonder FEC kan die pakkies net weggegooi word. En met die streng kodering en dekripsie, word data -onderskep nutteloos. Die funksie van datakompressie kan die transmissietyd en waarskynlikheid van interferensie verminder, terwyl die betroubaarheid en oordragdoeltreffendheid verbeter word.

  • Module grootte: 21*36mm
  • Antennetipe: SMA-K (50Ω impedansie)
  • Oordragafstand: 3000 m (maksimum)
  • Maksimum krag: 2dB (100mW)
  • Lugtempo: 2.4Kbps (6 opsionele vlak (0.3, 1.2, 2.4, 4.8, 9.6, 19.2kbps)
  • Emissie lengte: 512Byte Ontvang
  • lengte: 512Byte
  • Kommunikasie -koppelvlak: UART - 8N1, 8E1, 8O1,
  • Agt soorte UART -baudsnelheid, van 1200 tot 115200bps (standaard: 9600)
  • RSSI-ondersteuning: Nee (ingeboude intelligente verwerking)

Stap 2: Transmissietipe

Transmissie tipe
Transmissie tipe

Deursigtige transmissie Dit kan as 'n 'demomodus' beskou word; u kan standaard 'n boodskap na alle toestelle van dieselfde gekonfigureerde adres en kanaal stuur.

Vaste transmissie

Met hierdie tipe oordrag kan u 'n adres en 'n kanaal spesifiseer waarheen u die boodskap wil stuur. U kan 'n boodskap stuur na:

  • Gespesifiseerde toestel met 'n voorafbepaalde adres laag, adres hoog en kanaal.
  • Stuur boodskap na 'n stel kanaaltoestelle Normale modus Stuur eenvoudig 'n boodskap.

Stap 3: Toestelmodus

Normale modus Stuur eenvoudig 'n boodskap.

Ontwaakmodus en energiebesparingsmodus

Soos u kan bedoel, as 'n toestel in die wekmodus is, kan u een of meer toestelle wat in 'n energiebesparende modus is, met 'n aanhef-kommunikasie 'wakker' maak.

Program/slaapmodus

Met hierdie opset kan u die konfigurasie van u toestel verander.

Stap 4: Bedradingstoestel

Bedradingstoestel
Bedradingstoestel
Bedradingstoestel
Bedradingstoestel

Hier is die skema van die verbinding van die toestel, dit is volledig verbind, met die bestuur van die M0- en M1 -pen -toestemming om die modaliteit van die toestel te verander, sodat u kan oorskakel na die konfigurasie- of wakkermodus met die program; die biblioteek kan u alles help operasie.

Stap 5: Konfigurasie

Konfigurasie
Konfigurasie

Bestaan 'n gespesifiseerde opdrag om konfigurasie in te stel en te kry

ongeldige opstelling () {Serial.begin (9600); vertraging (500); // Begin alle penne en UART e32ttl100.begin (); ResponseStructContainer c; c = e32ttl100.getConfiguration (); // Dit is belangrik om die konfigurasie -wyser te kry voor alle ander operasies Configuration -konfigurasie = *(Configuration *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (opset); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation (); // Dit is belangrik om inligting aan te wys voor alle ander operasies ModuleInformation mi = *(ModuleInformation *) cMi.data; Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); printModuleInformation (mi); }

Stap 6: Konfigurasie -resultaat

En die resultaat word

Begin sukses 1 ---------------------------------------- HOOFDBAK: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433MHz SpeedParityBit BIN: 0 -> 8N1 (Standard) SpeedUARTDataRate BIN: 11 -> 9600bps (default) SpeedAirDataRate BIN: 10 -> 2.4kbps (default) OptionTrans BIN: 0 - > Deursigtige transmissie (verstek) OptionPullup BIN: 1 -> TXD, RXD, AUX is push -pulls/pull -ups OptionWakeup BIN: 0 -> 250ms (standaard) OptionFEC BIN: 1 -> Skakel skakelaar vir foutkorrigering aan (standaard) OptionPower BIN: 0-> 20dBm (verstek) ----------------------------------------- Sukses 1 ---------------------------------------- KOPBAK: 11000011 195 C3 Modelnr.: 32 Weergawe: 44 Kenmerke: 14 -----------------------------------------

Stap 7: Stuur boodskap

Stuur boodskap
Stuur boodskap

Hier is 'n eenvoudige skets om 'n boodskap te stuur na alle toestelle wat aan die kanaal gekoppel is

void loop () {// As iets beskikbaar is as (e32ttl100.available ()> 1) {// lees die String -boodskap ResponseContainer rc = e32ttl100.receiveMessage (); // Is iets verkeerd, drukfout as (rc.status.code! = 1) {rc.status.getResponseDescription (); } anders {// Druk die ontvangde data af Serial.println (rc.data); }} if (Serial.available ()) {String input = Serial.readString (); e32ttl100.sendMessage (invoer); }}

Stap 8: Skild vir Arduino

Skild vir Arduino
Skild vir Arduino

Ek skep ook 'n skild vir Arduino wat baie nuttig word vir prototipering.

En ek stel dit as 'n open source -projek hier vry

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

Stap 9: Biblioteek

Biblioteek
Biblioteek

GitHub -bewaarplek

Ondersteuningsforum

Bykomende dokumentasie

Aanbeveel: