Turinys:
- Prekės
- 1 veiksmas: įrenginio specifikacijos
- 2 žingsnis: perdavimo tipas
- 3 žingsnis: įrenginio režimas
- 4 žingsnis: Įrenginio prijungimas
- 5 žingsnis: konfigūravimas
- 6 žingsnis: Konfigūracijos rezultatas
- 7 veiksmas: siųskite pranešimą
- 8 žingsnis: „Arduino“skydas
- 9 žingsnis: biblioteka
Video: Paprastas „Arduino LoRa“bendravimas (daugiau nei 5 km): 9 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Mes ketiname išbandyti E32-TTL-100 su mano biblioteka. Tai belaidis siųstuvo -imtuvo modulis, veikiantis 410 441 MHz (arba 868 MHz arba 915 MHz) dažniu, pagrįstu originaliu RFIC SX1278 iš SEMTECH, yra skaidrus perdavimas, TTL lygis. Modulis naudoja LORA išplitimo spektro technologiją.
Prekės
- Arduino UNO
- „LoRa e32“įrenginiai
Neprivaloma
- „Mischianti Arduino LoRa“skydas (atviro kodo)
- „Mischianti WeMos LoRa“skydas (atviro kodo)
1 veiksmas: įrenginio specifikacijos
Modulis turi FEC Forward Error Correction algoritmą, kuris užtikrina aukštą kodavimo efektyvumą ir gerą korekciją. Staigaus trikdžio atveju jis gali automatiškai ištaisyti sutrikusius duomenų paketus, kad atitinkamai pagerėtų patikimumas ir perdavimo diapazonas. Tačiau be FEC tuos da te paketus galima tik išmesti. O naudojant griežtą šifravimą ir iššifravimą, duomenų perėmimas tampa beprasmis. Duomenų glaudinimo funkcija gali sutrumpinti perdavimo laiką ir trukdžių tikimybę, tuo pačiu pagerindama patikimumą ir perdavimo efektyvumą.
- Modulio dydis: 21*36 mm
- Antenos tipas: SMA-K (50Ω varža)
- Perdavimo atstumas: 3000 m (maks.)
- Maksimali galia: 2dB (100mW)
- Oro dažnis: 2,4 kbps (6 pasirinktiniai lygiai (0,3, 1,2, 2,4, 4,8, 9,6, 19,2 kbps)
- Išmetimo ilgis: 512ByteRecept
- ilgis: 512 baitų
- Ryšio sąsaja: UART - 8N1, 8E1, 8O1,
- Aštuonių tipų UART perdavimo sparta, nuo 1200 iki 115200 bps (numatytoji: 9600)
- RSSI palaikymas: Ne (įmontuotas protingas apdorojimas)
2 žingsnis: perdavimo tipas
Skaidrus perdavimas Tai gali būti laikoma „demonstraciniu režimu“, pagal numatytuosius nustatymus galite siųsti pranešimą į visus to paties sukonfigūruoto adreso ir kanalo įrenginius.
Fiksuota transmisija
Šio tipo perdavimas gali nurodyti adresą ir kanalą, į kurį norite siųsti pranešimą. Pranešimą galite siųsti adresu:
- Nurodytas įrenginys su iš anksto nustatytu žemu adresu, aukštu adresu ir kanalu.
- Transliuoti pranešimą į kanalų įrenginių rinkinį Normalus režimas Tiesiog išsiųskite pranešimą.
3 žingsnis: įrenginio režimas
Įprastas režimas Tiesiog išsiųskite pranešimą.
Žadinimo ir energijos taupymo režimai
Kaip galite numanyti, jei įrenginys veikia pažadinimo režimu, jis gali „pažadinti“vieną ar kelis įrenginius, kurie veikia energijos taupymo režimu, su preambulės ryšiu.
Programos/miego režimas
Naudodami šią konfigūraciją galite pakeisti savo įrenginio konfigūraciją.
4 žingsnis: Įrenginio prijungimas
Čia yra visiškai prijungta įrenginio prijungimo schema, valdant M0 ir M1 kaiščius, leidžiama keisti įrenginio modalumą, todėl galite perjungti į konfigūraciją arba pažadinimo režimą naudodami programą, biblioteka jums padės operacija.
5 žingsnis: konfigūravimas
Egzistuoja nurodyta komanda, kad nustatytumėte ir gautumėte konfigūraciją
void setup () {Serial.begin (9600); vėlavimas (500); // Paleisti visus kaiščius ir UART e32ttl100.begin (); ResponseStructContainer c; c = e32ttl100.getConfiguration (); // Svarbu gauti konfigūracijos žymeklį prieš visas kitas operacijas Configuration configuration = *(Configuration *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (konfigūracija); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation (); // Svarbu gauti informacijos rodyklę prieš visas kitas operacijas ModuleInformation mi = *(ModuleInformation *) cMi.data; Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); printModuleInformation (mi); }
6 žingsnis: Konfigūracijos rezultatas
Ir rezultatas tampa
Pradėkite sėkmę 1 ---------------------------------------- HEAD BIN: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433MHz SpeedParityBit BIN: 0 -> 8N1 (numatytasis) SpeedUARTDataRate BIN: 11 -> 9600bps (numatytasis) SpeedAirDataRate BIN: 10 -> 2.4kbps (numatytasis) OptionTrans BIN: 0 - > Skaidrus perdavimas (numatytasis) Pasirinkimas „Pullup BIN“: 1 -> „TXD“, „RXD“, „AUX“yra „push -pull/pull -up“parinktys „Wakeup BIN“: 0 -> 250 ms (numatytasis) Maitinimo blokas: 0-> 20 dBm (numatytasis) ---------------------------------------- 1 sėkmė -------------------------------------- HEAD BIN: 11000011 195 C3 Modelis Nr.: 32 Versija: 44 Savybės: 14 ----------------------------------------
7 veiksmas: siųskite pranešimą
Čia yra paprastas eskizas, kaip išsiųsti pranešimą visiems prie kanalo prijungtiems įrenginiams
void loop () {// Jei kažkas prieinama, jei (e32ttl100.available ()> 1) {// skaitykite eilutės pranešimą ResponseContainer rc = e32ttl100.receptMessage (); // Ar kažkas negerai, spausdinimo klaida, jei (rc.status.code! = 1) {rc.status.getResponseDescription (); } else {// Spausdinti gautus duomenis Serial.println (rc.data); }} if (Serial.available ()) {String input = Serial.readString (); e32ttl100.sendMessage (įvestis); }}
8 žingsnis: „Arduino“skydas
Aš taip pat sukuriu „Arduino“skydą, kuris tampa labai naudingas kuriant prototipus.
Ir išleidžiu jį čia kaip atviro kodo projektą
www.pcbway.com/project/shareproject/LoRa_E32_Series_device_Arduino_shield.html
9 žingsnis: biblioteka
„GitHub“saugykla
Palaikymo forumas
Papildoma dokumentacija
Rekomenduojamas:
„FeatherQuill“- daugiau nei 34 valandos rašymo be blaškymosi: 8 žingsniai (su paveikslėliais)
„FeatherQuill“- daugiau nei 34 valandų trukmės rašymas be blaškymosi: rašau pragyvenimui ir didžiąją darbo dienos dalį praleidžiu sėdėdamas priešais stalinį kompiuterį, kurdamas straipsnius. Sukūriau „FeatherQuill“, nes norėjau patenkinamos spausdinimo patirties net tada, kai esu išvykęs. Tai išskirtinis, atitraukiantis
„EasyTalk“: paprastas bendravimas ir kalendorius šalia jūsų: 6 žingsniai
„EasyTalk“: lengvas bendravimas ir kalendorius šalia jūsų: Mano vardas Kobe Marchal, mokausi Howest mieste, Belgijoje, ir esu daugialypės terpės ir komunikacijos technologijų (MCT) studentas. Paskutiniais pirmaisiais metais turėjau sukurti „IoT“įrenginį. Namuose turime šią problemą, kad mano brolis visada žaidžia
Reguliariai registruokite didelės spartos EKG ar kitus duomenis daugiau nei mėnesį: 6 žingsniai
Nepertraukiamai registruokite didelės spartos EKG ar kitus duomenis daugiau nei mėnesį: Šis projektas buvo sukurtas remti universiteto medicinos tyrimų komandą, kuriai reikėjo nešiojamojo kompiuterio, galinčio užregistruoti 2 x EKG signalus po 1000 mėginių per sekundę (iš viso 2 000 mėginių per sekundę) nepertraukiamai 30 dienų, kad būtų galima nustatyti aritmijas. Projektas pristato
Daugiau nei 4 variklių naudojimas - kelių variklių skydų sukravimas: 3 žingsniai
Daugiau nei 4 variklių naudojimas - kelių variklinių skydų sukravimas: instrukcinis vibracinių jutimų keitimo ir padidinimo įtaisas (https: //www.instructables.com/id/Vibrotactile-Sens …) parodo būdą, kaip sukurti prietaisą, kuris verčia jutimą indėlis į vibracinius dirgiklius. Tie vibraciniai dirgikliai yra
Daugiau nei 100 jungiklių viename „Arduino“kaištyje: 6 žingsniai (su nuotraukomis)
Daugiau nei 100 jungiklių viename „Arduino“kaištyje: Įvadas Ar pritrūko įvesties kaiščių? Nesijaudinkite, čia yra sprendimas be jokių pamainų registrų. Šiame vaizdo įraše sužinosime, kaip prijungti daugiau nei 100 jungiklių prie vieno „Arduino“kaiščio