Zwei NRF24L01 Module miteinander kommunizieren lassen.

  • Moin an alle ich habe mich an ein etwas größeres Projekt gewagt allerdings komme ich derzeit nicht weiter.

    Ich Bekomme die Kommunikation zwischen zwei Raspberrys nicht hin

    Die beiden NRF Module sind wie folgt an den Raspberry’s angeschlossen:

    VCC -> Pin 17 (3.3V)
    GND -> Pin 20 (GND)
    CE -> Pin 22 (GPIO 25)
    CSN -> Pin 24 (GPIO 8, SPI0 CS0)
    SCK -> Pin 23 (GPIO 11, SPI0 SCK)
    MOSI -> Pin 19 (GPIO 10, SPI0 MOSI)
    MISO -> Pin 21 (GPIO 9, SPI0 MISO)
    IRQ -> Pin 18 (GPIO 24)

    Ich habs jetzt mit verschiedenen Bibliotheken versucht, aber trotzdem komme ich zu absolut keinem Ergebnis.

    Hat hier irgendwer vielleicht einen Code der bereits mit einer bestimmten Bibliothek funktioniert oder würde mir helfen, damit ich an dem Rest meines Projekts weiterarbeiten kann?


    Ziel wäre es wenn auf dem Raspberry 1 (ring-transmitter genannt) ein Taster (Klingel) betätigt wird (Pin13 3.3V Pin 14 GND) dann soll

    Raspberry 2 (ring-receiver genannt) welcher in einem anderen Raum ist einen Sound abspielen.

    Und wenn möglich wenn auf Raspberry 2 ein Taster betätigt wird (auch auf Pin13 3.3V Pin 14 GND) dann soll ein Relais and Raspberry 1 geschaltet werden (noch nicht eingebaut).
    Über Hilfe würde ich mich sehr freuen :)


    P.S. ich hoffe das ist das Richtige Unterforum

  • Zwei NRF24L01 Module miteinander kommunizieren lassen.? Schau mal ob du hier fündig wirst!

  • Moin Taubsi,

    erstmal: Herzlich Willkommen im Forum!

    Du willst das mit Python machen? Dann solltest du einen deiner Versuche mal vorstellen. Die Python-Leute sagen dann schon was eventuel klemmt.

    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.

  • 1. Wozu Raspberrys ? Das ist mit Kanonen auf Spatzen geschossen. Wenn eh schon in C / C++ dann lass das auf einem Arduino oder ESP laufen.
    2. Warum die zwei Funkmodule und nicht per WLAN verbinden ?
    3. Wenn ich nach "nrf24l01 raspberry pi" google, kommen da einige Seiten mit Beispielen welche genau das machen was du möchtest. Teilweise sogar mit fertigen Programmen für Arduino

    Offizieller Schmier und Schmutzfink des Forum.
    Meine PI:

    Display Spoiler

    #1 : Pi1 - Packet Radio Digi mit TNC-PI
    #2 : Pi2 - ADSB Feeder
    #3 : Pi3 - DHCP/DNS Server für 4 VLAN
    #4 : Pi3 - Wireguard Gateway
    #5 : Pi3 - FM Funknetz Gateway mit Shari SA818
    #6 : PI Zero W mit DMR Hotspot
    #7 : Pi4 4GB - Kiosk Browser
    #8 : Pi4 4GB - Kiosk Browser
    #9 : Pi4 8GB - Test Pi

    Dazu noch ein paar Zero und Pi1/2 die noch auf einen sinnvollen Einsatz warten.

  • Moin Taubsi,

    dann wollen wir mal.
    Welcher Raspberry? SPI hast du aktiviert? Welche Bibliothek(Library) möchtest du nutzen?

    fred0815 Mea Culpa einfach überlesen.

    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.

  • Also an alle die wieder wie in anderen Foren die ich von früher noch kenne, keine Zielführenden Kommentare bringen wie: warum ich Raspberrys anstatt Arduino etc. nutze ganz einfach weil ich mich dafür entschieden habe und ich jetzt auch nicht mehr alles rückgängig machen kann/werde.


    Ich hab außerdem garnicht erwähnt was noch alles in das Projekt einfließen wird, sondern lediglich das es halt am funk hapert und warum kein Adhoc, weil es nicht so zuverlässig ist wie die NRF Module, wenn ich sie denn zum funktionieren kriege :D


    Also in welcher Sprache programmiert wird,ist mir eigentlich egal ich hab leider von Programmierung 0 Ahnung und würde mich was das angeht gerne beraten lassen, ich löse das programmieren mit Chatgpt zusammen und naja bis jetzt hat nichts zuverlässig geklappt weil offensichtlich die Bibliotheken nie zum Programm gepasst haben.


    Ich besitze 2 Raspberrie Pi Zero 2 W und verschiedene NRF24L01+ Module da ich am anfangs dachte das die möglicherweise nicht funktionieren.

    SPI ist aktiviert.


    Vielen dank an alle die mich unterstützen möchten :)

  • Moin Taubsi,

    hast du Backup's von deinen Raspberries?.
    Ich meine was gefunden zu haben.
    Mangels der nicht vorhandenen NRF'S habe ich es nur mal installiert und getestet. Es kommt zu einer plausiblen Meldung.

    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 Taubsi,

    ich würde es machen. Weil es dauert bis man so eine RPi wieder richtig eingerichtet hat.

    Nun zum Programm.
    Teste ob du git installiert hast. Wenn nein, sudo apt install git.
    Dann git clone https://github.com/dimou-nikolaos/RaspberryPi-RF24-HowTo.git machen. Wenn es fertig ist gibt es einen Ordner namens RaspberryPi-RF24-HowTo. Dahin wechseln und chmod +x install-rf24.sh eingeben. Damit wird das Script ausführbar gemacht. Dann mit ./install-rf24.sh starten.
    Nun werden einige Dinge gemacht. Das wichtigste ist die Installation einer Bibliothek RF24.
    Dann, in dem Ordner eine make machen. Dann sind in dem Ordner build zwei Dateien rf24_rx.exe und rf24_tx.exe. EXE ist zwar ne blöde Datei-Endung, aber es geht.
    Alles ist hier nachzulesen: https://github.com/dimou-nikolaos…=readme-ov-file

    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.

  • Danke erstmal für die schnelle hilfe leider, warum auch immer funktioniert grade nur ein rasp xD deswegen muss ich warten bis ein ersatz geliefert wird.

    Auf einem habe ich alles so ausgeführt nach make kam folgendes:
    lukas@ring-receiver:~/RaspberryPi-RF24-HowTo $ make
    mkdir -p build
    g++ -Wall -std=c++11 -O2 -Isrc src/rf24_rx.cpp -o build/rf24_rx.exe -lrf24
    /usr/bin/ld: /usr/local/lib/librf24.so: undefined reference to `pthread_create'
    /usr/bin/ld: /usr/local/lib/librf24.so: undefined reference to `pthread_join'
    /usr/bin/ld: /usr/local/lib/librf24.so: undefined reference to `pthread_testcancel'
    /usr/bin/ld: /usr/local/lib/librf24.so: undefined reference to `pthread_cancel'
    collect2: error: ld returned 1 exit status
    make: *** [Makefile:27: build/rf24_rx.exe] Error 1


    dann frage inwiefern schlechte endung wegen exe? also ich kenne executive files von windows aber inwiefern ist das schlecht kann man es beheben?

  • Moin Taubsi,

    das liegt an der Version des Betriebssystems bullseye. Da bekomme ich den Fehler auch.
    Mal sehen ob ich es beseitigen kann...

    Da noch keiner geantwortet hat, hänge ich hier noch was an.

    Das installationsscript unterdrückt Fehlermeldungen. RF24 wird nicht compiliert und installiert. Es muss also zu der Fehlermeldung kommen. Auch ein
    Nachinstallieren der Toolschains haben letztendlich nicht geholfen. Es kommt dann eine Meldung: utility/SPIDEV/interrupt.cpp . Die besagt das etwas nicht vorhanden ist.

    Ergebnis der ganzen Aktion. Installiere dir bookworm!!
    Ich habe immer mit der Lite-Version auf einem RPi3b getestet.

    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.

    Edited once, last by Bernd666 (March 5, 2025 at 5:28 PM).

  • Moin Taubsi,

    joo, wat soll ich dazu schreiben....

    Ich möchte nur wissen ob ich auf dem richtigem Weg bin, mit meinem Vorschlag.

    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.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!