Lora Nedir

LoRa Başlangıç Seti

LoRa Başlangıç Seti

Merhaba, bugün sizlerle beraber lora başlangıç seti ürünümüzü inceleyeceğiz ve LoRa kablosuz haberleşme ekosistemine ilk adımı atacağız. Bu uygulamada sadece yazı üstünde kalmayacağız aynı zamanda bir uygulama yaparak sizlerde hayal ettiniz projeleri kendiniz yapabileceksiniz. Hazırsanız başlıyoruz..

1.1 LoRa Nedir?

Lora teknoloji 2018 de Fransız Semtech firmasının geliştirmiş olduğu çok uzak mesafelere (mesala Ay’a 🙂 ) düşük güç tüketimleri ile küçük paketlerde veri aktarmaya yarayan bir teknolojidir.

Normalde kablolu çalışan bir sisteminiz var ve kablodan kurtulmak istiyorsunuz LoRa burda hemen imdadınıza yetişiyor. LoRa teknoloji gelecek 10 yılın en çok kullanılacak kablosuz haberleşme teknolojisidir. kızılötesi, Bluetooth, wifi ve 4g alt yapılarının yanında kendine bir yer edinmiş ve git gide daha da yaygınlaşmaktadır. Bu anlatacağım uygulama ile sizde bu treni kaçırmadan tam zamanında yakalamış olacaksınız.

1.2 Gerekli Malzemeler

LoRa Parametre Ayarları İçin USB Stick

LoRa 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 Git
LoRa Başlangıç Seti

LoRa 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 Git

1.3 LoRa Parametre Ayarları

Lora modüllerini ayarlamadan önce usb stick üzerindeki jumperları çıkartıyoruz üstünde sadece 3.3v olan jumper kalmalı diğer bütün jumperları çıkartın.

Sonuçta usb stick şu şekilde olmalı:

rx/tx, m1 ve m0 jubperlarını çıkartın.

Usb stick ile Lora modüllerini programlayabilmeniz için RF 4.0 programını indirmeniz gerekiyor.

Programın linki:

en üstteki RF setting programını indiriniz.

Merkez Noktamızın Parametre Ayarları

Uzak mesafedeki Lora modülünün parametre ayarları

Burada dikkat ederseniz 2 yeri sadece değiştirdik, fixed mode “enable” ve address değerlerini değiştirdik onun dışında varsayılan değerlerde bıraktık bir değişiklik yapmadık.

1.4 Arduino Programını Kurma

Biz bu uygulamada bir noktaya veri yollayıp sonra o noktadan cevap gelmesini bekleyeceğiz, gelen cevaba göre tekrar başka bir veri gönderebileceğimiz bir uygulama yapacağız.

Kod yapısına girmeden önce hangi kütüphaneyi kullancağımızı ve bu kütüphaneyi kendi Arduino ide mize nasıl kuracağımızı öğrenelim.

Öncelikle Arduino ide programını şu adresten indirip, bilgisayarınıza yüklemeniz gerekiyor.

https://www.arduino.cc/en/software

Açılan sayfada kendi bilgisayarınız sistemine göre seçim yapınız.

Açılan sayfadan ise “just download” butonuna basınız.

İndirdiğiniz dosyayı kurup artık arduino programlayabilirsiniz.

1.5 Hazır Kütüphaneyi indirip Kurma

Ben Xreef adında bir arkadaşın geliştirmiş olduğu Lora E32 kütüphanesi kullanıyorum sorunsuz bir şekilde çalışıyor. Şu ana kadarda bir sıkıntı yaşamadım sizlerede tavsiye ederim.

Bu kütüphaneyi kurabilmek için öncelikle github linkini açıp kütüphaneyi masaüstümüze indirmemiz gerekiyor. Ayrıca bu kütüphane üzerinde bir çok hazır örnekte bulunmakta. Ben neden bu kütüphaneyi seçtim derseniz, fixed mod gibi lora modülünün güzel özelliklerini aktif edebileceğim tek kütüphane bu olduğu için bu kütüphaneyi kullanıyorum.

Linke tıklayıp kütüphaneyi görseldeki gibi indirelim.

https://github.com/xreef/LoRa_E32_Series_Library

Şimdi gelelim kütüphaneyi nasıl kendi arduino programınıza kuracağımıza. Bu işlem oldukça basit sadece tek tıklama ile kütüphaneyi yüklemiş olacağız. Kurduğumuz arduino ide uygulamasına geri dönersek yukarıda araçlar kısmında görseldeki yolu izleyerek zip şeklinde indirdiğimiz kütüphaneyi kendi programınıza kurmuş olacağız.

1.6 Kodlar

Merkez noktasının Kodu:

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

uzak noktanın Kodları

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

Sonuç

Yazımızın sonuna geldik umarım LoRa ile gözünüzdeki o ilk korkuyu atmışızdır artık. Gördüğünüz üzeri her şey çok kolay sadece bir disiplin ile sabırlı bir şekilde sırayla gitmek gerekiyor. LoRa ile ilgili anlamadığınız bir konu olursa “Soru&Cevap” sayfasına sorularınızı bekliyorum.

Hayallerinizdeki projeleri yapmak dileği ile her şey gönlünüzce olsun.

İyi günler dilerim.