Çözüldü1.57K görüntülenmeLoraarduino esp8266 Lora
0

Merhabalar, bir proje üzerinde çalışıyorum ve LoRa 433T20D modülünü aracılığıyla Arduino Nano ile ESP8266 arasında haberleşmeyi sağlamam gerekiyor. Fakat şöyle bir sorunum var; ESP8266’ya gönderdiğim paket ulaşmıyor, dolayısıyla haberleşmeyi sağlayamıyorum. Aynı kodlar ve aynı sistem ile iki Arduino Nano arasında haberleşmeyi başarılı bir şekilde gerçekleştirebiliyorum. Kullandığım kodları ekliyorum (Arduino Nano gönderen, ESP8266 ise alan)

Vericinin kod yapısı (Arduino)

#include <LoRa_E32.h>
#include <SoftwareSerial.h>

static const uint32_t serialBaud = 115200;
SoftwareSerial comSerial(5, 6);
LoRa_E32 e32ttl(&comSerial);

struct Points {
bool status[1] = {true};
}points;

void setup() {
Serial.begin(serialBaud);
e32ttl.begin();
}

void loop() {

dataOut(points.free[0]);
delay(1000);
}

void dataOut(bool status) {
struct DataStruct {
uint8_t stat[1];
}DataPacket;

*(int *)DataPacket.stat = status;
ResponseStatus rs = e32ttl.sendFixedMessage(0, 10, 23, &DataPacket, sizeof(DataStruct));

}

Alıcının kod yapısı (ESP8266)

#include <Arduino.h>

#include “LoRa_E32.h”
#include <SoftwareSerial.h>

SoftwareSerial mySerial(5, 6);
LoRa_E32 e32ttl(&mySerial);

struct DataStruct {
uint8_t stat[1];
}DataPacket;

void setup() {
Serial.begin(115200);
e32ttl.begin();
delay(500);
}

void loop() {
while (e32ttl.available() > 1) {
ResponseStructContainer rsc = e32ttl.receiveMessage(sizeof(DataStruct));
struct DataStruct DataPacket = *(DataStruct*) rsc.data;
Serial.print(“Durum: “);
Serial.println(*(int*)(DataPacket.stat));
rsc.close();
}
}

Soru yeni cevaplara kapalıdır.
Mehmet En iyi cevap olarak seçildi Mayıs 11, 2022
0

hocam öncelikle sipariş kodunuzu ve devrenizi görebilir miyim birde parametre ayar ekranlarını

Mehmet En iyi cevap olarak seçildi Mayıs 11, 2022
1 cevaptan 1'ini inceliyorsun, tüm cevapları görmek için buraya tıklayın.