3in1 PCB ile E32 Lora Kullanımı

3in1 PCB NANO ile E32 Lora Modülü Kullanımı

Bu yazımızda yeni başlayan arkadaşlarda sıkca gelen 3in1 PCB yi nasıl kullanırız, haberleştiremiyoruz soruları için hazır kodları ekledim.

Bildiğiniz üzeri 3in1 PCB ler USB Stick gibi kullanılıp lora modüllerine parametre ayarları verebildiği için ve Uzman arkadaşlarında uyku modu ve diğer modlerı kullanmak istemesinden ötürü M0 ve M1 pinleri direk GND ye bağlamadım PCB üstünde. M0 ve M1 pinlerini 3in1 PCB NANO üstünde 6 ve 7 nolu pinlere bağladım. Siz normal haberleştirme yaparken bu pinleri LOW moda yani GND ye çekmeniz gerekmektedir.

LoRa Uzman Seti

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

Bebek Odası Uygulaması Kodlarının 3in1 PCB nano ya uyarlanmış hali.

Merkeze takılacak Loranın PArametre Ayarları

MERKEZ NOKTA KODLARI

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

SoftwareSerial mySerial(3, 4); //PCB versiyon 4.3 den sonra bu şekilde olmalı

/*
   Pinler     Arduino Nano    Lora E32 433T20d
                  11                3
                  10                4
*/

LoRa_E32 e32ttl(&mySerial);
#define M0 7
#define M1 6

struct Signal {
  char type[15] = "Fixaj.com";
  byte temp[4];
} data;


void setup() {
  pinMode(M0, OUTPUT);
  pinMode(M1, OUTPUT);
  digitalWrite(M0, LOW);
  digitalWrite(M1, LOW);
  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();
  }
}
Sensor noktasına takılacak loranın parametre ayarları

SENSOR NOKTASININ KODLARI

#include "LoRa_E32.h"
#include <SoftwareSerial.h>
SoftwareSerial mySerial(3, 4); //PCB versiyon 4.3 den sonra bu şekilde olmalı
LoRa_E32 e32ttl(&mySerial);

#define M0 7
#define M1 6

struct Signal {
  char type[15];
  byte temp[4];
} data;

void setup() {
  pinMode(M0, OUTPUT);
  pinMode(M1, OUTPUT);
  digitalWrite(M0, LOW);
  digitalWrite(M1, LOW);
  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());

  }

}