Çözüldü2.23K görüntülenmeLora#analogsensor E22900T22D Lora
0

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?

Soru yeni cevaplara kapalıdır.
Recep Topaktaş En iyi cevap olarak seçildi Eylül 2, 2022
0

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

Recep Topaktaş Cevaplanan soru Ağustos 24, 2022
3 cevaptan 1'ini inceliyorsun, tüm cevapları görmek için buraya tıklayın.