NRF24L01+ en ESP32 y ESP8266

Que tal, estoy probando por primera vez el modulo transceptor NRF2401L para comunicaciones inalambricas y no mejor que preguntarle a ChatGPT por un codigo basico y conexionado. Esto ademas no encontre bien en internet el conexionado para el ESP32 y el ESP8266.
Adjunto a continucacion el conexionado y el codigo para el transmisor y el receptor.

Transmisor

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

#define CE_PIN 5
#define CSN_PIN 18

RF24 radio(CE_PIN, CSN_PIN);  // Configurar NRF24L01 en los pines

// Dirección de las dos nodos (Emisor y Receptor)
const byte address[6] = "1Node";

void setup() {
  Serial.begin(115200);
  
  if (!radio.begin()) {
    Serial.println("Error: El hardware de radio no responde!");
    while (1);
  }
  
  radio.openWritingPipe(address);   // Abrir canal de escritura
  radio.setPALevel(RF24_PA_LOW);    // Configurar el nivel de potencia a bajo
  radio.stopListening();            // Configurar el módulo en modo transmisión
}

void loop() {
  const char text[] = "Hola desde ESP32!";  // Mensaje que se enviará

  bool ok = radio.write(&text, sizeof(text));  // Enviar el mensaje
  
  if (ok) {
    Serial.println("Mensaje enviado correctamente.");
  } else {
    Serial.println("Error en el envío.");
  }
  
  delay(1000);  // Esperar 1 segundo antes de enviar de nuevo
}

Receptor:

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

#define CE_PIN 4
#define CSN_PIN 5

RF24 radio(CE_PIN, CSN_PIN);  // Configurar NRF24L01 en los pines

// Dirección de las dos nodos (Emisor y Receptor)
const byte address[6] = "1Node";

void setup() {
  Serial.begin(115200);
  
  if (!radio.begin()) {
    Serial.println("Error: El hardware de radio no responde!");
    while (1);
  }

  radio.openReadingPipe(1, address);  // Abrir canal de lectura
  radio.setPALevel(RF24_PA_LOW);      // Configurar el nivel de potencia a bajo
  radio.startListening();             // Configurar el módulo en modo recepción
}

void loop() {
  if (radio.available()) {
    char receivedMessage[32] = "";  // Almacenará el mensaje recibido
    radio.read(&receivedMessage, sizeof(receivedMessage));  // Leer el mensaje

    Serial.print("Mensaje recibido: ");
    Serial.println(receivedMessage);
  }
}

A continuacion el cableado:
ESP 32

|VCC|3.3V|
|GND|GND|
|CE|GPIO 5|
|CSN|GPIO 18|
|SCK|GPIO 19|
|MOSI|GPIO 23|
|MISO|GPIO 21|

ESP8266

|VCC|3.3V|
|GND|GND|
|CE|GPIO 4|
|CSN|GPIO 5|
|SCK|GPIO 14|
|MOSI|GPIO 13|
|MISO|GPIO 12|

Agradeceria si alguno me ayuda, supongo que es algo basico. Mi miedo ya seria que el componente ya este en problemas.

PD: En los dos casos siempre los alimente con 3.3v, nunca probe con 5v ya que "supuestamente" no se debe hacer. Pido disculpas si no es el canal debido, supuse que network es lo que busco.

can you give links to the ESP32 and ESP8266 modules you are using?

you don't appear to be using the standard ESP32 VSPI connections
on the ESP32 I have used with the NRF24L10 are

// ESP32 connections
// ESP32 SCK pin GPIO18 goes to NRF24L10_pin SCK
// ESP32 MISO pin GPIO19 goes to NRF24L10_pin MI
// ESP32 MOSI pin GPIO23 goes to NRF24L10_pin MO
// NRF24L10 CE to ESP32 pin GPIO4
// NRF24L10 CSN to ESP32 pin GPIO 5

your ESP8266 connections look OK

He trasladado su tema de una categoría de idioma inglés del foro a la categoría International > Español @tomkas06 .

