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.
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()); } }