nrf24l01 communication raspberry pi not able to connect



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








1















I am new to Stackoverflow. I have searched for answer, but didn't find anything.



I have two Raspberry Pi 2B+, each with nRF24l01 connected. I found few libraries to make this connect, only one give any results, but not connections. This one: Github BLavery



I write script to send and to recv:



send.py:



import RPi.GPIO as GPIO
from lib_nrf24 import NRF24
import time
import spidev

GPIO.setmode(GPIO.BCM)

pipes = [[0xe7, 0xe7, 0xe7, 0xe7, 0xe7], [0xc2, 0xc2, 0xc2, 0xc2, 0xc2]]

radio = NRF24(GPIO, spidev.SpiDev())
radio.begin(0, 17)
radio.setPayloadSize(32)
radio.setChannel(0x60)

radio.setDataRate(NRF24.BR_2MBPS)
radio.setPALevel(NRF24.PA_MIN)
radio.setAutoAck(True)
radio.enableDynamicPayloads()
radio.enableAckPayload()

radio.openWritingPipe(pipes[1])
radio.printDetails()

while True:
message = list("Hello World")
radio.write(message)
print("We sent the message of ".format(message))

# Check if it returned a ackPL
if radio.isAckPayloadAvailable():
returnedPL =
radio.read(returnedPL, radio.getDynamicPayloadSize())
print("Our returned payload was ".format(returnedPL))
else:
print("No payload received")
time.sleep(1)


recv.py:



import RPi.GPIO as GPIO
from lib_nrf24 import NRF24
import time
import spidev

GPIO.setmode(GPIO.BCM)

pipes = [[0xe7, 0xe7, 0xe7, 0xe7, 0xe7], [0xc2, 0xc2, 0xc2, 0xc2, 0xc2]]

radio = NRF24(GPIO, spidev.SpiDev())
radio.begin(0, 17)
radio.setPayloadSize(32)
radio.setChannel(0x60)

radio.setDataRate(NRF24.BR_2MBPS)
radio.setPAlevel(NRF24.PA_MIN)
radio.setAutoAck(True)
radio.enableDynamicPayloads()
radio.enableAckPayload()

radio.openReadingPipe(1, pipes[1])
radio.printDetails()

radio.startListening()

while True:
ackPL = [1]
while not radio.available (0):
time.sleep(1/100)

receivedMessage =
radio.read(receivedMessage, radio.getDynamicPayloadSize())
print("Received: ".format(receivedMessage))

print("Translating the receivedMessage into unicode characters...")
string = ""
for n in receivedMessage:
# Decode into standard i=unicode set
if (n >=32 and n <= 126):
string += chr(n)
print(string)

radio.writeAckPayload(1, ackPL, len(ackPL))
print("Loaded payload reply of ".format(ackPL))


Everything seems to be alright, below are code returned by both scripts:



send:



STATUS = 0x03 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=1 TX_FULL=1

RX_ADDR_P0-1 =
0xf8f8f8f8f8 0xf8f8f8f8f8

RX_ADDR_P2-5 =
0xf8
0xf9
0xf9
0xf9

TX_ADDR =
0xf8f8f8f8f8

RX_PW_P0-6 =
0x0c
0x00
0x00
0x00
0x00
0x00

EN_AA =
0x0f

EN_RXADDR =
0x00

RF_CH =
0x1c

RF_SETUP =
0x00

CONFIG =
0x03

DYNPD/FEATURE =
0x03
0x01

Data Rate = 1MBPS
Model = nRF24L01
CRC Length = Disabled
PA Power = PA_MIN

We sent the message of ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']

No payload received


recv.py:



STATUS = 0x03 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=1 TX_FULL=1

RX_ADDR_P0-1 =
0xf8f8f8f8f8 0xf8f8f8f8f8

RX_ADDR_P2-5 =
0xf8
0xf9
0xf9
0xf9

TX_ADDR =
0xf8f8f8f8f8

RX_PW_P0-6 =
0x0c
0x0c
0x00
0x00
0x00
0x00

EN_AA =
0x0f

EN_RXADDR =
0x00

RF_CH =
0x1c

RF_SETUP =
0x00

CONFIG =
0x03

DYNPD/FEATURE =
0x03
0x01

