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 (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 GitBebek Odası Uygulaması Kodlarının 3in1 PCB nano ya uyarlanmış hali.
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 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());
}
}