En adelante por favor usar la categoría apropiada a la lengua en que queráis publicar. Esto es importante para el uso responsable del foro, y esta explicado aquí la guía "How to get the best out of this forum".
Este guía contiene mucha información útil. Por favor leer.

De antemano, muchas gracias por cooperar.

My esp32 is this one:
ESP32

And the esp8266 Ive used is:
ESP8266

I'm sorry if u can't visit the products, there are from argentina. Also, it seems weird that any light turns on when I connect the cables, is it common?
Thank you so much for answering

Estamos en el foro en español, movieron tu tema aquí porque indebidamente posteaste en español en el foro en Inglés, así que por favor, escribe en español.

O pide que cierren este tema y abre uno nuevo en Inglés pero edita los comentarios del código porque si los dejas en español te van a volver a mover el tema al foro en español.

Respecto a los NFR, hay muchos falsificados y de éstos unos cuantos ni siquiera funcionan, hay un tema que habla de ello.

Gracias por toda la ayuda, termino siendo el problema que el conexionado es muy ligero, al minimo toque deja de recibir datos. Lo hice con un ESP32 como TX y un Arduino Uno como receptor y ha funcionado. Ahora los cables macho y hembra los ajustare para que entren bien al filamento. Muchas Gracias

Transmisor

#include <Arduino.h>
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

#define CE_PIN 4
#define CSN_PIN 5

RF24 radio(CE_PIN, CSN_PIN);

const byte address[6] = "1Node";

void setup(){
  Serial.begin(9600);

  if(!radio.begin()){
    Serial.println("JAJA, no anda. Burro");
    while(1);
  }

  radio.openWritingPipe(address);
  radio.setPALevel(RF24_PA_LOW);
  radio.stopListening();
}

void loop(){
  const char text[] = "Este mensaje sera enviado por el espacio";

  bool ok = radio.write(&text, sizeof(text));

  if(ok){
    Serial.println("CAPOO, funciono");
  } else{
    Serial.println("No, proba devuelta");
  }

  delay(1000);
}

Receptor:

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

#define CE_PIN 4
#define CSN_PIN 5

RF24 radio(CE_PIN, CSN_PIN);  // Configurar NRF24L01 en los pines

// Dirección de las dos nodos (Emisor y Receptor)
const byte address[6] = "1Node";

void setup() {
  Serial.begin(9600);
  
  if (!radio.begin()) {
    Serial.println("Error: El hardware de radio no responde!");
    while (1);
  }

  radio.openReadingPipe(1, address);  // Abrir canal de lectura
  radio.setPALevel(RF24_PA_LOW);      // Configurar el nivel de potencia a bajo
  radio.startListening();             // Configurar el módulo en modo recepción
}

void loop() {
  if (radio.available()) {
    char receivedMessage[32] = "";  // Almacenará el mensaje recibido
    radio.read(&receivedMessage, sizeof(receivedMessage));  // Leer el mensaje

    Serial.print("Mensaje recibido: ");
    Serial.println(receivedMessage);
  }
}

Conexionado que me sirvieron:

// ESP32 connections
// ESP32 SCK pin GPIO18 goes to NRF24L10_pin SCK
// ESP32 MISO pin GPIO19 goes to NRF24L10_pin MI
// ESP32 MOSI pin GPIO23 goes to NRF24L10_pin MO
// NRF24L10 CE to ESP32 pin GPIO4
// NRF24L10 CSN to ESP32 pin GPIO 5

ESP8266

|VCC|3.3V|
|GND|GND|
|CE|GPIO 4|
|CSN|GPIO 5|
|SCK|GPIO 14|
|MOSI|GPIO 13|
|MISO|GPIO 12|

Hasta ahora me doy cuenta, para que le agregas un nRF24 a un ESP32 y a un ESP8266 que pueden comunicarse por WIFI TCP/IP o UDP o tambien pueden usar ESP-NOW?

Porque en el momento que lo pensé comprar y pensando como me puedo comunicar, no conocia espnow. Ayer los ocupe y funcionó re bien