Hocam sizin videonuzdaki kodlardan aldım ama yine yapamadım çıktı vermiyor ve gönderim yapmıyor lora kodlar şu şekilde:
#include “LoRa_E32.h”
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // Arduino RX <– e32 TX, Arduino TX –> e32 RX
LoRa_E32 e32ttl(&mySerial);
struct Signal {
char type[15];
byte temp[4];
} data;
void setup() {
Serial.begin(9600);
e32ttl.begin();
delay(500);
}
void loop() {
while (e32ttl.available() > 1) {
// Gelen mesaj okunuyor
ResponseStructContainer rsc = e32ttl.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 = e32ttl.sendFixedMessage(0, 63, 23, &data2, sizeof(Signal));
Serial.println(rs.getResponseDescription());
}
}
Alıcı:
#include “LoRa_E32.h”
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11);
/*
Pinler Arduino Nano Lora E32 433T20d
11 3
10 4
*/
LoRa_E32 e32ttl(&mySerial);
struct Signal {
char type[15] = “Fixaj.com”;
byte temp[4];
} data;
void setup() {
Serial.begin(9600);
e32ttl.begin();
delay(500);
}
void loop() {
ResponseStatus rs = e32ttl.sendFixedMessage(0, 44, 23, &data, sizeof(Signal));
Serial.println(rs.getResponseDescription());
delay(2000);
while (e32ttl.available() > 1) {
ResponseStructContainer rsc = e32ttl.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();
}
}
Yer oda sıcaklığı vs. hiçbiri alıcı lorada gözükmüyor. Kısa bir kod yazar mısınız onu deneyelim ?
Birde
struct Signal {
char type[15] = “Fixaj.com”;
byte temp[4];
} data;
şu kodu açıklar mısınız neden var kodda?
Hocam teşekkür ederim yapabildim sonunda adreslemeyi yanlış yapmışım lakin şu kodun ne işe yaradığını hala anlamadım bunun ne işe yaradığını söyler misiniz?