Data Rate = 1MBPS
Model = nRF24L01
CRC Length = Disabled
PA Power = PA_MIN

Received:

Translating the receivedMessage into unicode characters...

Loaded payload reply of [1]


I don't really understand why it won't connect one to other,
Both have the same wiring:



nRF24L01-Raspberry Pi (Pin#)



  • GND - GND (6)

  • VCC - 3,3V (1)

  • CE - GPIO17 (11)

  • CSN - GPIO08(24)

  • SCK - GPIO11 (23)

  • MOSI - GPIO10 (19)

  • MISO - GPIO25 (22)

  • IRQ - unconnected

I need to send information from one RPi to second to control engine via PWM.



Can i ask for help










share|improve this question




























    1















    I am new to Stackoverflow. I have searched for answer, but didn't find anything.



    I have two Raspberry Pi 2B+, each with nRF24l01 connected. I found few libraries to make this connect, only one give any results, but not connections. This one: Github BLavery



    I write script to send and to recv:



    send.py:



    import RPi.GPIO as GPIO
    from lib_nrf24 import NRF24
    import time
    import spidev

    GPIO.setmode(GPIO.BCM)

    pipes = [[0xe7, 0xe7, 0xe7, 0xe7, 0xe7], [0xc2, 0xc2, 0xc2, 0xc2, 0xc2]]

    radio = NRF24(GPIO, spidev.SpiDev())
    radio.begin(0, 17)
    radio.setPayloadSize(32)
    radio.setChannel(0x60)

    radio.setDataRate(NRF24.BR_2MBPS)
    radio.setPALevel(NRF24.PA_MIN)
    radio.setAutoAck(True)
    radio.enableDynamicPayloads()
    radio.enableAckPayload()

    radio.openWritingPipe(pipes[1])
    radio.printDetails()

    while True:
    message = list("Hello World")
    radio.write(message)
    print("We sent the message of ".format(message))

    # Check if it returned a ackPL
    if radio.isAckPayloadAvailable():
    returnedPL =
    radio.read(returnedPL, radio.getDynamicPayloadSize())
    print("Our returned payload was ".format(returnedPL))
    else:
    print("No payload received")
    time.sleep(1)


    recv.py:



    import RPi.GPIO as GPIO
    from lib_nrf24 import NRF24
    import time
    import spidev

    GPIO.setmode(GPIO.BCM)

    pipes = [[0xe7, 0xe7, 0xe7, 0xe7, 0xe7], [0xc2, 0xc2, 0xc2, 0xc2, 0xc2]]

    radio = NRF24(GPIO, spidev.SpiDev())
    radio.begin(0, 17)
    radio.setPayloadSize(32)
    radio.setChannel(0x60)

    radio.setDataRate(NRF24.BR_2MBPS)
    radio.setPAlevel(NRF24.PA_MIN)
    radio.setAutoAck(True)
    radio.enableDynamicPayloads()
    radio.enableAckPayload()

    radio.openReadingPipe(1, pipes[1])
    radio.printDetails()

    radio.startListening()

    while True:
    ackPL = [1]
    while not radio.available (0):
    time.sleep(1/100)

    receivedMessage =
    radio.read(receivedMessage, radio.getDynamicPayloadSize())
    print("Received: ".format(receivedMessage))

    print("Translating the receivedMessage into unicode characters...")
    string = ""
    for n in receivedMessage:
    # Decode into standard i=unicode set
    if (n >=32 and n <= 126):
    string += chr(n)
    print(string)

    radio.writeAckPayload(1, ackPL, len(ackPL))
    print("Loaded payload reply of ".format(ackPL))


    Everything seems to be alright, below are code returned by both scripts:



    send:



    STATUS = 0x03 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=1 TX_FULL=1

    RX_ADDR_P0-1 =
    0xf8f8f8f8f8 0xf8f8f8f8f8

    RX_ADDR_P2-5 =
    0xf8
    0xf9
    0xf9
    0xf9

    TX_ADDR =
    0xf8f8f8f8f8

    RX_PW_P0-6 =
    0x0c
    0x00
    0x00
    0x00
    0x00
    0x00

    EN_AA =
    0x0f

    EN_RXADDR =
    0x00

    RF_CH =
    0x1c

    RF_SETUP =
    0x00

    CONFIG =
    0x03

    DYNPD/FEATURE =
    0x03
    0x01

    Data Rate = 1MBPS
    Model = nRF24L01
    CRC Length = Disabled
    PA Power = PA_MIN

    We sent the message of ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']

    No payload received


    recv.py:



    STATUS = 0x03 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=1 TX_FULL=1

    RX_ADDR_P0-1 =
    0xf8f8f8f8f8 0xf8f8f8f8f8

    RX_ADDR_P2-5 =
    0xf8
    0xf9
    0xf9
    0xf9

    TX_ADDR =
    0xf8f8f8f8f8

    RX_PW_P0-6 =
    0x0c
    0x0c
    0x00
    0x00
    0x00
    0x00

    EN_AA =
    0x0f

    EN_RXADDR =
    0x00

    RF_CH =
    0x1c

    RF_SETUP =
    0x00

    CONFIG =
    0x03

    DYNPD/FEATURE =
    0x03
    0x01

    Data Rate = 1MBPS
    Model = nRF24L01
    CRC Length = Disabled
    PA Power = PA_MIN

    Received:

    Translating the receivedMessage into unicode characters...

    Loaded payload reply of [1]


    I don't really understand why it won't connect one to other,
    Both have the same wiring:



    nRF24L01-Raspberry Pi (Pin#)



    • GND - GND (6)

    • VCC - 3,3V (1)

    • CE - GPIO17 (11)

    • CSN - GPIO08(24)

    • SCK - GPIO11 (23)

    • MOSI - GPIO10 (19)

    • MISO - GPIO25 (22)

    • IRQ - unconnected

    I need to send information from one RPi to second to control engine via PWM.



    Can i ask for help










    share|improve this question
























      1












      1








      1


      1






      I am new to Stackoverflow. I have searched for answer, but didn't find anything.



      I have two Raspberry Pi 2B+, each with nRF24l01 connected. I found few libraries to make this connect, only one give any results, but not connections. This one: Github BLavery



      I write script to send and to recv:



      send.py:



      import RPi.GPIO as GPIO
      from lib_nrf24 import NRF24
      import time
      import spidev

      GPIO.setmode(GPIO.BCM)

      pipes = [[0xe7, 0xe7, 0xe7, 0xe7, 0xe7], [0xc2, 0xc2, 0xc2, 0xc2, 0xc2]]

      radio = NRF24(GPIO, spidev.SpiDev())
      radio.begin(0, 17)
      radio.setPayloadSize(32)
      radio.setChannel(0x60)

      radio.setDataRate(NRF24.BR_2MBPS)
      radio.setPALevel(NRF24.PA_MIN)
      radio.setAutoAck(True)
      radio.enableDynamicPayloads()
      radio.enableAckPayload()

      radio.openWritingPipe(pipes[1])
      radio.printDetails()

      while True:
      message = list("Hello World")
      radio.write(message)
      print("We sent the message of ".format(message))

      # Check if it returned a ackPL
      if radio.isAckPayloadAvailable():
      returnedPL =
      radio.read(returnedPL, radio.getDynamicPayloadSize())
      print("Our returned payload was ".format(returnedPL))
      else:
      print("No payload received")
      time.sleep(1)


      recv.py:



      import RPi.GPIO as GPIO
      from lib_nrf24 import NRF24
      import time
      import spidev

      GPIO.setmode(GPIO.BCM)

      pipes = [[0xe7, 0xe7, 0xe7, 0xe7, 0xe7], [0xc2, 0xc2, 0xc2, 0xc2, 0xc2]]

      radio = NRF24(GPIO, spidev.SpiDev())
      radio.begin(0, 17)
      radio.setPayloadSize(32)
      radio.setChannel(0x60)

      radio.setDataRate(NRF24.BR_2MBPS)
      radio.setPAlevel(NRF24.PA_MIN)
      radio.setAutoAck(True)
      radio.enableDynamicPayloads()
      radio.enableAckPayload()

      radio.openReadingPipe(1, pipes[1])
      radio.printDetails()

      radio.startListening()

      while True:
      ackPL = [1]
      while not radio.available (0):
      time.sleep(1/100)

      receivedMessage =
      radio.read(receivedMessage, radio.getDynamicPayloadSize())
      print("Received: ".format(receivedMessage))

      print("Translating the receivedMessage into unicode characters...")
      string = ""
      for n in receivedMessage:
      # Decode into standard i=unicode set
      if (n >=32 and n <= 126):
      string += chr(n)
      print(string)

      radio.writeAckPayload(1, ackPL, len(ackPL))
      print("Loaded payload reply of ".format(ackPL))


      Everything seems to be alright, below are code returned by both scripts:



      send:



      STATUS = 0x03 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=1 TX_FULL=1

      RX_ADDR_P0-1 =
      0xf8f8f8f8f8 0xf8f8f8f8f8

      RX_ADDR_P2-5 =
      0xf8
      0xf9
      0xf9
      0xf9

      TX_ADDR =
      0xf8f8f8f8f8

      RX_PW_P0-6 =
      0x0c
      0x00
      0x00
      0x00
      0x00
      0x00

      EN_AA =
      0x0f

      EN_RXADDR =
      0x00

      RF_CH =
      0x1c

      RF_SETUP =
      0x00

      CONFIG =
      0x03

      DYNPD/FEATURE =
      0x03
      0x01

      Data Rate = 1MBPS
      Model = nRF24L01
      CRC Length = Disabled
      PA Power = PA_MIN

      We sent the message of ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']

      No payload received


      recv.py:



      STATUS = 0x03 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=1 TX_FULL=1

      RX_ADDR_P0-1 =
      0xf8f8f8f8f8 0xf8f8f8f8f8

      RX_ADDR_P2-5 =
      0xf8
      0xf9
      0xf9
      0xf9

      TX_ADDR =
      0xf8f8f8f8f8

      RX_PW_P0-6 =
      0x0c
      0x0c
      0x00
      0x00
      0x00
      0x00

      EN_AA =
      0x0f

      EN_RXADDR =
      0x00

      RF_CH =
      0x1c

      RF_SETUP =
      0x00

      CONFIG =
      0x03

      DYNPD/FEATURE =
      0x03
      0x01

      Data Rate = 1MBPS
      Model = nRF24L01
      CRC Length = Disabled
      PA Power = PA_MIN

      Received:

      Translating the receivedMessage into unicode characters...

      Loaded payload reply of [1]


      I don't really understand why it won't connect one to other,
      Both have the same wiring:



      nRF24L01-Raspberry Pi (Pin#)



      • GND - GND (6)

      • VCC - 3,3V (1)

      • CE - GPIO17 (11)

      • CSN - GPIO08(24)

      • SCK - GPIO11 (23)

      • MOSI - GPIO10 (19)

      • MISO - GPIO25 (22)

      • IRQ - unconnected

      I need to send information from one RPi to second to control engine via PWM.



      Can i ask for help










      share|improve this question














      I am new to Stackoverflow. I have searched for answer, but didn't find anything.



      I have two Raspberry Pi 2B+, each with nRF24l01 connected. I found few libraries to make this connect, only one give any results, but not connections. This one: Github BLavery



      I write script to send and to recv:



      send.py:



      import RPi.GPIO as GPIO
      from lib_nrf24 import NRF24
      import time
      import spidev

      GPIO.setmode(GPIO.BCM)

      pipes = [[0xe7, 0xe7, 0xe7, 0xe7, 0xe7], [0xc2, 0xc2, 0xc2, 0xc2, 0xc2]]

      radio = NRF24(GPIO, spidev.SpiDev())
      radio.begin(0, 17)
      radio.setPayloadSize(32)
      radio.setChannel(0x60)

      radio.setDataRate(NRF24.BR_2MBPS)
      radio.setPALevel(NRF24.PA_MIN)
      radio.setAutoAck(True)
      radio.enableDynamicPayloads()
      radio.enableAckPayload()

      radio.openWritingPipe(pipes[1])
      radio.printDetails()

      while True:
      message = list("Hello World")
      radio.write(message)
      print("We sent the message of ".format(message))

      # Check if it returned a ackPL
      if radio.isAckPayloadAvailable():
      returnedPL =
      radio.read(returnedPL, radio.getDynamicPayloadSize())
      print("Our returned payload was ".format(returnedPL))
      else:
      print("No payload received")
      time.sleep(1)


      recv.py:



      import RPi.GPIO as GPIO
      from lib_nrf24 import NRF24
      import time
      import spidev

      GPIO.setmode(GPIO.BCM)

      pipes = [[0xe7, 0xe7, 0xe7, 0xe7, 0xe7], [0xc2, 0xc2, 0xc2, 0xc2, 0xc2]]

      radio = NRF24(GPIO, spidev.SpiDev())
      radio.begin(0, 17)
      radio.setPayloadSize(32)
      radio.setChannel(0x60)

      radio.setDataRate(NRF24.BR_2MBPS)
      radio.setPAlevel(NRF24.PA_MIN)
      radio.setAutoAck(True)
      radio.enableDynamicPayloads()
      radio.enableAckPayload()

      radio.openReadingPipe(1, pipes[1])
      radio.printDetails()

      radio.startListening()

      while True:
      ackPL = [1]
      while not radio.available (0):
      time.sleep(1/100)

      receivedMessage =
      radio.read(receivedMessage, radio.getDynamicPayloadSize())
      print("Received: ".format(receivedMessage))

      print("Translating the receivedMessage into unicode characters...")
      string = ""
      for n in receivedMessage:
      # Decode into standard i=unicode set
      if (n >=32 and n <= 126):
      string += chr(n)
      print(string)

      radio.writeAckPayload(1, ackPL, len(ackPL))
      print("Loaded payload reply of ".format(ackPL))


      Everything seems to be alright, below are code returned by both scripts:



      send:



      STATUS = 0x03 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=1 TX_FULL=1

      RX_ADDR_P0-1 =
      0xf8f8f8f8f8 0xf8f8f8f8f8

      RX_ADDR_P2-5 =
      0xf8
      0xf9
      0xf9
      0xf9

      TX_ADDR =
      0xf8f8f8f8f8

      RX_PW_P0-6 =
      0x0c
      0x00
      0x00
      0x00
      0x00
      0x00

      EN_AA =
      0x0f

      EN_RXADDR =
      0x00

      RF_CH =
      0x1c

      RF_SETUP =
      0x00

      CONFIG =
      0x03

      DYNPD/FEATURE =
      0x03
      0x01

      Data Rate = 1MBPS
      Model = nRF24L01
      CRC Length = Disabled
      PA Power = PA_MIN

      We sent the message of ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']

      No payload received


      recv.py:



      STATUS = 0x03 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=1 TX_FULL=1

      RX_ADDR_P0-1 =
      0xf8f8f8f8f8 0xf8f8f8f8f8

      RX_ADDR_P2-5 =
      0xf8
      0xf9
      0xf9
      0xf9

      TX_ADDR =
      0xf8f8f8f8f8

      RX_PW_P0-6 =
      0x0c
      0x0c
      0x00
      0x00
      0x00
      0x00

      EN_AA =
      0x0f

      EN_RXADDR =
      0x00

      RF_CH =
      0x1c

      RF_SETUP =
      0x00

      CONFIG =
      0x03

      DYNPD/FEATURE =
      0x03
      0x01

      Data Rate = 1MBPS
      Model = nRF24L01
      CRC Length = Disabled
      PA Power = PA_MIN

      Received:

      Translating the receivedMessage into unicode characters...

      Loaded payload reply of [1]


      I don't really understand why it won't connect one to other,
      Both have the same wiring:



      nRF24L01-Raspberry Pi (Pin#)



      • GND - GND (6)

      • VCC - 3,3V (1)

      • CE - GPIO17 (11)

      • CSN - GPIO08(24)

      • SCK - GPIO11 (23)

      • MOSI - GPIO10 (19)

      • MISO - GPIO25 (22)

      • IRQ - unconnected

      I need to send information from one RPi to second to control engine via PWM.



      Can i ask for help







      python raspberry-pi3 nrf51






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 15 '18 at 10:04









      Mahankali SURYA TEJMahankali SURYA TEJ

      61




      61






















          0






          active

          oldest

          votes












          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53316890%2fnrf24l01-communication-raspberry-pi-not-able-to-connect%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53316890%2fnrf24l01-communication-raspberry-pi-not-able-to-connect%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Use pre created SQLite database for Android project in kotlin

          Darth Vader #20

          Ondo