Çözüldü1.36K görüntülenmeLoraE22900T22D iletişim
0

merhaba. kusura bakma rahatsız etmek istemezdim. bir sürü kişinin sorusuna cavep veriyorsunuzdur. banada yardımcı olusanız sevinirim.. sizin programı kullanara e22 esp32 kullanarak ısı takbi yaptım. fakat alıcıyı reset yapınca vericiden data kesiliyor. yada hiçbişey yapmadan veri alışverişi kesiliyor.  neyi yanlış yapıyorum acaba

teşekkürler

verici…..

alıcı…..

 

vrici kodu<br />#include "LoRa_E22.h"<br />#include <HardwareSerial.h><br />#define M0 32 //3in1 PCB mizde pin 7<br />#define M1 33 //3in1 PCB mizde pin 6<br />#define RX 25 //3in1 PCB mizde pin RX<br />#define TX 35  //3in1 PCB mizde pin TX<br />#include <Wire.h><br />#include "ClosedCube_HDC1080.h"<br />  ClosedCube_HDC1080 hdc1080; <br />  HardwareSerial fixajSerial(1);                            //Serial biri seçiyoruz.<br />LoRa_E22 e22(TX, RX, &fixajSerial, UART_BPS_RATE_9600);<br />  struct Signal {<br />  char type[80]= "ATE CiHAZ ODASI" ;<br />  byte temp[4];<br />  byte nem[4];<br />} data;<br />  void setup() {<br />  pinMode(M0, OUTPUT);<br />  pinMode(M1, OUTPUT);<br />  digitalWrite(M0, LOW);<br />  digitalWrite(M1, 0);<br />    Serial.begin(9600);<br />  hdc1080.begin(0x40);<br />  delay(500);<br />  e22.begin();<br />  delay(500);<br />    char* source = "ESP32 başlat";<br />  strcpy(data.type, source);<br />    ResponseStatus rs = e22.sendFixedMessage(0, 2, 18, &data, sizeof(Signal));<br />  Serial.println(rs.getResponseDescription());<br />Serial.print("Manufacturer ID=0x");<br />  Serial.println(hdc1080.readManufacturerId(), HEX); // 0x5449 ID of Texas Instruments<br />  Serial.print("Device ID=0x");<br />  Serial.println(hdc1080.readDeviceId(), HEX); // 0x1050 ID of the device <br />}<br />  void loop() {<br />     while (e22.available()  > 1) {<br />    // Gelen mesaj okunuyor<br />    ResponseStructContainer rsc = e22.receiveMessage(sizeof(Signal));<br />    struct Signal data = *(Signal*) rsc.data;<br />    Serial.print("Yer: ");<br />    Serial.println(data.type);<br />    rsc.close();<br /> struct Signal {<br />  char type[80] = "ATE CiHAZ ODASI";<br />  byte temp[4];<br />  byte nem[4];<br />} data2;<br />          delay(1000);<br />    *(float*)(data2.temp) = hdc1080.readTemperature();<br />  *(float*)(data2.nem) = hdc1080.readHumidity();<br />    ResponseStatus rs = e22.sendFixedMessage(0, 2, 18, &data2, sizeof(Signal));<br />  Serial.println(rs.getResponseDescription());<br />    Serial.println(*(float*)(data2.temp));<br />  Serial.println(*(float*)(data2.nem));<br />     }<br />}

[/apcode]

