Как подключить 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. Вот мое пин-соединение
@TRomesh, 👍2
Обсуждение1 ответ
Лучший ответ:
▲ 1
Метки выводов Dx на платах NodeMCU и Wemos/Lolin не соответствуют внутренним номерам выводов ввода-вывода esp8266. пинс_ардуино.файл h в ядре определяет константы Dx, которые сопоставляют внутренние номера ввода-вывода с метками Dx.
Используйте RF24 MyRadio(D7, D8);
,
@Juraj
Смотрите также:
- Как интегрировать nRF24L01 в esp8266 nodeMC U?
- Как заставить 5-вольтовое реле работать с NodeMCU
- ESP8266 не подключается к Wi-Fi
- Разница между этими двумя платами NodeMCU?
- NodeMCU - использовать кнопку flash в качестве входного сигнала в loop()
- Как определить размер Flash?
- Как изменить имя модуля ESP8266-12E по умолчанию
- Простой запрос GET с ESP8266HTTPClient
7, 8 должны быть номерами контактов? io 5 - io 11-это контакты QIO SPI внутренней флэш-памяти. если вы подключили модуль к D7, D8, используйте константы D7, D8, @Juraj
Привет @Juraj Я использовал D7 и D8. я обновил свой вопрос изображением контактного соединения, @TRomesh