Передача NRF24L01 между RPI и ARDUINO не работает - PullRequest
0 голосов
/ 08 июня 2019

Я пытаюсь установить связь между Arduino и RaspberryPi 3 модель b V.2 через модули NRF24l01.

Я следовал этому уроку: http://invent.module143.com/daskal_tutorial/raspberry-pi-3-wireless-pi-to-arduino-communication-with-nrf24l01/

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

    GPIO.setmode(GPIO.BCM)

    pipes = [[0xE8, 0xE8, 0xF0, 0xF0, 0xE1], [0xF0, 0xF0, 0xF0, 0xF0, 0xE1]]

    radio = NRF24(GPIO, spidev.SpiDev())
    radio.begin(0, 17)

    radio.setPayloadSize(32)
    radio.setChannel(0x76)
    radio.setDataRate(NRF24.BR_1MBPS)
    radio.setPALevel(NRF24.PA_MIN)

    radio.setAutoAck(True)
    radio.enableDynamicPayloads()
    radio.enableAckPayload()

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

    while(1):
        # 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 unicode set
            if (n >= 32 and n <= 126):
                string += chr(n)
        print("Out received message decodes to: {}".format(string))
    #include<SPI.h>
    #include<RF24.h>

    // ce, csn pins
    RF24 radio(9, 10);

    void setup(void){
    radio.begin();
    radio.setPALevel(RF24_PA_MAX);
    radio.setChannel(0x76);
    radio.openWritingPipe(0xF0F0F0F0E1LL);
    radio.enableDynamicPayloads();
    radio.powerUp();

    }

    void loop(void){
        const char text[] = "Hello World is awesome";
        radio.write(&text, sizeof(text));
        delay(1000);

    }

RPi не читает данные, которые посылает arduino. В терминале он печатает массив с целыми числами, которые не имеют ничего общего с тем, что посылает arduino. С подключенным к RP Arduino или без него выводит те же результаты, поэтому очевидно, что соединения вообще нет.

...