LoRa ESP32 Fehlerhafte Übertragungen

  • Hallo,

    Ich hab für eine Verbindung zwischen zwei ESP32 Modulen eine LoRa Funk Strecke aufgebaut, mit Hilfe des RFM95W Radio Transceiver. Leider kommt es immer wieder zu Fehlerhaften Übertragungen, sprich gesendete Texte enthalten plötzlich lauter Sonderzeichen und andere falsche Zeichen.

    Die Übertragung läuft mittels Receiver Callback und SenderNonBlockingCallback, anhand der Beispiel-Programm der zugehörigen LoRa Bibliothek.

    ==> https://github.com/sandeepmistry/…master/examples

    Vielleicht hat jemand eine sichere Übertragunsmöglichkeit mit LoRa.

  • Moin JackerNils,

    wenn ich dich richtig lese, dann hast du die beiden Beispiele so eingesetzt wie sie sind?!?

    Dabei, aber hoffentlich, die Frequenz auf deutsche Verhältnisse gesetzt!!!

    Und wie sieht nun das Fehlerbild aus? Dein gesendeter Text wird zerstümmelt oder sind die OK und du empfängst vor und danach Texte?

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Diese Bibliothek scheint sehr low-levelig. Wenn du Integritaet willst, musst du entweder darauf aufbauend ein Protokoll etablieren, mit Pruefsummen und Bestaetigungen, je nach Anforderung.

    Oder du suchst dir eine Bibliothek, die das besser kann - er erwaehnt ja selbst LoRaWAN .

  • Moin JackerNils,

    wenn ich dich richtig lese, dann hast du die beiden Beispiele so eingesetzt wie sie sind?!?

    Dabei, aber hoffentlich, die Frequenz auf deutsche Verhältnisse gesetzt!!!

    Und wie sieht nun das Fehlerbild aus? Dein gesendeter Text wird zerstümmelt oder sind die OK und du empfängst vor und danach Texte?

    73 de Bernd

    Ja Frequenz wurde natürlich auf Deutsch gestellt. Der Text ist zerstümmelt mit Sonderzeichen, davor und danach alles i.o.

    Diese Bibliothek scheint sehr low-levelig. Wenn du Integritaet willst, musst du entweder darauf aufbauend ein Protokoll etablieren, mit Pruefsummen und Bestaetigungen, je nach Anforderung.

    Oder du suchst dir eine Bibliothek, die das besser kann - er erwaehnt ja selbst LoRaWAN .

    Das ist ein guter Vorschlag. Das probiere ich gleich morgen mal aus.

    EDIT:

    "LoRaWAN builds on top of LoRA, but adds addressing, encryption, and additional layers. It also requires a LoRaWAN gateway and LoRaWAN network and application server."

    -Zitat Readme von LoRa.

    LoRaWAN scheidet auf Grund des Gateways erstmal aus.

    Aber ich habe auch gefunden, das es eventuell an zu wenig Stromversorgung liegt. Ich werde das mal testen.

    2 Mal editiert, zuletzt von JackerNils (17. November 2020 um 23:05)

  • Moin!

    Um mal die Begriffe LoRa und LoRaWAN klarer zu definieren, einen Auszug von einer deutschen Webseite.

    Spoiler anzeigen

    Was ist der Unterschied zwischen Lora und LoRaWAN?

    LoRaWAN definiert das Standard Kommunikationsprotokoll und die Systemarchitektur für das Netzwerk, während LoRa die physikalische Schicht beschreibt, welche die „long range“ Kommunikationsverbindung ermöglicht. Das Protokoll und die Netzwerkarchitektur haben dabei den größten Einfluss bei der Bestimmung der Batterielebensdauer eines Knotens, der Netzwerkkapazität, der Servicequalität, der Sicherheit und der Vielfalt der vom Netzwerk bedienten Anwendungen.

    Technisch gesehen kann man einen LoRa Radio / Chipsatz nutzen – um den Vorteil der Technologie zu nutzen, die sie bietet, aber zusätzlich ein anderes High-Level-Protokoll wie die Leute von Link Labs es z. B. getan haben.

    LoRa bezieht sich auf eine drahtlose Modulation, die eine Kommunikation mit sehr geringem Stromverbrauch ermöglicht.

    LoRaWAN bezieht sich dabei auf ein Netzwerkprotokoll mit LoRa-Chips für die Kommunikation. Es basiert auf der Basisstation, die 8 Frequenzen mit mehreren Spreizfaktoren mit fast 42 Kanälen überwachen kann.

    Es ist möglich, die LoRa Modulation als Punkt zu Punkt oder als Star-Netzwerk ohne LoRaWAN verwenden. Auch könnte es möglich sein, LoRaWAN wie ein Netzwerk mit anderen Radio-Link zu betreiben, was aber nicht wirklich praktisch wäre.

    Quelle: https://www.lora-wan.de#inhaltsverzeichnis

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Moin!

    Um mal die Begriffe LoRa und LoRaWAN klarer zu definieren, einen Auszug von einer deutschen Webseite.

    Quelle: https://www.lora-wan.de#inhaltsverzeichnis

    73 de Bernd

    Danke das hat einiges nochmal schön erklärt! Oben spreche ich aber immer von LoRa als Bibliothek.

    Dem Grundgedanken von zu wenig Strom bin ich auf der Spur gegangen. Ich messe einen normalen Verbrauch von 60mA und einen Spitzenwert von 180mA beim Senden. Daraus resultiert, dass ein 1 Ampere Netzteil ausreicht.

    Komischerweise treten diese fehlerhaften Übertragungen nur selten beim Versuchen auf. Es scheint also unregelmäßig zu passieren. Oder eventuell doch durch einen veränderten Versuchsaufbau? Ohne Antenne zum Beispiel oder mit einem falschen Netzteil.

  • Moin JackerNils,

    Naja, ohne Antenne ist keine Strahlungsleistung vorhanden und ist sicherlich auch nicht gut für das Sendemodul.

    Du nutzt einen NodeMCU ESP32, oder? Daran hast du das RFM95W via Spreadboard angefrickelt.

    Was hast du den als Antenne angelötet?

    Hast du auch den Pin "DIO0" des RFM angeschlossen?

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Du wirst dieses Problem niemals nur mit Hardware lösen können. Natürlich wird die Situation durch passende Antennen verbessert. Doch Störungen liegen in der Natur des Mediums. Es hängt jetzt vom deinem bis dato unbeschriebenen Anwendungszweck ab, was du tun musst. Der Minimale Schritt besteht in der Prüfung der Integrität von Nachrichten. Also zb Prüfsummen. Nur Nachrichten die diesbezüglich einwandfrei sind, werden überhaupt verarbeitet. Ob das reicht, weil du zb einfach nur kontinuierlich Sensorwerte verschickst, und ein Paket Verlust egal ist, oder ob du dann auch noch acknowledgement und retries brauchst hängt eben davon ab, was das System tun soll.

    Und wenn dir das alles spanisch vorkommt, dann nochmal der Hinweise auf LoRaWAN. Wie durch Bernd belegt ist deine Annahme, es gäbe da zwingend ein Gateway, falsch.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!