Çözüldü3.69K görüntülenmeLoraarduino-nano E22 E22-900T22D Lora
0

Merhabalar, Lora Modülü ile Alıcı-Verici “transceiver” Yapımı uygulamasını denedim. Ancak E22 modülleri kullanmaktayım. Merkez ve slave LoRa modüllerinin ayarları aşağıdaki şekildedir.   

Arduino tarafında ise e22 ebyte kütüphanesi kurularak koddaki ilgili alanlar e22 olarak değiştirilmiştir. Bu şekilde kod yüklemeleri yapılmıştır. Aşağıdaki sonuç alınmaktadır. İlgili mesajlar görüntülememektedir. Yardımlarınızı bekliyorum.

Soru yeni cevaplara kapalıdır.
Fatma muh En iyi cevap olarak seçildi Şubat 12, 2022
0

Hocam tekrar merhabalar,

E22 için eklediğim kütüphane de arduinoda bulunan aşağıdaki görseldeki idi.

Ancak yaşadığım sorundan ötürü bunu kaldırıp https://github.com/xreef/EByte_LoRa_E22_Series_Library adresindekini zip kitaplığı ekle diyip bu kütüphaneyi de kullandım ancak sorunumu çözemedim. Loraya yeni başladığım için loraların haberleştiğini bir görebilsem farklı işler yapacağım. Ancak sıkıntı nerde bulamadım. Kodları aşağıda ekliyorum. Yardımlarınızı bekliyorum. teşekkürler.

#include "LoRa_E22.h"
#include <SoftwareSerial.h>
  SoftwareSerial mySerial(10, 11);
  /*
   Pinler     Arduino Nano    Lora E22 433T20d
                  11                3
                  10                4
*/
  LoRa_E22 e22ttl(&mySerial);
  struct Signal {
  char type[15] = "Fixaj.com";
  byte temp[4];
} data;
    void setup() {
  Serial.begin(9600);
  e22ttl.begin();
  delay(500);
}
  void loop() {
    ResponseStatus rs = e22ttl.sendFixedMessage(0, 44, 23, &data, sizeof(Signal));
  Serial.println(rs.getResponseDescription());
    delay(2000);
    while (e22ttl.available()  > 1) {
    ResponseStructContainer rsc = e22ttl.receiveMessage(sizeof(Signal));
    struct Signal data = *(Signal*) rsc.data;
    Serial.print("Yer: ");
    Serial.println(data.type);
    Serial.print("Ortam Sıcaklığı: ");
    Serial.println(*(float*)(data.temp));
    rsc.close();
  }
}

Slave Lora Kodlar

#include "LoRa_E22.h"
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // Arduino RX <-- e22 TX, Arduino TX --> e22 RX
LoRa_E22 e22ttl(&mySerial);
  struct Signal {
  char type[15];
  byte temp[4];
} data;
  void setup() {
  Serial.begin(9600);
  e22ttl.begin();
  delay(500);
}
  void loop() {
  while (e22ttl.available()  > 1) {
      // Gelen mesaj okunuyor
    ResponseStructContainer rsc = e22ttl.receiveMessage(sizeof(Signal));
    struct Signal data = *(Signal*) rsc.data;
    Serial.print("Gelen Messaj: ");
    Serial.println(data.type);
    rsc.close();
      //Gönderilecek paket veri hazırlanıyor
    struct Signal  {
      char type[15] = "Bebek Odası";
      byte temp[4];
    } data2;
      *(float*)(data2.temp) = 19.2;
        ResponseStatus rs = e22ttl.sendFixedMessage(0, 63, 23, &data2, sizeof(Signal));
    Serial.println(rs.getResponseDescription());
    }
  }

Fatma muh Düzenlenmiş cevap Şubat 10, 2022
9 cevaptan 1'ini inceliyorsun, tüm cevapları görmek için buraya tıklayın.
Whatsapp'tan Yaz
1
Ürün Danışmanı Burada!
fixaj.com Ürün Danışmanı
Merhaba,

Ben sadece "Satın Alma" konularında destek vermekteyim.

Kodlama yardımı, haberleşme hataları, bağlantı şemaları vb. konularla ilgili "Soru&Cevap" https://fixaj.com/sorucevap/ sayfamızı ziyaret edebilirsiniz.