Çözüldü4.22K görüntülenmeArduinoE22900T22D LoRa alıcı verici
0

herkse merhaba. 5 loradan ısı nem verisi almak istiyorum. 1 alıcı dan veri almak tamam. alıcı kısmında çoklu loradan veri almayı başaramadım. hangi loradan veri geldiğini alıcıda nasıl ayırt edeceğim. esp32 kullanıyorum bununla ilgili bir kod varsa lütfen paylaşırmısınız..

Soru yeni cevaplara kapalıdır.
Mehmet En iyi cevap olarak seçildi Ağustos 1, 2022
0

////VERİCİ

#include "LoRa_E22.h"
#include <HardwareSerial.h>
#define M0 32 //3in1 PCB mizde pin 7
#define M1 33 //3in1 PCB mizde pin 6
#define RX 25 //3in1 PCB mizde pin RX
#define TX 35  //3in1 PCB mizde pin TX
#include <Wire.h>
#include "ClosedCube_HDC1080.h"
  ClosedCube_HDC1080 hdc1080; 
  HardwareSerial fixajSerial(1);                            //Serial biri seçiyoruz.
LoRa_E22 e22(TX, RX, &fixajSerial, UART_BPS_RATE_9600);
  struct Signal {
  char type[80]= "CiHAZ ODASI" ;
  byte temp[4];
  byte nem[4];
   byte id[1];
} data;
  void setup() {
  pinMode(M0, OUTPUT);
  pinMode(M1, OUTPUT);
  digitalWrite(M0, LOW);
  digitalWrite(M1, LOW);
    Serial.begin(9600);
  hdc1080.begin(0x40);
  delay(500);
  e22.begin();
  delay(500);
  }
  void loop() {
          delay(1000);
    *(float*)(data.temp) = hdc1080.readTemperature();
  *(float*)(data.nem) = hdc1080.readHumidity();
 *(float*)(data.id) = 02;
  ResponseStatus rs = e22.sendFixedMessage(0, 2, 18, &data, sizeof(Signal));
  Serial.println(rs.getResponseDescription());
    Serial.println(*(float*)(data.temp));
  Serial.println(*(float*)(data.nem));
  Serial.println(*(float*)(data.id));
  }

couger star Cevaplanan soru Haziran 29, 2022
11 cevaptan 1'ini inceliyorsun, tüm cevapları görmek için buraya tıklayın.