alıcı kodu<br /> #include "LoRa_E22.h"<br />#include <HardwareSerial.h><br />#define M0 32 //3in1 PCB mizde pin 7<br />#define M1 33 //3in1 PCB mizde pin 6<br />#define RX 25 //3in1 PCB mizde pin RX<br />#define TX 35  //3in1 PCB mizde pin TX<br />#include <Wire.h>                      <br />#include <LiquidCrystal_I2C.h>       <br />//******************************************************<br />byte karakter0[8] = { 0x00, 0x0E, 0x11, 0x10, 0x11, 0x0E, 0x04, 0x00 };    // ç<br />byte karakter2[8] = { 0x0C, 0x12, 0x12, 0x0C, 0x00, 0x00, 0x00, 0x00 };    // Derece<br />byte karakter1[8] = { 0x0A, 0x00, 0x0E, 0x11, 0x11, 0x11, 0x0E, 0x00 };    // ö<br />byte karakter3[8] = { 0x1F, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1F };    // kare<br />byte karakter4[8] = { 0xE, 0x11, 0x10, 0x10, 0x10, 0x11, 0xE, 0x4 };    // Ç<br />byte karakter5[8] = { 0xE,0x0,0xE,0x11,0xF,0x1,0xE,0x0 };    // ğ<br />byte karakter6[8] = { 0x0,0x0,0xC,0x4,0x4,0x4,0xE,0x0};    // ı<br />byte karakter7[8] = { 0xE,0x0,0xF,0x10,0x13,0x11,0xF,0x0 };    // Ğ<br />byte karakter8[8] = { 0xF,0x10,0x10,0xE,0x1,0x1,0x1E,0x4 };    // Ş<br />byte karakter9[8] = {0xE,0xE,0x4,0x5,0xE,0x14,0x6,0x1B };  //adam<br />//********************************************************<br />LiquidCrystal_I2C lcd(0x27,20,4);      <br />HardwareSerial fixajSerial(1);                            //Serial biri seçiyoruz.<br />LoRa_E22 e22(TX, RX, &fixajSerial, UART_BPS_RATE_9600);<br />  struct Signal {<br />  char type[80] ;<br />  byte temp[4];<br />  byte nem[4];<br />} data;<br />  void setup() {<br />  pinMode(M0, OUTPUT);<br />  pinMode(M1, OUTPUT);<br />  digitalWrite(M0, LOW);<br />  digitalWrite(M1, 0);<br />  lcd.init();                    <br />lcd.clear();<br />  // Print a message to the LCD.<br /> lcd.createChar(0, karakter0);<br />  lcd.createChar(2, karakter2);<br />  lcd.createChar(1, karakter1);<br />  lcd.createChar(3, karakter3);<br />  lcd.createChar(4, karakter4);<br />  lcd.createChar(5, karakter5);<br />  lcd.createChar(6, karakter6);<br />  lcd.createChar(7, karakter7);<br />  lcd.createChar(8, karakter8);<br />  lcd.createChar(9, karakter9); <br />  lcd.backlight();                <br />   lcd.setCursor(10,1);           <br />  lcd.print("Hello!");<br />  Serial.begin(9600);<br />  delay(500);<br />     e22.begin();<br />  delay(500);<br /> lcd.clear();<br />}<br />  void loop() {<br />   while (e22.available()  > 1) {<br />    // Gelen mesaj okunuyor<br />    ResponseStructContainer rsc = e22.receiveMessage(sizeof(Signal));<br />    struct Signal data = *(Signal*) rsc.data;<br />         lcd.setCursor(0,0);           <br />    lcd.print("Yer: ");<br />    lcd.setCursor(5,0);           <br />    lcd.print("ATE CiHAZ ODASI");<br />     Serial.print("Yer: ");<br />    Serial.println(data.type);<br />    lcd.setCursor(0,2);           <br />    lcd.print("ISI: ");<br />    lcd.setCursor(6,2);           <br />    lcd.print(*(float*)(data.temp));lcd.write(byte(2));lcd.print("C");<br />    lcd.setCursor(0,3);           <br />    lcd.print("NEM: ");<br />    lcd.setCursor(6,3);lcd.print("% ");           <br />    lcd.print(*(float*)(data.nem));<br />    Serial.print("Ortam Sıcaklığı: ");<br />    Serial.println(*(float*)(data.temp));<br />    Serial.print("Ortam Nemi: % ");<br />    Serial.println(*(float*)(data.nem));<br />    rsc.close();<br />       char* source = " CiHAZ ODASI";<br />    strcpy(data.type, source);<br />      ResponseStatus rs = e22.sendFixedMessage(0, 1, 18, &data, sizeof(Signal));<br />    Serial.println(rs.getResponseDescription());<br />  }<br />       }

Soru yeni cevaplara kapalıdır.
Mehmet En iyi cevap olarak seçildi Haziran 24, 2022
0

kodları tam olarak göremiyorum ama acaba kütüphane güncel mi? e22 videoların birinde bahsetmiştik kütüphanede ufak bir hata vardı. xreef kütüphaneyi yazan arkadaş güncelleme yapmıştı acaba kütüphaneyi kontrol eder misiniz?

Mehmet En iyi cevap olarak seçildi Haziran 24, 2022