Çözüldü2.94K görüntülenmeLoraLora
0

Hocam merhabalar, E32 433T20 modellerini kullanıyorum. İki arduino unoyla birlikte. Gönderici bir sürü mesaj gönderirken alıcı bunların bazılarını alıyor ve sonra tamamen duruyor. Arduinoları resetleyince tekrar haberleşmeye başlıyor yarım yamalak sonra tekrar duruyor. Bebek odasının kodunu aynen denemek için kullandık. 

Kablolama olarak da aynen gösterdiğiniz gibi yaptık sadece rxi dirence bağlamadık. 3.3 V ve 5V ikisini de denedik.

#include "LoRa_E32.h"<br />#include <SoftwareSerial.h><br />  SoftwareSerial mySerial(10, 11);<br />  /*<br />   Pinler     Arduino Nano    Lora E32 433T20d<br />                  11                3<br />                  10                4<br />*/<br />  LoRa_E32 e32ttl(&mySerial);<br />  struct Signal {<br />  char type[15] = "Fixaj.com";<br />  byte temp[4];<br />} data;<br />    void setup() {<br />  Serial.begin(9600);<br />  e32ttl.begin();<br />  delay(500);<br />}<br />  void loop() {<br />    ResponseStatus rs = e32ttl.sendFixedMessage(0, 5, 23, &data, sizeof(Signal));<br />  Serial.println(rs.getResponseDescription());<br />    delay(3000);<br />    while (e32ttl.available()  > 1) {<br />    ResponseStructContainer rsc = e32ttl.receiveMessage(sizeof(Signal));<br />    struct Signal data = *(Signal*) rsc.data;<br />    Serial.print("Yer: ");<br />    Serial.println(data.type);<br />    Serial.print("Ortam Sıcaklığı: ");<br />    Serial.println(*(float*)(data.temp));<br />    rsc.close();<br />  }<br />}

#include "LoRa_E32.h"<br />#include <SoftwareSerial.h><br />SoftwareSerial mySerial(10, 11); // Arduino RX <-- e32 TX, Arduino TX --> e32 RX<br />LoRa_E32 e32ttl(&mySerial);<br />  struct Signal {<br />  char type[15];<br />  byte temp[4];<br />} data;<br />  void setup() {<br />  Serial.begin(9600);<br />  e32ttl.begin();<br />  delay(500);<br />}<br />  void loop() {<br />  while (e32ttl.available()  > 1) {<br />      // Gelen mesaj okunuyor<br />    ResponseStructContainer rsc = e32ttl.receiveMessage(sizeof(Signal));<br />    struct Signal data = *(Signal*) rsc.data;<br />    Serial.print("Gelen Messaj: ");<br />    Serial.println(data.type);<br />    rsc.close();<br />      //Gönderilecek paket veri hazırlanıyor<br />    struct Signal  {<br />      char type[15] = "Bebek Odası";<br />      byte temp[4];<br />    } data2;<br />      *(float*)(data2.temp) = 19.2;<br />       ResponseStatus rs = e32ttl.sendFixedMessage(0, 10, 23, &data2, sizeof(Signal));<br />    Serial.println(rs.getResponseDescription());<br />    }<br />  }

Soru yeni cevaplara kapalıdır.
ismail Dinçer Yeni yorum gönderildi Temmuz 26, 2021

Hocam nasıl çözdünüz anlatabilir misinz?

0

sanki bebek odası kısmında temassızlık var. gelen veriler bozuk görünüyor. öncelikle sistemin nerde donduğunu tespit edelim. while döngüsünden önce ve sonra ve içinde serial monitöre bişeyler yazdır. nerde donduğunu anlayalım. büyük ihtimalle gelen mesaj olunca while döndüsüne takılıp kalıyor sistem. eğer öylesi ise while yerine if yaz. bide öyle deneyelim. sonuçları at ona göre bakalaım

Mehmet En iyi cevap olarak seçildi Haziran 18, 2021