Objetivo principal
Conseguir que una placa ESP32 transmita datos y que otra los reciba sin utilizar un punto de acceso.
Una práctica para comprender cómo dos o más placas ESP32 pueden intercambiar información de forma inalámbrica, sin necesitar un router ni una conexión a Internet.
El objetivo es aprender a establecer una comunicación inalámbrica local mediante el protocolo ESP-NOW. Para ello se utilizan placas ESP32 que envían y reciben pequeños paquetes de información directamente entre ellas. Cada dispositivo se identifica mediante su dirección MAC y, para que el intercambio funcione, los equipos deben trabajar en el mismo canal Wi-Fi.
La actividad combina una parte teórica, en la que se estudia cómo se organiza la comunicación, con una parte práctica: preparar la maqueta, cargar los programas en las placas y comprobar que los mensajes llegan correctamente al receptor.
Conseguir que una placa ESP32 transmita datos y que otra los reciba sin utilizar un punto de acceso.
Direcciones MAC, canales Wi-Fi, envío unicast, estructura de mensajes y comprobación por Monitor Serie.
Ver en el receptor el identificador del emisor y el contador que aumenta en cada transmisión.
ESP-NOW es un protocolo de comunicación desarrollado por Espressif que utiliza la radio Wi-Fi para intercambiar tramas de datos entre dispositivos compatibles. Los equipos no necesitan asociarse a un router como ocurre en una red Wi-Fi tradicional. Antes de enviar información, el programa configura el protocolo, identifica al dispositivo destinatario y registra sus datos como dispositivo par.
Es un identificador de la interfaz de red. El emisor utiliza la MAC del receptor para dirigirle el paquete.
Los dos extremos deben coincidir en el canal configurado para poder comunicarse correctamente.
Contiene la información que se quiere enviar, por ejemplo un identificador de nodo y un contador.
La maqueta representa la parte física de la práctica. En el vídeo se observan dos montajes independientes sobre placas de pruebas, cada uno con una ESP32 y conexiones realizadas mediante cables Dupont. Esta disposición permite programar y alimentar las placas por separado para comprobar el intercambio inalámbrico.
Es el elemento principal. Integra microcontrolador y conectividad Wi-Fi, por lo que puede transmitir y recibir datos mediante ESP-NOW.
Permite colocar los componentes y realizar conexiones eléctricas sin necesidad de soldarlos.
Unen los pines de la placa con los componentes y las líneas de alimentación de la protoboard.
Permiten visualizar estados del montaje. Deben conectarse con la resistencia limitadora adecuada.
En la maqueta se aprecian módulos adicionales, entre ellos una pequeña pantalla y un sensor. Su función concreta depende de cómo estén conectados y programados.
Los cables USB permiten alimentar y programar cada placa desde el ordenador. Cada montaje puede funcionar de forma independiente.
| Elemento | Función dentro del montaje |
|---|---|
| ESP32 emisora | Prepara y transmite los paquetes de información. |
| ESP32 receptora | Recibe los paquetes y procesa los datos. |
| Protoboard y cables | Facilitan el montaje eléctrico de los componentes. |
| LED / periféricos | Permiten añadir indicaciones o funciones complementarias al proyecto. |
| Ordenador y USB | Sirven para cargar los programas y consultar el Monitor Serie. |
En este vídeo se muestra la maqueta montada sobre las protoboards. Se pueden observar las placas ESP32, el cableado y los componentes conectados durante la demostración.
Si el vídeo no aparece, comprueba que el archivo 20261105_102435.mp4 esté en la misma carpeta que esta página HTML.
Prueba qué sucede al enviar un paquete. Cambia el canal del emisor o del receptor y observa si el mensaje llega. Es una simulación didáctica: no controla las placas físicas.
Para que ambos programas interpreten el mensaje de la misma manera, deben utilizar una estructura de datos idéntica. En este ejemplo se transmite un identificador de nodo y un contador.
struct Mensaje {
uint32_t id; // Identifica al emisor
uint32_t contador; // Número de envío
};
El emisor prepara el contenido y lo envía a la dirección MAC del receptor. Cuando llega un paquete, el receptor comprueba su tamaño y procesa los campos. La impresión por serie permite verificar qué nodo ha enviado el dato y qué número de mensaje se ha recibido.
Para validar la práctica no basta con que las placas estén encendidas. Hay que comprobar el envío y la recepción de los datos, y registrar las condiciones de cada prueba.
| Prueba | Configuración | Qué se debe observar |
|---|---|---|
| Comunicación correcta | MAC correcta y mismo canal | El receptor muestra los mensajes recibidos. |
| Canal diferente | Emisor y receptor en canales distintos | La recepción deja de funcionar correctamente. |
| Varios emisores | Distintas MAC de origen y mismo receptor | El receptor identifica qué nodo envía cada paquete. |
| Reinicio | Apagar y volver a alimentar las placas | Los dispositivos vuelven a inicializar la comunicación. |
1. ¿Necesita ESP-NOW un router para comunicar dos ESP32 directamente?
2. ¿Qué dirección se utiliza para identificar al destinatario?
3. ¿Qué condición deben cumplir los canales de los dos extremos?
4. ¿Cómo se comprueba que el receptor ha recibido los datos?
Comprueba la MAC del receptor, el canal de ambos dispositivos, la inicialización de ESP-NOW y que el tamaño del mensaje coincida en los dos programas.
No por sí solo. Para enviar datos a Internet se necesitaría otro dispositivo o una pasarela que disponga de conexión de red.
No. El simulador de esta página sirve para entender la relación entre canales y recepción. La comunicación real se comprueba con las dos ESP32 y sus monitores serie.