Nelze navázat komunikaci

Odpovědět
Elanik
Příspěvky: 5
Registrován: 22 dub 2025, 18:21

Nelze navázat komunikaci

Příspěvek od Elanik » 28 črc 2025, 21:46

Přijímač:

Kód: Vybrat vše

```cpp
#include <SPI.h>
#include <RadioLib.h>

#define CS_PIN    7
#define RESET_PIN 8
#define DIO0_PIN  2

Module radioModule = Module(CS_PIN, RESET_PIN, DIO0_PIN);
SX1278 radio = SX1278(&radioModule);

void setup() {
  Serial.begin(115200);
  delay(1000);

  SPI.begin(4, 5, 6);

  Serial.println("Inicializuji SX1278 přijímač...");

  int state = radio.begin(433.0);
  if (state != RADIOLIB_ERR_NONE) {
    Serial.print("Chyba inicializace rádia: ");
    Serial.println(state);
    while (true);
  }

  radio.setBandwidth(62.5);
  radio.setSpreadingFactor(9);
  radio.setCodingRate(5);
  radio.setSyncWord(0x12);

  Serial.println("Rádio připraveno k příjmu.");
    radio.startReceive();
}

void loop() {
  if (radio.available()) {
    String zprava;
    int state = radio.readData(zprava);
    if (state == RADIOLIB_ERR_NONE) {
      Serial.print("PŘIJATO: ");
      Serial.println(zprava);
    } else {
      Serial.print("Chyba při čtení dat: ");
      Serial.println(state);
    }
  }
  delay(100);
}

```
Vysílač:

Kód: Vybrat vše

```cpp
#include <SPI.h>
#include <RadioLib.h>

#define CS_PIN    7
#define RESET_PIN 8
#define DIO0_PIN  2

Module radioModule = Module(CS_PIN, RESET_PIN, DIO0_PIN);
SX1278 radio = SX1278(&radioModule);

void setup() {
  Serial.begin(115200);
  delay(1000);

  SPI.begin(4, 5, 6);

  Serial.println("Inicializuji rádio SX1278 (vysílač)...");

  int state = radio.begin(433.0);
  if (state != RADIOLIB_ERR_NONE) {
    Serial.print("Chyba inicializace: ");
    Serial.println(state);
    while (true);
  }

  radio.setBandwidth(62.5);
  radio.setSpreadingFactor(9);
  radio.setCodingRate(5);
  radio.setSyncWord(0x12);
  radio.setOutputPower(10); // max výkon 20 dBm (dle HW)
}

void loop() {
  Serial.println("Odesílám zprávu...");

  int state = radio.transmit("Ahoj z vysílače RFM90!");

  if (state == RADIOLIB_ERR_NONE) {
    Serial.println("Zpráva odeslána!");
  } else {
    Serial.print("Chyba při odesílání: ");
    Serial.println(state);
  }

  delay(3000);
}

```
Sestava: ESP32-C3 mini-1 s modulem RFM90.
Vysílač pravidelně vypisuje:
Odesílám zprávu...
Zpráva odeslána!

Přijímač napíše:
Inicializuji SX1278 přijímač...
Rádio připraveno k příjmu.

a čeká na zprávu, ale ta asi nedojde. Už nevím, proč nepřijímá.
Nevěděl by někdo, proč spojení nefunguje?
Lze editovat přímo registry, tudíž myslím, že zapojení a nastavení v kompilátoru je správné, používám IDE Arduino.

martinius96
Příspěvky: 588
Registrován: 01 srp 2017, 19:29
Bydliště: Poprad
Kontaktovat uživatele:

Re: Nelze navázat komunikaci

Příspěvek od martinius96 » 29 črc 2025, 09:39

No, program máš pre LoRa SX1278, ale RFM90 je na báze SX1262. Inicializácia sa mohla podariť, ale nemá 100% kompatibilné registre, preto to zrejme nechodí. Ostatné nastavenia sa zdajú byť v poriadku.

Pablo74
Příspěvky: 135
Registrován: 03 lis 2019, 17:00

Re: Nelze navázat komunikaci

Příspěvek od Pablo74 » 29 črc 2025, 13:21

Asi to není tento případ, ale stává se, že vysílač a přijímač jsou příliš blízko sebe (do dvou metrů) a bezdrátová komunikace selže. Člověk se s tím hodiny trápí, mění nastavení, upravuje kód a nedobere se funkčního řešení.

Přitom stačí dát ty dva moduly dostatečně daleko od sebe.

Ale jak říkám, nemusí to být zrovna tento případ.

Elanik
Příspěvky: 5
Registrován: 22 dub 2025, 18:21

Re: Nelze navázat komunikaci

Příspěvek od Elanik » 29 črc 2025, 20:32

Vzdálenost mám asi 5 m přes 2 zdi.
program máš pre LoRa SX1278, ale RFM90 je na báze SX1262
Čip je SX1276. Že by tady byl problém?

Elanik
Příspěvky: 5
Registrován: 22 dub 2025, 18:21

Re: Nelze navázat komunikaci

Příspěvek od Elanik » 06 srp 2025, 23:09

Tak čip je skutečně původních SX1278. Komunikaci se mi nakonec podařilo rozchodit, ale s velmi malým výkonem. Při vzdálenosti přijímače a vysílače na stole cca 0,5 m je RSSI kolem -90 dBm, přes dvě zdi a vzdálenosti cca 6 m klesne na -130 a signál začíná vypadávat.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host