Përmbajtje:

Komunikim i thjeshtë Arduino LoRa (më shumë se 5 km): 9 hapa
Komunikim i thjeshtë Arduino LoRa (më shumë se 5 km): 9 hapa

Video: Komunikim i thjeshtë Arduino LoRa (më shumë se 5 km): 9 hapa

Video: Komunikim i thjeshtë Arduino LoRa (më shumë se 5 km): 9 hapa
Video: Управление 32 сервомоторами с помощью PCA9685 и Arduino: V3 2024, Nëntor
Anonim
Komunikim i thjeshtë Arduino LoRa (më shumë se 5 km)
Komunikim i thjeshtë Arduino LoRa (më shumë se 5 km)

Ne do të testojmë E32-TTL-100 me bibliotekën time. Shtë një modul transmetues pa tel, funksionon në 410 441 MHz (ose 868MHz ose 915MHz) bazuar në RFIC SX1278 origjinal nga SEMTECH, transmetimi transparent është i disponueshëm, niveli TTL. Moduli miraton teknologjinë e spektrit të përhapur LORA.

Furnizimet

  • Arduino UNO
  • Pajisjet LoRa e32

Opsionale

  • Mburoja Mischianti Arduino LoRa (Burim i Hapur)
  • Mburoja Mischianti WeMos LoRa (Burim i Hapur)

Hapi 1: Specifikimet e pajisjeve

Moduli përmban algoritmin FEC Forward Error Correct, i cili siguron efikasitetin e tij të lartë të kodimit dhe performancën e mirë të korrigjimit. Në rast të ndërhyrjes së papritur, ai mund të korrigjojë paketat e të dhënave të ndërhyra automatikisht, në mënyrë që besueshmëria dhe diapazoni i transmetimit të përmirësohen në mënyrë korresponduese. Por pa FEC, ato pako da te mund të hidhen vetëm. Dhe me kriptimin dhe deshifrimin rigoroz, përgjimi i të dhënave bëhet i pakuptimtë. Funksioni i kompresimit të të dhënave mund të zvogëlojë kohën e transmetimit dhe probabilitetin e ndërhyrjes, duke përmirësuar besueshmërinë dhe efikasitetin e transmetimit.

  • Madhësia e modulit: 21*36mm
  • Lloji i antenës: SMA-K (rezistencë 50Ω)
  • Distanca e transmetimit: 3000m (max)
  • Fuqia maksimale: 2dB (100mW)
  • Normat e ajrit: 2.4Kbps (6 nivele opsionale (0.3, 1.2, 2.4, 4.8, 9.6, 19.2kbps)
  • Gjatësia e emetimit: 512ByteReceive
  • gjatësia: 512Bajt
  • Ndërfaqja e komunikimit: UART - 8N1, 8E1, 8O1,
  • Tetë lloje të normës së baudit UART, nga 1200 në 115200bps (e parazgjedhur: 9600)
  • Mbështetje RSSI: Jo (përpunim inteligjent i integruar)

Hapi 2: Lloji i transmetimit

Lloji i Transmetimit
Lloji i Transmetimit

Transmetim transparentKjo mund të konsiderohet si një "Demo mode", si parazgjedhje ju mund të dërgoni mesazh në të gjitha pajisjet me të njëjtën adresë dhe kanal të konfiguruar.

Transmetim fiks

Ky lloj transmetimi mund të specifikoni një adresë dhe një kanal ku dëshironi të dërgoni mesazhin. Mund të dërgoni mesazh në një:

  • Pajisja e specifikuar me një adresë të paracaktuar të ulët, adresë të lartë dhe kanal.
  • Transmetoni mesazh në një grup pajisjesh kanalesh Mënyra normale Thjesht dërgoni mesazh.

Hapi 3: Modaliteti i pajisjes

Mënyra normale Thjesht dërgoni mesazh.

Mënyra e zgjimit dhe mënyra e kursimit të energjisë

Siç mund të mendoni nëse një pajisje është në modalitetin Zgjimi mund të "zgjojë" një ose më shumë pajisje që janë në modalitetin e kursimit të energjisë me një komunikim parathënie.

Programi/mënyra e gjumit

Me këtë konfigurim mund të ndryshoni konfigurimin e pajisjes tuaj.

Hapi 4: Pajisja e telave

Pajisja e telave
Pajisja e telave
Pajisja e telave
Pajisja e telave

Këtu skema e lidhjes së pajisjes, kjo është plotësisht e lidhur, me menaxhimin e pinit M0 dhe M1 lejoni të ndryshoni modalitetin e pajisjes, kështu që mund të kaloni në modalitetin e konfigurimit ose zgjimit me program, biblioteka ju ndihmon në të gjithë këtë operacion.

Hapi 5: Konfigurimi

Konfigurimi
Konfigurimi

Ekziston një komandë e specifikuar për të vendosur dhe marrë konfigurimin

void setup () {Serial.begin (9600); vonesë (500); // Filloni të gjitha kunjat dhe UART e32ttl100.begin (); ResponseStructContainer c; c = e32ttl100.getConfiguration (); // importantshtë e rëndësishme të merrni treguesin e konfigurimit para çdo operacioni tjetër Konfigurimi i konfigurimit = *(Konfigurimi *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (konfigurimi); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation (); // importantshtë e rëndësishme të merrni treguesin e informacionit para të gjitha operacioneve të tjera ModuleInformation mi = *(ModuleInformation *) cMi.data; Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); printModuleInformacioni (mi); }

Hapi 6: Rezultati i konfigurimit

Dhe rezultati bëhet

Filloni Suksesin 1 -------------------------------------------- KODI I KOKS: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433MHz SpeedParityBit BIN: 0 -> 8N1 (Default) SpeedUARTDataRate BIN: 11 -> 9600bps (parazgjedhje) SpeedAirDataRate BIN: 10 -> 2.4kbps (parazgjedhje) OpsionetTrans BIN: 0 - > Transmetim transparent (parazgjedhje) Opsioni Tërheqës BIN: 1 -> TXD, RXD, AUX janë shtytje/tërheqje OptionWakeup BIN: 0 -> 250ms (parazgjedhje) Opsioni FEC BIN: 1 -> Aktivizo çelësin e korrigjimit të gabimit përpara (Default) OptionPower BIN: 0-> 20dBm (e parazgjedhur) -------------------------------------------- Suksesi 1 -------------------------------------------- KOKA E KOKS: 11000011 195 C3 Modeli nr.: 32 Versioni: 44 Karakteristikat: 14 --------------------------------------------

Hapi 7: Dërgo Mesazh

Dërgoni mesazh
Dërgoni mesazh

Këtu është një skicë e thjeshtë për të dërguar një mesazh në të gjitha pajisjet e bashkangjitura në kanal

lak void () {// Nëse diçka është e disponueshme nëse (e32ttl100.disponueshme ()> 1) {// lexoni mesazhin me tela ResponseContainer rc = e32ttl100.receiveMessage (); // A ka ndonjë gabim gabimi i printimit nëse (rc.status.code! = 1) {rc.status.getResponseDescription (); } else {// Shtypni të dhënat e marra Serial.println (rc.data); }} if (Serial.available ()) {String input = Serial.readString (); e32ttl100.sendMessage (hyrje); }}

Hapi 8: Mburoja për Arduino

Mburoja për Arduino
Mburoja për Arduino

Unë gjithashtu krijoj një mburojë për Arduino që bëhen shumë të dobishme për prototipimin.

Dhe unë e lëshoj atë si projekt me burim të hapur këtu

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

Hapi 9: Biblioteka

Librari
Librari

Depoja e GitHub

Forumi mbështetës

Dokumentacion shtesë

Recommended: