veri alıcı lora<br />#include "LoRa_E22.h"<br />#include <SoftwareSerial.h><br /> SoftwareSerial mySerial(10, 11);<br /> /*<br /> Pinler Arduino Nano Lora E22 900T22d<br /> 11 3<br /> A0 4<br />*/<br /> LoRa_E22 e22ttl(&mySerial);<br /> struct Signal {<br /> char type[15] = "Fixaj.com";<br /> byte bar[4];<br />} data;<br /> void setup() {<br /> Serial.begin(9600);<br /> e22ttl.begin();<br /> delay(500);<br />}<br /> void loop() {<br /> ResponseStatus rs = e22ttl.sendFixedMessage(0, 27, 48, &data, sizeof(Signal));<br /> Serial.println(rs.getResponseDescription());<br /> delay(1000);<br /> while (e22ttl.available() ) {<br /> ResponseStructContainer rsc = e22ttl.receiveMessage(sizeof(Signal));<br /> struct Signal data = *(Signal*) rsc.data;<br /> Serial.print("Yer: Kuyu ");<br /> Serial.print("Su Basıncı : ");<br /> Serial.println(*(float*)(data.bar));<br /> rsc.close();<br /> }<br />}<br />veri gönderen lora <br />#include "LoRa_E22.h"<br />#include <SoftwareSerial.h><br />SoftwareSerial mySerial(A0,11); // Arduino RX <-- e22 TX, Arduino TX --> e22 RX<br />LoRa_E22 e22ttl(&mySerial);<br /> struct Signal {<br /> byte bar[4];<br />};<br />const float OffSet = 0.483 ;<br /> float bar1;<br /> void setup() {<br /> Serial.begin(9600);<br /> e22ttl.begin();<br /> delay(500);<br />}<br /> void loop() {<br /> //Connect sensor to Analog 0<br /> bar1 = ((analogRead(0))-0,5)*2.5; <br /> while (e22ttl.available() > 1); {<br /> // Gelen mesaj okunuyor<br /> ResponseStructContainer rsc = e22ttl.receiveMessage(sizeof(Signal));<br /> Serial.println ("Pressure");<br /> //Gönderilecek paket veri hazırlanıyor<br /> struct Signal {<br /> float bar;<br /> } data2;<br /> (data2.bar)=(bar1);<br /> ResponseStatus rs = e22ttl.sendFixedMessage(0, 29, 48, &data2, sizeof(Signal));<br /> Serial.println(rs.getResponseDescription() );<br /> }<br /> }
bu iki koddaki hatalar düzeltmeme yardımcı olur musunuz ?
elimde 2 arduıno nano ile 2 e22 900 t22d var bunların birbiri ile iletişim halinde olmasını ve arduıno a0 analog girişine bağladığım basınç sensorünün diğer loraya ulaşmaını istiyorum ve karıştırdım. donanımsal kurulum konusunda bir sorun yaşamıyorum ama yazılım konusunda yardıma ihtiyacım var bu kod düzenlenir ise sadece sensör pn adresi değiştirilerek herkes bu koddan faydalanabilir?
VERİ GÖNDEREN LORA
#include “LoRa_E22.h”
#include <SoftwareSerial.h>
SoftwareSerial mySerial(A0,11); // Arduino RX <– e22 TX, Arduino TX –> e22 RX
LoRa_E22 e22ttl(&mySerial);
struct Signal {
byte bar[4];
};
const float OffSet = 0.483 ;
float bar1;
void setup() {
Serial.begin(9600);
e22ttl.begin();
delay(500);
}
void loop() {
//Connect sensor to Analog 0
bar1 = ((analogRead(0))-0,5)*2.5;
while (e22ttl.available() > 1); {
// Gelen mesaj okunuyor
ResponseStructContainer rsc = e22ttl.receiveMessage(sizeof(Signal));
Serial.println (“Pressure”);
//Gönderilecek paket veri hazırlanıyor
struct Signal {
float bar;
} data2;
(data2.bar)=(bar1);
ResponseStatus rs = e22ttl.sendFixedMessage(0, 29, 48, &data2, sizeof(Signal));
Serial.println(rs.getResponseDescription() );
}
}
Setup icinde m0 ve m1 gnd ye çek. Birde devre semasini goreyim
VERİ TOPLAYICI LORA
#include “LoRa_E22.h”
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11);
/*
Pinler Arduino Nano Lora E22 900T22d
11 3
A0 4
*/
LoRa_E22 e22ttl(&mySerial);
struct Signal {
char type[15] = “Fixaj.com”;
byte bar[4];
} data;
void setup() {
Serial.begin(9600);
e22ttl.begin();
delay(500);
}
void loop() {
ResponseStatus rs = e22ttl.sendFixedMessage(0, 27, 48, &data, sizeof(Signal));
Serial.println(rs.getResponseDescription());
delay(1000);
while (e22ttl.available() ) {
ResponseStructContainer rsc = e22ttl.receiveMessage(sizeof(Signal));
struct Signal data = *(Signal*) rsc.data;
Serial.print(“Yer: Kuyu “);
Serial.print(“Su Basıncı : “);
Serial.println(*(float*)(data.bar));
rsc.close();
}
}
çok sağolun eksiğimi buldum