Merhaba Arkadaşlar bugün sizlerle beraber youtube de ve fixaj sitemizdeki soru&cevap kısmında çokça sorulan Lora Modülü ile Alıcı-Verici “transceiver” Yapımı uygulaması yapmaya çalışacağız.
Aslında benzer uygulamalar yaptık ancak bazı arkadaşlar sanırım bazı noktalarda takılmış. Birebir çalışan alıcı verici uygulaması illaki istediler. Aslında en güzel öğrenme deneme yanılma ile olandır. Biraz kurcalayarak belki ufak tefek kırma bozma ile iş öğrenilir.
Şimdi Uygulamaya geçelim. Bağlantı şemasını tekrar anlatmıyorum şu yazımızdan ulaşabilirsiniz. Ancak ben hazır pcb ile yaptım. Bu uygulama şöyle olacak bir MERKEZ bir noktamız var, birde BEBEK ODASI dediğimiz bize ortam sıcaklığını gönderen sensor noktamız olacak. Merkez bir sorgu yapacak, bebek odası gelen mesajı okuyup ortam sıcaklığını ve oda adını Merkez noktasına yollayacak.
1.1 Gerekli Malzemeler
LoRa Uzman Seti (E22-900T22D)
Kablosuz şifreli veri iletimi ve güvenli iletişim için tasarlanmış bu set, 900 MHz frekansında çalışır ve LoRa uygulamalarında güvenli veri iletimi sağlar.
Ürün Sayfasına GitLoRa Başlangıç Seti (SX1278 E32-433T20D)
LoRa teknolojisi ile tanışmak isteyenler için 433 MHz bandında çalışan, SX1278 çipli modül ve anten içeren bir başlangıç setidir.
Ürün Sayfasına Git10km Menzilli 433 MHz LoRa Modülü
SX1278 çipli, 1W çıkış gücüne sahip ve 10km menzilli veri iletişimi sunan bir LoRa modülüdür.
Ürün Sayfasına GitE32-433T20D LoRa Modülü
433 MHz frekansında çalışan, SX1278 çipli uzun mesafe veri iletişimi için ideal bir LoRa modülüdür.
Ürün Sayfasına GitLoRa Parametre Ayarları İçin USB Stick
Bu USB stick, LoRa modülleri için parametre ayarlamayı kolaylaştırır ve hızlı veri iletimi sağlar.
Ürün Sayfasına Git1.2 Lora Parametre Ayarları
Merkez noktasının Lora Parametre ayarları
Bebek odası için kullanacağımız Lora modülünün parametre ayarları
1.3 Arduino kodları
Merkez noktanın kod yapısı
#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();
}
}
Bebek odası kod yapısı
#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());
}
}
Lora Modülü ile Alıcı-Verici “transceiver” Yapımı yazımız buraya kadar. aklınıza takılan bir soru olursa yine fixaj.com Soru&Cevap kısmına bekleriz.
40dBi SMA 433 MHz Anten
Bu anten, 433 MHz frekansında yüksek kazançlı bir veri iletimi sağlar ve LoRa cihazlar için idealdir.
Ürün Sayfasına Git