Arduino und Wireless Module

Hallo zusammen,

Bin gerade daran, eine Fernübertragung von GPS Koordinaten zu implementieren. Das heisst, mein GPS Modul gibt die Daten zuerst dem Arduino ab, der verarbeitet diese und sendet sie per "wireless" dem zweiten Arduino fortlaufend zu, sodass ein live tracking möglich gemacht werden könnte. Nun, mit den Wireless Modulen im Zusammenhang mit Mikroprozessoren (in diesem Fall Arduinos) tu ich mich noch ein wenig schwer. Konkret gesagt verstehe ich nicht, warum ein solches Modul wie zum Beispiel das von mir geplante LoRa SX1278, welches für sehr weite Distanzen geeignet sei, eine eigene Library benötigt!! Da sehe ich Beispiel-Skatches wo dann eben lora.read(), lora.write() etc vorkommen, ..warum? Ich persönlich stelle ich mir solche Sender-/Empfängermodule immer als passive Elemente vor, denen man einfach jedes Signal beliebiger Baud Rate (natürlich sicher geringer als die Übertragungsfrequenz von 2,4GHz oder 868MHz etc..) zuführen kann, dieses in eine Hüllkurve verpackt wird, vom Empfänger decodiert und schliesslich so rauskommt wie gesendet worden.. Da denke ich OFFENBAR ein wenig zu simpel darüber nach, kann sein, wäre froh wenn jemand der sich damit wohl auskennt eine Erklärung geben könnte, warum der Arduino-Code abhängig ist vom verwendeten Wireless-Modul.

Vielen Dank und Grüsse

Für jedes SendeModul gibt es ein Datenblatt. Auch für dein Lieblingsmodul. Das solltest du mal lesen.

Auch mal für ein paar verschiedene Module. Dann siehst du die Unterschiede.

Nocoardu: .... Konkret gesagt verstehe ich nicht, warum ein solches Modul wie zum Beispiel das von mir geplante LoRa SX1278, welches für sehr weite Distanzen geeignet sei, eine eigene Library benötigt!!...

Eine Library benötigt keines der Funk-Module. Die Libraries vereinfachen nur deine Programmiertätigkeit.

Somit musst du dich nicht um Protokolle etc. kümmern. Sondern sprichst die entsprechende Library und damit dein Funkmodul mit den benötigten Anweisungen an. Die Restarbeit (meist sehr umfangreich) erledigt dann die Library.

Da sehe ich Beispiel-Skatches wo dann eben lora.read(), lora.write() etc vorkommen, ..warum? Ich persönlich stelle ich mir solche Sender-/Empfängermodule immer als passive Elemente vor, denen man einfach jedes Signal beliebiger Baud Rate (natürlich sicher geringer als die Übertragungsfrequenz von 2,4GHz oder 868MHz etc..) zuführen kann, dieses in eine Hüllkurve verpackt wird, vom Empfänger decodiert und schliesslich so rauskommt wie gesendet worden..

Und genau dass müsstest du selbst schreiben. Wenn dir dann die Erfahrung fehlt, wird das ein langwieriges Unternehmen.

Da denke ich OFFENBAR ein wenig zu simpel darüber nach, kann sein, wäre froh wenn jemand der sich damit wohl auskennt eine Erklärung geben könnte, warum der Arduino-Code abhängig ist vom verwendeten Wireless-Modul.

Das siehst du richtig.... Und je nach Modul, werden diese auch unterschiedlich angesteuert. Z.B. mit "OneWire", SPI oder UART. Und auch dafür benötigst du unterschiedliche Protokolle und somit unterschiedliche Libraries.

Vielen Dank! Die Aufgabe einer Library ist mir bekannt. In C zum Beispiel könnte man theoretisch das printf() auch ausschreiben und könnte auf die Stantard Lib verzichten, klar! Ich habe vergessen, in meiner Frage noch folgendes zu vermerken: Ich dachte, man könnte das Standardmässige Serial.write() und das Serial.read() verwenden. Nachdem ich das Datenblatt nochmals durchgelesen, dort liest man von OOK Problemen, und anderen genannten Frequenz und Zeitbereiche... Da wurde ich natürlich ein wenig skeptisch gegenüber meiner einfachen Vorstellung ;)

Dann schluck ich des Ganze jetzt, verwende die Lib und mach mich aber mal hinter die Bücher!