Programm mit Lora funktioniert nicht.

Paulquappe123

Cadet 1st Year
Registriert
Sep. 2022
Beiträge
15
Hey,
ich habe ein Problem. Ich wollte ein paar LoRa chips DRF1278F ausprobieren. Für die programmierung mit der Arduino IDE wurde diese Bibliothek verwendet. Als Empfänger wird ein D1 Mini NodeMcu mit ESP8266-12F verwendet.(Handbuch leider zu groß zum anhängen) mit folgendem Pinout:
Screenshot 2022-12-10 192619.png


Das ganze habe ich folgendermaßen verbunden:
pager_empfänger_bb.png
pager_empfänger_schem.png


Und so programmiert:
Code:
#include <SPI.h>
#include <LoRa.h>

void setup() {
  LoRa.setPins(5, 2, 0);
  Serial.begin(9600);
  while (!Serial);

  Serial.println("LoRa Receiver");

  if (!LoRa.begin(915E6)) {
    Serial.println("Starting LoRa failed!");
    while (1);
  }
}

void loop() {
  // try to parse packet
  int packetSize = LoRa.parsePacket();
  if (packetSize) {
    // received a packet
    Serial.print("Received packet '");

    // read packet
    while (LoRa.available()) {
      Serial.print((char)LoRa.read());
    }

    // print RSSI of packet
    Serial.print("' with RSSI ");
    Serial.println(LoRa.packetRssi());
  }
}

Der sender ist ein ESP32 NodeMCU Module(handbuch inklusive Pinout im anhang als PDF). Dieser wurde folgendermaßen verbunden:
pager_sender_bb.png
pager_sender_schem.png


und folgendermaßen programmiert:
Code:
#include <SPI.h>
#include <LoRa.h>

int counter = 0;

void setup() {
  LoRa.setPins(5, 33, 32);
  Serial.begin(9600);
  while (!Serial);

  Serial.println("LoRa Sender");

  if (!LoRa.begin(915E6)) {
    Serial.println("Starting LoRa failed!");
    while (1);
  }
}

void loop() {
  Serial.print("Sending packet: ");
  Serial.println(counter);

  // send packet
  LoRa.beginPacket();
  LoRa.print("hello ");
  LoRa.print(counter);
  LoRa.endPacket();

  counter++;

  delay(5000);
}

Der Code ist der Beispielcode aus der Bibliothek für erste spiel und programierversuche damit!!!
Wenn beide am strom angeschlossen sind und ich den seriellen Monitor des empfängers öffne(natürlich 9600 baud und Both NL & CR) empfange ich aber gar nichts -> der serielle Monitor bleibt leer.

Da ich mir von den Pins her nicht sicher war beim empfänger have ich in zeile 5 auch mal laternativ LoRa.setPins(1, 4, 0); ausprobiert. Da bewegt sich zwar im seriellen monitor etwas, das ist aber kompletter blödsinn und kommt auch wenn der sender nicht mit dem strom verbunden ist:
03:33.095 -> �?0��1�D�9;�����H!��h��@H��<����/����q�`�10z���H!��!9@H�� ��?)�j��D� ���U)�
15:03:59.878 -> ��f! H��?)���D������Q)�
15:04:07.240 -> ��b! H���H������@H7�0���R)�
15:04:14.598 -> ��c! H��?)���D������?Ʉ��D�����F)�
15:04:25.638 -> ���! HuF)�
15:04:29.313 -> ��֋LH9����19���10��F)�
15:04:36.660 -> ���! H9�?)=��D�#����H!��x��@H������S)�
15:04:47.717 -> ��b! H�����܄��D�9;���������q�`�10���?)�)��D�L���?��1�Dŗ����U)�
15:05:06.116 -> ��f! H���H!�����@Hʨ0����8����������������������������������� ��������������� �b "b b b b b b ������������������

So geht es dann die ganze zeit.

Ich bin mit meinem Latein am ende und weiß einfach nicht woran es liegt.
Hat eienr von euch eine idee?
Vielen dank für antworten
Paul
 

Anhänge

  • ESP-32 Dev Kit C V2_DE.pdf
    1,2 MB · Aufrufe: 229
Hmm also denke von der Software her sollte es passen.

Ich nutze bei mir 868E6 als Frequenz, das wäre ja schnell gestestet.

Bei Deinem DebugOut sieht man die RSSI gar nicht obwohl im Quelltext vorhanden? das passt irgendwie nicht zusammen der Quelltext zu der Ausgabe.
 
Du hast 433er-Module verlinkt, setzt aber 915 MHz.
Können die LoRa-Module mit der default-SPI-Clock-Rate der Bibliothek umgehen?
Die Module sind mit den Default-SPI-Pins der Mikrocontroller verbunden, oder?
 
Zurück
Oben