Talaan ng mga Nilalaman:

Simpleng Arduino LoRa Communciation (higit sa 5km): 9 Mga Hakbang
Simpleng Arduino LoRa Communciation (higit sa 5km): 9 Mga Hakbang

Video: Simpleng Arduino LoRa Communciation (higit sa 5km): 9 Mga Hakbang

Video: Simpleng Arduino LoRa Communciation (higit sa 5km): 9 Mga Hakbang
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Hulyo
Anonim
Simpleng Arduino LoRa Communciation (higit sa 5km)
Simpleng Arduino LoRa Communciation (higit sa 5km)

Susubukan namin ang E32-TTL-100 sa aking silid-aklatan. Ito ay isang module ng wireless transceiver, nagpapatakbo sa 410 441 MHz (o 868MHz o 915MHz) batay sa orihinal na RFIC SX1278 mula sa SEMTECH, magagamit ang transparent na paghahatid, antas ng TTL. Pinagtibay ng modyul ang teknolohiya ng pagkalat ng spectrum ng LORA.

Mga gamit

  • Arduino UNO
  • LoRa e32 aparato

Opsyonal

  • Mischianti Arduino LoRa kalasag (Buksan ang mapagkukunan)
  • Mischianti WeMos LoRa Shield (Buksan ang mapagkukunan)

Hakbang 1: Mga Detalye ng Mga Device

Nagtatampok ang module ng algorithm ng FEC Forward Error Pagwawasto ng algorithm, na tinitiyak ang mataas na kahusayan sa pag-coding at mahusay na pagganap ng pagwawasto. Sa kaso ng biglaang pagkagambala, maaari nitong iwasto ang mga nakakagambalang packet ng data nang awtomatiko, upang ang pagiging maaasahan at saklaw ng paghahatid ay pinabuting naaayon. Ngunit kung walang FEC, ang mga da te packet na iyon ay maaari lamang mahulog. At sa mahigpit na pag-encrypt at pag-decrypt, nagiging walang saysay ang pagharang ng data. Ang pag-andar ng compression ng data ay maaaring bawasan ang oras ng paghahatid at posibilidad ng pagkagambala, habang pinapabuti ang pagiging maaasahan at kahusayan sa paghahatid.

  • Laki ng module: 21 * 36mm
  • Uri ng antena: SMA-K (50Ω impedance)
  • Distansya ng paghahatid: 3000m (max)
  • Maximum na lakas: 2dB (100mW)
  • Mga rate ng hangin: 2.4Kbps (6 na opsyonal na antas (0.3, 1.2, 2.4, 4.8, 9.6, 19.2 kbps)
  • Haba ng paglabas: 512ByteReceive
  • haba: 512Byte
  • Interface ng Komunikasyon: UART - 8N1, 8E1, 8O1,
  • Walong uri ng UART baud Rate, mula 1200 hanggang 115200bps (Default: 9600)
  • Suporta ng RSSI: Hindi (Built-in na intelektwal na pagproseso)

Hakbang 2: Uri ng Pagpapadala

Uri ng Paghahatid
Uri ng Paghahatid

Transparent transmissionMaaari itong maituring na isang "Demo mode", bilang default maaari kang magpadala ng mensahe sa lahat ng aparato ng parehong naka-configure na address at channel.

Naayos na paghahatid

Ang ganitong uri ng paghahatid maaari mong tukuyin ang isang address at isang channel kung saan mo nais ipadala ang mensahe. Maaari kang magpadala ng mensahe sa isang:

  • Ang tinukoy na aparato na may paunang natukoy na Mababang Address, Mataas ang Address at Channel.
  • Mag-broadcast ng mensahe sa isang hanay ng mga aparato ng channel Normal mode na simpleng magpadala ng mensahe.

Hakbang 3: Device Mode

Karaniwang modeLamang magpadala ng mensahe.

Wake-up mode at power-save mode

Tulad ng maaari mong balak kung ang isang aparato ay nasa mode na Wake-up ay maaaring "gisingin" ang isa o higit pang mga aparato na nasa mode na nagse-save ng kuryente na may paunang komunikasyon.

Program / mode sa pagtulog

Sa pagsasaayos na ito maaari mong baguhin ang pagsasaayos ng iyong aparato.

Hakbang 4: Device ng Mga Kable

Kable Device
Kable Device
Kable Device
Kable Device

Narito ang iskema ng koneksyon ng aparato, ito ay isang ganap na konektado, na may pamamahala ng M0 at M1 pin na permit upang baguhin ang modality ng aparato, upang maaari kang lumipat sa pagsasaayos o paggising mode na may programa, tulungan ka ng library sa lahat ng ito operasyon

Hakbang 5: Pag-configure

Pag-configure
Pag-configure

Umiiral na isang tinukoy na utos upang itakda at makakuha ng pagsasaayos

void setup () {Serial.begin (9600); pagkaantala (500); // Startup lahat ng mga pin at UART e32ttl100.begin (); ResponseSonstrContainer c; c = e32ttl100.getConfiguration (); // Mahalagang kumuha ng pointer ng pagsasaayos bago ang lahat ng iba pang pagpapatakbo Configuration config = * (Configuration *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameter (pagsasaayos); ResponseSonstrContainer cMi; cMi = e32ttl100.getModuleInformation (); // Mahalagang makakuha ng impormasyon pointer bago ang lahat ng iba pang pagpapatakbo ModuleInformation mi = * (ModuleInformation *) cMi.data; Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); printModuleInformation (mi); }

Hakbang 6: Resulta ng Pag-configure

At ang resulta ay naging

Simulan ang Tagumpay 1 ----------------- HEAD BIN: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433MHz SpeedParityBit BIN: 0 -> 8N1 (Default) SpeedUARTDataRate BIN: 11 -> 9600bps (default) SpeedAirDataRate BIN: 10 -> 2.4 kbps (default) OptionTrans BIN: 0 - > Transparent transmission (default) OptionPullup BIN: 1 -> TXD, RXD, AUX ay push-pulls / pull-up OptionWakeup BIN: 0 -> 250ms (default) OptionFEC BIN: 1 -> I-on ang Forward Error Correction Switch (Default) OptionPower BIN: 0 -> 20dBm (Default) ----------------- Tagumpay 1 ----------------- HEAD BIN: 11000011 195 C3 Model no.: 32 Bersyon: 44 Mga Tampok: 14 -----------------

Hakbang 7: Magpadala ng Mensahe

Magpadala ng Mensahe
Magpadala ng Mensahe

Narito ang isang simpleng sketch upang magpadala ng isang mensahe sa lahat ng aparato na nakakabit sa channel

void loop () {// Kung may magagamit kung (e32ttl100.available ()> 1) {// basahin ang String message ResponseContainer rc = e32ttl100.receiveMessage (); // Ay may isang maling pagkakamali sa pag-print kung (rc.status.code! = 1) {rc.status.getResponseDescription (); } iba pa {// I-print ang natanggap na data Serial.println (rc.data); }} kung (Serial.available ()) {String input = Serial.readString (); e32ttl100.sendMessage (input); }}

Hakbang 8: Shield para sa Arduino

Shield para kay Arduino
Shield para kay Arduino

Lumilikha din ako ng isang kalasag para sa Arduino na naging napaka kapaki-pakinabang para sa prototyping.

At pinakawalan Ko ito bilang bukas na proyekto ng mapagkukunan dito

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

Hakbang 9: Library

Library
Library

GitHub repository

Suporta sa forum

Karagdagang dokumentasyon

Inirerekumendang: