Çözüldü5.07K görüntülenmeLoraLoRa alıcı verici
0

Hocam merhaba biz alıcı verici projesi yapıyoruz. Projemiz çalışıyordu ama bir anda recieverda veri alamamaya başladık. Devreyi defalarca baştan kurduk. Alıcı ve vericideki lora modüllerini birbiri arasında değiştirdik,verici tarafı datayı gönderiyor ama alıcı kısmındayken datayı alamaz olduk. loralarda sıkıntı yok gibi. “if (e32ttl.available() > 1){ ” kodda bu bloğa giremez oldu maalesef. Sıkıntının nerede olduğunu anlayamadık. Yardımcı olabilir misiniz ? Lora ayarlamarını usb stick ile değil arduino ile yapmıştık oradan kaynaklıda bişey olabilir mi?

Soru yeni cevaplara kapalıdır.
Yunus Emre Mavi En iyi cevap olarak seçildi Mayıs 29, 2021
0

bazı kodda düzenlemeler gerekli

software serial tanımlayıp sonra bir daha tanımlama yerine pointer yapın.  örneklerimiz inceleyin

struct yapısında kullandığınız byte değişkenlerine bir hafıza sınırı ekleyein. yine örnekleri inceleyin.

while (!Serial) komutu leonarda da gerekli uno da sistemin çalışmasını durdurur.

diğer board nodemcu ya benziyor sanırım onda direk software serail kullanılmıyor. https://github.com/plerup/espsoftwareserial

ve daha fazlası hocam önce basit bir örnek üzerine denemeyapıp sonra mqtt ye geçseniz  bence daha sağlıklı.

Yunus Emre Mavi En iyi cevap olarak seçildi Mayıs 29, 2021

Hocam sistem bu şekilde çalışıyordu sonradan dediğim if satırına girmez oldu. Software serial ı sonradan eklemiştik herşeyi deniyorduk o öyle kalmış. Diğer dediklerinizi hafta içi deneyip dönüş atacağım. İlginiz için teşekkür ederim. Hocam en basite inip sadece loraları haberleştirmeye çalıştığımda da olmamıştı direk kütüphanedeki kodları kullanarak denemiştim.o yüzden loralar yandı mı diye düşündüm sonra ayar moduna alıp getconfig le denetledim asreslemeler felan önceki ayarladığım gibi geldi. Garip bi çıkmaza girdim.herşey çalışırken bi anda en basiti bile çalışmaz oldu.

hocam merhabalar,
dediklerinizi yaptım en basite inip direk kütüphanedeki kodlar ile denedim ama olmadı.Galiba cihazlar yandı. cihazların yanıp yanmadığından nasıl emin olabilirim?

0

cihazın sağlamlık testi en basitinden usb stick ile parametre değerlerini alıp almamasıyla anlaşılır.

Yunus Emre Mavi Yeni yorum gönderildi Mayıs 27, 2021

Hocam Arduino ile paremetre değerlerini alabiliyoruz ve daha önce ayarladığımız şekilde geliyor parametreler. Bütcemiz kısıtlı USB stick alamadık Arduino ile parametreleri almamız doğru çalıştığını gösterir mi? Birde cihazın biri 5v verince hafif ısınma yapıyor öbüründe olmuyor. Herşey çalışırken bi anda olmaması artık sadece cihazın yandığını düşündürüyor.

Hocam gerilim bölücü kullanmıyoruz. Bi iki soru cevapta gerilim bölücü gördüm onun gerekliliği nedir?

lora modülünde gnd ve vcc arası kapasitör ölçümü yapar mısınız? kaç farad.

0

“transmitter”

#include "LoRa_E32.h"
#include "Arduino.h"
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
LoRa_E32 e32ttl(2, 3);
 void setup() {
  pinMode(7,INPUT);
  Serial.begin(9600);
  while (!Serial) {
      ; // wait for serial port to connect. Needed for native USB
    }
  delay(100);
   e32ttl.begin();
 }
struct Message {
         byte gas;
    byte flame;
     };
 int i =0;
void loop() {
  delay(2500); 
  i++; 
  byte gasValue = analogRead(A0);
  byte flameValue = digitalRead(7);
  Message box ; 
  box.gas=gasValue;
  box.flame=flameValue;
     Serial.println(box.flame);
  Serial.println(box.gas);
  //Serial.println(box.device);
  ResponseStatus rs = e32ttl.sendFixedMessage(0,3,4,&box, sizeof(Message));
  Serial.println(rs.getResponseDescription());
}

“Reciever”

#include "Arduino.h"
#include "LoRa_E32.h"
#include <SoftwareSerial.h>
#include "UbidotsESPMQTT.h"
SoftwareSerial mySerial(D6, D7);
LoRa_E32 e32ttl(D6, D7);
  /****************************************
 * Define Constants
 ****************************************/
#define TOKEN "*gizli*"     // Your Ubidots TOKEN
#define WIFINAME "yunusemre"  // Your SSID
#define WIFIPASS "yunusemre"  // Your Wifi Pass
 Ubidots client(TOKEN);
 void callback(char* topic, byte* payload, unsigned int length) {
  Serial.print("Message arrived [");
  Serial.print(topic);
  Serial.print("] ");
  for (int i = 0; i < length; i++) {
    Serial.print((char)payload[i]);
  }
  Serial.println();
}
  void setup() {
//-----------Haberleşme ve Bağlantılar-------------------- 
  pinMode(D4,INPUT); // alev sensörü 
  Serial.begin(9600);
  client.setDebug(true);  // Pass a true or false bool value to activate debug messages
  client.wifiConnection(WIFINAME, WIFIPASS);
  client.begin(callback); 
 while (!Serial) {
     ; // wait for serial port to connect. Needed for native USB
    }
  delay(100);
  e32ttl.begin();
  Serial.println();
  Serial.println("Start listening!");
   }
struct Message {
    byte device;
    byte gas;
    byte flame;
};
 void loop() {
     if (e32ttl.available()  > 1){
    ResponseStructContainer rsc = e32ttl.receiveMessage(sizeof(Message));
    struct Message box = *(Message*) rsc.data;
    rsc.close();
    Serial.println("Flame");
    Serial.println(box.flame);
    Serial.println("Gas");
    Serial.println(box.gas);
   // Serial.println("Device");
   //Serial.println(box.device);
     // reciever için ateş ve gaz sensörü
    int gasValue_rec = analogRead(A0);
    int flameValue_rec = 1;
    //int flameValue_rec = digitalRead(D4);
         // KARAR MEKANİZMASI
      int alarm_t = 0;
      int alarm_r = 0;
      if(box.flame == 0 || box.gas >= 350){ // transmitter tarafında yangını kontrol ediyoruz.
        alarm_t = 1;
      }
      if(gasValue_rec >= 350 || flameValue_rec == 0){// reciever tarafında yangını kontrol ediyoruz.
        alarm_r = 1;
        }
         if (!client.connected()) {
    client.reconnect();
  }
 //transmitter'ı ubidots'a yükleme
  client.add("flame_t", box.flame);  // Insert your variable Labels and the value to be sent
  client.add("gas_t", box.gas);
  client.add("alarm_t", alarm_t);
  client.ubidotsPublish("transmiter");
 // reciever'ı ubidots'a yükleme
  client.add("flame_r", flameValue_rec);  // Insert your variable Labels and the value to be sent
  client.add("gas_r", gasValue_rec);
  client.add("alarm_r", alarm_r);
  client.ubidotsPublish("reciever");
  client.loop();
  delay(1000);
        }
         }

Yunus Emre Mavi Cevaplanan soru Mayıs 22, 2021
0

hocam devre şemasını ve kullandığınız kodu ekler misiniz. devrenin bir kaç fotoğrafını ekleyin bakayım

Mehmet Cevaplanan soru Mayıs 21, 2021