Çö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

“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
4 cevaptan 1'ini inceliyorsun, tüm cevapları görmek için buraya tıklayın.