Innholdsfortegnelse:

Enkel Arduino LoRa -uttalelse (mer enn 5 km): 9 trinn
Enkel Arduino LoRa -uttalelse (mer enn 5 km): 9 trinn

Video: Enkel Arduino LoRa -uttalelse (mer enn 5 km): 9 trinn

Video: Enkel Arduino LoRa -uttalelse (mer enn 5 km): 9 trinn
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Juli
Anonim
Enkel Arduino LoRa -uttalelse (mer enn 5 km)
Enkel Arduino LoRa -uttalelse (mer enn 5 km)

Vi skal teste E32-TTL-100 med biblioteket mitt. Det er en trådløs transceivermodul, opererer på 410 441 MHz (eller 868 MHz eller 915 MHz) basert på original RFIC SX1278 fra SEMTECH, transparent overføring er tilgjengelig, TTL -nivå. Modulen vedtar LORA spredningsspekterteknologi.

Rekvisita

  • Arduino UNO
  • LoRa e32 -enheter

Valgfri

  • Mischianti Arduino LoRa -skjold (åpen kildekode)
  • Mischianti WeMos LoRa -skjold (åpen kildekode)

Trinn 1: Enhetsspesifikasjoner

Modulen har FEC Forward Error Correction -algoritme, som sikrer høy kodingseffektivitet og god korreksjonsytelse. Ved plutselig interferens kan den korrigere de forstyrrede datapakkene automatisk, slik at påliteligheten og overføringsområdet blir forbedret tilsvarende. Men uten FEC kan disse pakkene bare slippes. Og med den strenge krypteringen og dekrypteringen blir dataavlytting meningsløs. Datakomprimeringens funksjon kan redusere overføringstiden og sannsynligheten for interferens, samtidig som påliteligheten og overføringseffektiviteten forbedres.

  • Modulstørrelse: 21*36 mm
  • Antennetype: SMA-K (50Ω impedans)
  • Overføringsavstand: 3000m (maks)
  • Maksimal effekt: 2dB (100mW)
  • Lufthastigheter: 2,4 Kbps (6 valgfritt nivå (0,3, 1,2, 2,4, 4,8, 9,6, 19,2 kbps)
  • Utslippslengde: 512ByteReceive
  • lengde: 512Byte
  • Kommunikasjonsgrensesnitt: UART - 8N1, 8E1, 8O1,
  • Åtte typer UART -baudhastighet, fra 1200 til 115200bps (standard: 9600)
  • RSSI-støtte: Nei (Innebygd intelligent behandling)

Trinn 2: Overføringstype

Overføringstype
Overføringstype

Gjennomsiktig overføring Dette kan betraktes som en "Demomodus", som standard kan du sende meldinger til alle enheter med samme konfigurerte adresse og kanal.

Fast overføring

Denne typen overføring kan du angi en adresse og en kanal dit du vil sende meldingen. Du kan sende melding til:

  • Spesifisert enhet med en forhåndsbestemt adresse lav, adresse høy og kanal.
  • Send melding til et sett med kanalenheter Normal modus Bare send melding.

Trinn 3: Enhetsmodus

Normal modus Bare send melding.

Vekking og strømsparingsmodus

Som du kan tenke deg hvis en enhet er i Wake-up-modus, kan du "vekke" en eller flere enheter som er i strømsparingsmodus med en innledende kommunikasjon.

Program/hvilemodus

Med denne konfigurasjonen kan du endre konfigurasjonen av enheten din.

Trinn 4: Kablingsenhet

Kablingsenhet
Kablingsenhet
Kablingsenhet
Kablingsenhet

Her er skjemaet for tilkobling av enheten, dette er et fullt tilkoblet, med administrasjon av M0 og M1 pin tillatelse til å endre enhetens enhet, slik at du kan bytte til konfigurasjon eller våkne modus med program, biblioteket hjelper deg med alt dette operasjon.

Trinn 5: Konfigurasjon

Konfigurasjon
Konfigurasjon

Eksister en spesifisert kommando for å angi og få konfigurasjon

ugyldig oppsett () {Serial.begin (9600); forsinkelse (500); // Start alle pins og UART e32ttl100.begin (); ResponseStructContainer c; c = e32ttl100.getConfiguration (); // Det er viktig å få konfigurasjonspekeren før all annen operasjon Konfigurasjonskonfigurasjon = *(Konfigurasjon *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (konfigurasjon); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation (); // Det er viktig å få informasjonspekeren før all annen operasjon ModuleInformation mi = *(ModuleInformation *) cMi.data; Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); printModuleInformation (mi); }

Trinn 6: Konfigurasjonsresultat

Og resultatet blir

Begynn suksess 1 ---------------------------------------- HOVEDBEHOLDER: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433MHz SpeedParityBit BIN: 0 -> 8N1 (Standard) SpeedUARTDataRate BIN: 11 -> 9600bps (standard) SpeedAirDataRate BIN: 10 -> 2,4kbps (standard) OptionTrans BIN: 0 - > Transparent overføring (standard) OptionPullup BIN: 1 -> TXD, RXD, AUX er push -pulls/pull -ups OptionWakeup BIN: 0 -> 250ms (standard) OptionFEC BIN: 1 -> Slå på feilbryter for feilkorrigering (standard) OptionPower BIN: 0-> 20dBm (standard) ---------------------------------------- Suksess 1 --------------------------------------- HOVEDBEHOLDER: 11000011 195 C3 Modellnr.: 32 Versjon: 44 Funksjoner: 14 -----------------------------------------

Trinn 7: Send melding

Sende melding
Sende melding

Her en enkel skisse for å sende en melding til alle enheter som er knyttet til kanalen

void loop () {// Hvis noe er tilgjengelig hvis (e32ttl100.available ()> 1) {// les strengmeldingen ResponseContainer rc = e32ttl100.receiveMessage (); // Er det noe som går galt utskriftsfeil hvis (rc.status.code! = 1) {rc.status.getResponseDescription (); } annet {// Skriv ut mottatte data Serial.println (rc.data); }} if (Serial.available ()) {String input = Serial.readString (); e32ttl100.sendMessage (input); }}

Trinn 8: Skjold for Arduino

Skjold for Arduino
Skjold for Arduino

Jeg lager også et skjold for Arduino som blir veldig nyttig for prototyping.

Og jeg slipper det som et åpen kildekode -prosjekt her

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

Trinn 9: Bibliotek

Bibliotek
Bibliotek

GitHub -depot

Støtteforum

Tilleggsdokumentasjon

Anbefalt: