Satura rādītājs:

Vienkārša Arduino LoRa komunikācija (vairāk nekā 5 km): 9 soļi
Vienkārša Arduino LoRa komunikācija (vairāk nekā 5 km): 9 soļi

Video: Vienkārša Arduino LoRa komunikācija (vairāk nekā 5 km): 9 soļi

Video: Vienkārša Arduino LoRa komunikācija (vairāk nekā 5 km): 9 soļi
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Jūlijs
Anonim
Vienkārša Arduino LoRa komunikācija (vairāk nekā 5 km)
Vienkārša Arduino LoRa komunikācija (vairāk nekā 5 km)

Mēs pārbaudīsim E32-TTL-100 ar manu bibliotēku. Tas ir bezvadu uztvērēja modulis, kas darbojas 410 441 MHz (vai 868 MHz vai 915 MHz), pamatojoties uz oriģinālo RFIC SX1278 no SEMTECH, ir pieejama caurspīdīga pārraide, TTL līmenis. Modulis izmanto LORA izkliedētā spektra tehnoloģiju.

Piegādes

  • Arduino UNO
  • LoRa e32 ierīces

Neobligāti

  • Mischianti Arduino LoRa vairogs (atvērtā koda)
  • Mischianti WeMos LoRa vairogs (atvērtā koda)

1. darbība: ierīces specifikācijas

Modulim ir FEC Forward Error Correction algoritms, kas nodrošina tā augstu kodēšanas efektivitāti un labu korekcijas veiktspēju. Pēkšņu traucējumu gadījumā tas var automātiski labot traucētās datu paketes, tādējādi attiecīgi uzlabojot uzticamību un pārraides diapazonu. Bet bez FEC šīs da te paketes var tikai nomest. Pateicoties stingrai šifrēšanai un atšifrēšanai, datu pārtveršana kļūst bezjēdzīga. Datu saspiešanas funkcija var samazināt pārraides laiku un traucējumu iespējamību, vienlaikus uzlabojot uzticamību un pārraides efektivitāti.

  • Moduļa izmērs: 21*36 mm
  • Antenas tips: SMA-K (50Ω pretestība)
  • Pārraides attālums: 3000m (maks.)
  • Maksimālā jauda: 2dB (100mW)
  • Gaisa ātrums: 2,4 kbps (6 izvēles līmeņi (0,3, 1,2, 2,4, 4,8, 9,6, 19,2 kbps)
  • Emisijas garums: 512ByteRecept
  • garums: 512 baiti
  • Sakaru saskarne: UART - 8N1, 8E1, 8O1,
  • Astoņu veidu UART pārraides ātrums, no 1200 līdz 115200 bps (noklusējums: 9600)
  • RSSI atbalsts: Nē (iebūvēta inteliģenta apstrāde)

2. darbība: pārraides veids

Pārraides veids
Pārraides veids

Caurspīdīga pārraide To var uzskatīt par “demonstrācijas režīmu”, pēc noklusējuma jūs varat nosūtīt ziņojumu uz visām ierīcēm ar tādu pašu konfigurēto adresi un kanālu.

Fiksēta transmisija

Šāda veida pārraidei varat norādīt adresi un kanālu, uz kuru vēlaties nosūtīt ziņojumu. Jūs varat nosūtīt ziņojumu uz:

  • Norādīta ierīce ar iepriekš noteiktu zemu adresi, augstu adresi un kanālu.
  • Pārraidīt ziņu kanālu ierīču kopai Normāls režīms Vienkārši nosūtiet ziņojumu.

3. darbība: ierīces režīms

Normāls režīms Vienkārši nosūtiet ziņojumu.

Modināšanas un enerģijas taupīšanas režīms

Kā jau jūs domājat, ja ierīce ir modināšanas režīmā, tā var “pamodināt” vienu vai vairākas ierīces, kas ir enerģijas taupīšanas režīmā ar preambulu sakariem.

Programma/miega režīms

Izmantojot šo konfigurāciju, varat mainīt ierīces konfigurāciju.

4. solis: elektroinstalācijas ierīce

Elektroinstalācijas ierīce
Elektroinstalācijas ierīce
Elektroinstalācijas ierīce
Elektroinstalācijas ierīce

Šeit ir ierīces savienojuma shēma, kas ir pilnībā savienota, un M0 un M1 tapu pārvaldība ļauj mainīt ierīces modalitāti, lai jūs varētu pārslēgties uz konfigurācijas vai pamošanās režīmu ar programmu, bibliotēka jums palīdzēs šajā visā operācija.

5. darbība: konfigurēšana

Konfigurācija
Konfigurācija

Pastāv noteikta komanda, lai iestatītu un iegūtu konfigurāciju

void setup () {Serial.begin (9600); kavēšanās (500); // Startēšana visas tapas un UART e32ttl100.begin (); ResponseStructContainer c; c = e32ttl100.getConfiguration (); // Pirms visām citām darbībām ir svarīgi iegūt konfigurācijas rādītāju Configuration configuration = *(Configuration *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (konfigurācija); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation (); // Pirms jebkuras citas darbības ir svarīgi iegūt informācijas rādītāju ModuleInformation mi = *(ModuleInformation *) cMi.data; Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); printModuleInformation (mi); }

6. darbība: konfigurācijas rezultāts

Un rezultāts kļūst

Sākt panākumus 1 ---------------------------------------- HEAD BIN: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433MHz SpeedParityBit BIN: 0 -> 8N1 (noklusējums) SpeedUARTDataRate BIN: 11 -> 9600bps (noklusējums) SpeedAirDataRate BIN: 10 -> 2,4 kbps (noklusējums) Opcija Trans BIN: 0 - > Caurspīdīga pārraide (noklusējums) Opcija Pullup BIN: 1 -> TXD, RXD, AUX ir push -pull/pull -ups Opcija Wakeup BIN: 0 -> 250 ms (noklusējums) Opcija FEC BIN: 1 -> Ieslēgt kļūdu labošanas pārslēgšanas slēdzi (noklusējums) OptionPower BIN: 0-> 20dBm (noklusējums) ---------------------------------------- Panākumi 1 ---------------------------------------- HEAD BIN: 11000011 195 C3 Modeļa Nr.: 32 Versija: 44 Funkcijas: 14 ----------------------------------------

7. darbība: nosūtiet ziņojumu

Sūtīt ziņu
Sūtīt ziņu

Šeit ir vienkārša skice ziņojuma nosūtīšanai uz visām kanālam pievienotajām ierīcēm

void loop () {// Ja kaut kas ir pieejams, ja (e32ttl100.available ()> 1) {// lasiet virknes ziņojumu ResponseContainer rc = e32ttl100.receptMessage (); // Vai kaut kas noiet greizi drukas kļūda, ja (rc.status.code! = 1) {rc.status.getResponseDescription (); } cits {// Izdrukājiet saņemtos datus Serial.println (rc.data); }} ja (Serial.available ()) {String input = Serial.readString (); e32ttl100.sendMessage (ievade); }}

8. solis: vairogs Arduino

Vairogs Arduino
Vairogs Arduino

Es izveidoju arī vairogu Arduino, kas kļūst ļoti noderīgi prototipēšanai.

Un es to izlaidu šeit kā atvērtā koda projektu

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

9. darbība: bibliotēka

Bibliotēka
Bibliotēka

GitHub krātuve

Atbalsta forums

Papildu dokumentācija

Ieteicams: