nRF24 / pyRF24

A python package that wraps the RF24, RF24Network, and RF24Mesh C++ libraries.
http://pyrf24.rtfd.io
GNU General Public License v2.0
24 stars 3 forks source link

Problem with mesh , RF24 HARDWARE FAIL: Radio not responding, verify pin connections, wiring, etc. #16

Closed naty6458 closed 1 year ago

naty6458 commented 1 year ago

Hello everyone , So after we managed to solve the GPIO permissions problem, I found another problem when trying to run the MESH library on RPI. And on the other hand, the NODE on Arduino.

My RPi system is:

Raspberry Pi 3 Model B Plus Rev 1.3 PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)" NAME="Raspbian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)"

I install the library with this command: git clone --recurse-submodules https://github.com/nRF24/pyRF24.git ; cd pyRF24 ; python -m pip install . -v

I turn on the MASTER and everything works fine, but as soon as I turn on the NODE, I get the error "RF24 HARDWARE FAIL: Radio not responding, verify pin connections, wiring, etc." on the side of the MASTER.

image

The strange part of the story is that the example of the GettingStarted.ino on the Arduino side and the getting_started.py work perfectly (I added picture)

I would love that together we can find and solve the problem, thank you very much!

image

Edit: I just checked the NETWORK library and it works fine, the problem is only with the MESH

image
2bndy5 commented 1 year ago

This is very strange. The error message must be comming from the RF24 library, but you say it only happens when you use the mesh layer?!

This error normally happens when the wires are too long or mis-configured in code (pin numbers). There is also a chance that you have to decrease the SPI speed.

Try this:

# set spi speed to 4MHz (parameter 3)
radio = RF24(22, 0, 4000000)
naty6458 commented 1 year ago

Thanks for the response friend!

Unfortunately there is still the error, even after I lowered the speed of SPI, meanwhile I use the NETWORK library and everything works amazing.

image
TMRh20 commented 1 year ago

Are you able to test with the C++ driver to see if the error still occurs with RF24Mesh? If it does occur with C++, I would then test with a different driver (RPI -BCM driver) and run as root just to test and see if the errors still occur.

2bndy5 commented 1 year ago

@naty6458 Can you also post the setup code you use when this error shows up? I'm going to try and reproduce this on my setup, but I'm curious what your code looks like (especially import statements).

2bndy5 commented 1 year ago

I can't reproduce this error. I highly suspect that you are not importing RF24 from pyrf24 in your RF24Mesh code. (Please share the code that fails)

🚫 BAD

from RF24 import RF24  # not using pyrf24!! Here you are using the RF24 C++ lib wrapper
from pyrf24 import RF24Network, RF24Mesh

✔️ GOOD

from pyrf24 import (
    RF24,
    RF24Network,
    RF24Mesh,
)

Otherwise

If you uninstall the C++ RF24 lib and you still get this error, then I would recommend you check whatever user permission changes you made (referring to discussion in #15).