İçindekiler:

Basit Arduino LoRa İletişimi (5km'den fazla): 9 Adım
Basit Arduino LoRa İletişimi (5km'den fazla): 9 Adım

Video: Basit Arduino LoRa İletişimi (5km'den fazla): 9 Adım

Video: Basit Arduino LoRa İletişimi (5km'den fazla): 9 Adım
Video: LORA MODÜLÜ VE ARDUINO İLE 10 KM MENZİLLİ UZAKTAN KUMANDALI ARABA KUMANDASI YAPTIM #rc #lora #reyax 2024, Kasım
Anonim
Basit Arduino LoRa İletişimi (5km'den fazla)
Basit Arduino LoRa İletişimi (5km'den fazla)

Kitaplığımla E32-TTL-100'ü test edeceğiz. Kablosuz bir alıcı-verici modülüdür, SEMTECH'in orijinal RFIC SX1278'ini temel alan 410 441 MHz'de (veya 868MHz veya 915MHz) çalışır, şeffaf iletim mevcuttur, TTL seviyesinde. Modül, LORA yayılmış spektrum teknolojisini benimser.

Gereçler

  • Arduino UNO'su
  • LoRa e32 cihazları

İsteğe bağlı

  • Mischianti Arduino LoRa kalkanı (Açık kaynak)
  • Mischianti WeMos LoRa kalkanı (Açık kaynak)

1. Adım: Cihaz Özellikleri

Modül, yüksek kodlama verimliliğini ve iyi düzeltme performansını sağlayan FEC İleri Hata Düzeltme algoritmasına sahiptir. Ani parazit durumunda, müdahale edilen veri paketlerini otomatik olarak düzeltebilir, böylece güvenilirlik ve iletim aralığı buna uygun olarak geliştirilir. Ancak FEC olmadan, bu tarih paketleri yalnızca bırakılabilir. Ve titiz şifreleme ve şifre çözme ile veri müdahalesi anlamsız hale gelir. Veri sıkıştırma işlevi, güvenilirlik ve iletim verimliliğini artırırken, iletim süresini ve parazit olma olasılığını azaltabilir.

  • Modül boyutu: 21*36mm
  • Anten tipi: SMA-K (50Ω empedans)
  • İletim mesafesi: 3000m (maks)
  • Maksimum güç: 2dB(100mW)
  • Hava hızları: 2.4Kbps (6 isteğe bağlı seviye (0.3, 1.2, 2.4, 4.8, 9.6, 19.2kbps)
  • Emisyon uzunluğu: 512ByteReceive
  • uzunluk: 512 Bayt
  • İletişim Arayüzü: UART – 8N1, 8E1, 8O1,
  • 1200 ila 115200bps arasında sekiz çeşit UART baud Hızı (Varsayılan: 9600)
  • RSSI desteği: Hayır (Dahili akıllı işleme)

2. Adım: İletim Türü

İletim Türü
İletim Türü

Şeffaf iletim Bu bir “Demo modu” olarak kabul edilebilir, varsayılan olarak aynı yapılandırılmış adres ve kanaldaki tüm cihazlara mesaj gönderebilirsiniz.

Sabit şanzıman

Bu tür bir iletimde, mesajı göndermek istediğiniz bir adres ve kanal belirleyebilirsiniz. Bir kişiye mesaj gönderebilirsiniz:

  • Önceden belirlenmiş Adres Düşük, Yüksek Adres ve Kanal ile belirtilen cihaz.
  • Bir dizi kanal cihazına mesaj yayınlayın Normal mod Sadece mesaj gönderin.

3. Adım: Cihaz Modu

Normal modSadece mesaj gönderin.

Uyandırma modu ve güç tasarrufu modu

Tahmin edebileceğiniz gibi, bir cihaz Uyandırma modundaysa, güç tasarrufu modunda olan bir veya daha fazla cihazı bir giriş iletişimi ile “uyandırabilir”.

Program/uyku modu

Bu konfigürasyon ile cihazınızın konfigürasyonunu değiştirebilirsiniz.

Adım 4: Kablolama Cihazı

Kablolama Cihazı
Kablolama Cihazı
Kablolama Cihazı
Kablolama Cihazı

İşte cihazın bağlantı şeması, bu tamamen bağlı, M0 ve M1 pin yönetimi ile cihazın modalitesini değiştirmeye izin veriyor, böylece program ile konfigürasyon veya uyandırma moduna geçebilirsiniz, kütüphane tüm bu konuda size yardımcı olur operasyon.

Adım 5: Yapılandırma

Yapılandırma
Yapılandırma

Yapılandırmayı ayarlamak ve almak için belirtilen bir komut var

geçersiz kurulum() { Serial.begin(9600); gecikme(500); // Tüm pinleri başlat ve UART e32ttl100.begin(); ResponseStructContainer c; c = e32ttl100.getConfiguration(); // Diğer tüm işlemlerden önce yapılandırma işaretçisini almak önemlidir Configuration configuration = *(Configuration*) c.data; Serial.println(c.status.getResponseDescription()); Serial.println(c.status.code); printParameters(yapılandırma); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation(); // Diğer tüm işlemlerden önce bilgi alma işaretçisi önemlidir ModuleInformation mi = *(ModuleInformation*)cMi.data; Serial.println(cMi.status.getResponseDescription()); Serial.println(cMi.status.code); printModuleInformation(mi); }

Adım 6: Yapılandırma Sonucu

Ve sonuç olur

Başarıya Başlayın 1 ------------------------------------------- BAŞ BÖLME: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433MHz SpeedParityBit BIN: 0 -> 8N1 (Varsayılan) SpeedUARTDataRate BIN: 11 -> 9600bps (varsayılan) SpeedAirDataRate BIN: 10 -> 2.4kbps (varsayılan) OptionTrans BIN: 0 - > Şeffaf iletim (varsayılan) OptionPullup BIN: 1 -> TXD, RXD, AUX push-pull/pull-up'lardır OptionWakeup BIN: 0 -> 250ms (varsayılan) OptionFEC BIN: 1 -> İleri Hata Düzeltme Anahtarını Aç (Varsayılan) OptionPower BIN: 0 -> 20dBm (Varsayılan) ---------------------------------------- Başarı 1 ---------------------------------------- BAŞ BÖLME: 11000011 195 C3 Model no.: 32 Versiyon: 44 Özellikler: 14 ----------------------------------------

7. Adım: Mesaj Gönder

Mesaj gönder
Mesaj gönder

İşte kanala bağlı tüm cihazlara mesaj göndermek için basit bir çizim

void loop() { // Eğer bir şey varsa if (e32ttl100.available()>1) { // String mesajını okuyun ResponseContainer rc = e32ttl100.receiveMessage(); // Bir şeyler ters gidiyor mu yazdırma hatası if (rc.status.code!=1){ rc.status.getResponseDescription(); }else{ // Alınan verileri yazdırın Serial.println(rc.data); } } if (Serial.available()) { String input = Serial.readString(); e32ttl100.sendMessage(giriş); } }

Adım 8: Arduino için Kalkan

Arduino için Kalkan
Arduino için Kalkan

Ayrıca prototipleme için çok kullanışlı hale gelen Arduino için bir kalkan oluşturuyorum.

Ve onu burada açık kaynak projesi olarak yayınlıyorum

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

9. Adım: Kitaplık

Kütüphane
Kütüphane

GitHub deposu

Destek Forumu

Ek belgeler

Önerilen: