Indholdsfortegnelse:

Enkel Arduino LoRa -udtalelse (mere end 5 km): 9 trin
Enkel Arduino LoRa -udtalelse (mere end 5 km): 9 trin

Video: Enkel Arduino LoRa -udtalelse (mere end 5 km): 9 trin

Video: Enkel Arduino LoRa -udtalelse (mere end 5 km): 9 trin
Video: On the traces of an Ancient Civilization? 🗿 What if we have been mistaken on our past? 2024, Juli
Anonim
Simple Arduino LoRa -udtalelse (mere end 5 km)
Simple Arduino LoRa -udtalelse (mere end 5 km)

Vi skal teste E32-TTL-100 med mit bibliotek. Det er et trådløst transceiver -modul, der fungerer ved 410 441 MHz (eller 868 MHz eller 915 MHz) baseret på original RFIC SX1278 fra SEMTECH, der er gennemsigtig transmission tilgængelig, TTL -niveau. Modulet vedtager LORA spredt spektrum teknologi.

Forbrugsvarer

  • Arduino UNO
  • LoRa e32 -enheder

Valgfri

  • Mischianti Arduino LoRa skjold (Open source)
  • Mischianti WeMos LoRa -skjold (Open source)

Trin 1: Enheds specifikationer

Modulet indeholder FEC Forward Error Correction -algoritme, som sikrer dens høje kodningseffektivitet og gode korrektionsevne. I tilfælde af pludselig interferens kan den korrigere de interfererede datapakker automatisk, så pålideligheden og transmissionsområdet forbedres tilsvarende. Men uden FEC kan disse da te -pakker kun droppes. Og med den strenge kryptering og dekryptering, bliver dataaflytning meningsløs. Datakomprimeringens funktion kan reducere transmissionstiden og sandsynligheden for interferens, samtidig med at pålideligheden og transmissionseffektiviteten forbedres.

  • Modulstørrelse: 21*36 mm
  • Antennetype: SMA-K (50Ω impedans)
  • Transmissionsafstand: 3000m (max)
  • Maksimal effekt: 2dB (100mW)
  • Lufthastigheder: 2,4 Kbps (6 valgfrit niveau (0,3, 1,2, 2,4, 4,8, 9,6, 19,2 kbps)
  • Emissionslængde: 512ByteReceive
  • længde: 512Byte
  • Kommunikationsgrænseflade: UART - 8N1, 8E1, 8O1,
  • Otte slags UART -baudhastighed, fra 1200 til 115200bps (standard: 9600)
  • RSSI-understøttelse: Nej (Indbygget intelligent behandling)

Trin 2: Transmissionstype

Transmissionstype
Transmissionstype

Gennemsigtig transmission Dette kan betragtes som en "Demotilstand", som standard kan du sende besked til alle enheder med samme konfigurerede adresse og kanal.

Fast transmission

Denne type transmission kan du angive en adresse og en kanal, hvor du vil sende beskeden. Du kan sende besked til en:

  • Specificeret enhed med en forudbestemt adresse lav, adresse høj og kanal.
  • Send meddelelse til et sæt kanalenheder Normal tilstand Send blot besked.

Trin 3: Enhedstilstand

Normal tilstand Send ganske enkelt besked.

Vækningstilstand og strømbesparende tilstand

Som du kan tænke dig, hvis en enhed er i Wake-up-tilstand, kan du "vække" en eller flere enheder, der er i strømbesparende tilstand med en præamblekommunikation.

Program/dvaletilstand

Med denne konfiguration kan du ændre konfigurationen af din enhed.

Trin 4: Kabelføring

Kabelføring
Kabelføring
Kabelføring
Kabelføring

Her er tilslutningsskemaet for enheden, dette er et fuldt tilsluttet, med administration af M0 og M1 pin tilladelse til at ændre enhedens modalitet, så du kan skifte til konfiguration eller vågne op med program, biblioteket hjælper dig med alt dette operation.

Trin 5: Konfiguration

Konfiguration
Konfiguration

Eksister en bestemt kommando for at indstille og hente konfiguration

ugyldig opsætning () {Serial.begin (9600); forsinkelse (500); // Start alle pins og UART e32ttl100.begin (); ResponseStructContainer c; c = e32ttl100.getConfiguration (); // Det er vigtigt at få konfigurationsmarkøren før al anden operation Konfigurationskonfiguration = *(Konfiguration *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (konfiguration); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation (); // Det er vigtigt at få informationsmarkøren før al anden operation ModuleInformation mi = *(ModuleInformation *) cMi.data; Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); printModuleInformation (mi); }

Trin 6: Konfigurationsresultat

Og resultatet bliver

Begynd succes 1 ---------------------------------------- HEAD BIN: 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 - > Gennemsigtig transmission (standard) OptionPullup BIN: 1 -> TXD, RXD, AUX er push -pulls/pull -ups OptionWakeup BIN: 0 -> 250ms (standard) OptionFEC BIN: 1 -> Tænd for fejlkorrektionskontakt (standard) OptionPower BIN: 0-> 20dBm (standard) ---------------------------------------- Succes 1 ---------------------------------------- HEAD BIN: 11000011 195 C3 Model nr.: 32 Version: 44 Funktioner: 14 -----------------------------------------

Trin 7: Send besked

Send besked
Send besked

Her er en simpel skitse til at sende en besked til alle enheder, der er knyttet til kanalen

void loop () {// Hvis der er noget tilgængeligt hvis (e32ttl100.available ()> 1) {// læs strengbeskeden ResponseContainer rc = e32ttl100.receiveMessage (); // Er der noget, der går galt, udskrivningsfejl, hvis (rc.status.code! = 1) {rc.status.getResponseDescription (); } ellers {// Udskriv de modtagne data Serial.println (rc.data); }} hvis (Serial.available ()) {String input = Serial.readString (); e32ttl100.sendMessage (input); }}

Trin 8: Skjold til Arduino

Skjold til Arduino
Skjold til Arduino

Jeg skaber også et skjold til Arduino, der bliver meget nyttigt til prototyper.

Og jeg frigiver det som open source -projekt her

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

Trin 9: Bibliotek

Bibliotek
Bibliotek

GitHub -depot

Support forum

Yderligere dokumentation

Anbefalede: