Как подключить NodeMCU к NRF24L01

Мне нужно подключить NodeMCU и NRF24L01. где я получаю данные от другой передачи NRF24L01. Мне удалось подключиться к сети Wi-Fi, но прием данных происходит не так, как ожидалось. Вот мой код

#include <SPI.h>
#include "RF24.h"
#include <ESP8266WiFi.h>

RF24 myRadio(7, 8);
const char* ssid = "******";
const char* password = "********";
struct package
{
    int id = 0;
    float longitude = 0.0;
    float latitude = 0.0;
    char text[100] = "empty";
};

byte addresses[][6] = {"0"};

typedef struct package Package;
Package data;

void setup()
{
    Serial.begin(115200);
    delay(1000);
    WiFi.begin(ssid, password);

    Serial.println();
    Serial.print("Connecting");
    while (WiFi.status() != WL_CONNECTED)
    {
     delay(500);
     Serial.print(".");
    }
    Serial.println("success!");
    Serial.print("IP Address is: ");
    Serial.println(WiFi.localIP());
    myRadio.begin();
    myRadio.setChannel(115);
    myRadio.setPALevel(RF24_PA_MAX);
    myRadio.setDataRate(RF24_250KBPS);
    myRadio.openReadingPipe(1, addresses[0]);
    myRadio.startListening();
}

void loop()
{

    if (myRadio.available())
    {
        while (myRadio.available())
        {
            myRadio.read(&data, sizeof(data));
        }
        Serial.print("\nPackage:");
        Serial.print(data.id);
        Serial.print("\n");
        Serial.println(data.longitude);
        Serial.println(data.latitude);
        Serial.println(data.text);
    }
}

Есть какие-нибудь идеи о том, почему при этом данные поступают не так, как ожидалось?. Это каким-то образом удалось успешно подключиться к моему Wi-Fi. Вот мое пин-соединение

, 👍2

Обсуждение

7, 8 должны быть номерами контактов? io 5 - io 11-это контакты QIO SPI внутренней флэш-памяти. если вы подключили модуль к D7, D8, используйте константы D7, D8, @Juraj

Привет @Juraj Я использовал D7 и D8. я обновил свой вопрос изображением контактного соединения, @TRomesh


1 ответ


Лучший ответ:

1

Метки выводов Dx на платах NodeMCU и Wemos/Lolin не соответствуют внутренним номерам выводов ввода-вывода esp8266. пинс_ардуино.файл h в ядре определяет константы Dx, которые сопоставляют внутренние номера ввода-вывода с метками Dx.

Используйте RF24 MyRadio(D7, D8);

,