Red de comunicación multi-drone
Visión general
Sección titulada «Visión general»La cooperación multi-drone es una frontera de la tecnología de drones. En este proyecto aprenderás a implementar una red MESH de múltiples drones con el protocolo ESP-NOW.
Lo que aprenderás
Sección titulada «Lo que aprenderás»- Protocolo ESP-NOW
- Topología de redes MESH
- Diseño de sistemas distribuidos
- Mecanismos de intercambio de información
Materiales necesarios
Sección titulada «Materiales necesarios»| Artículo | Cantidad | Descripción |
|---|---|---|
| 3 drones ESP32 | 3 | - |
| Ordenador | 1 | Con Python + Socket |
ground_station.py |
1 | Software de estación terrestre |
Paso 1: Entender el protocolo ESP-NOW
Sección titulada «Paso 1: Entender el protocolo ESP-NOW»ESP-NOW es un protocolo de comunicación de baja latencia y punto a punto, adecuado para la comunicación entre múltiples dispositivos a corta distancia.
Paso 2: Abrir el proyecto
Sección titulada «Paso 2: Abrir el proyecto»Descomprime mesh_network.zip y ábrelo con VS Code.
Paso 3: Implementar las funciones centrales de la red MESH
Sección titulada «Paso 3: Implementar las funciones centrales de la red MESH»Abre mesh.c e implementa la inicialización de la red:
void mesh_init(void) { // 1. Inicializar ESP-NOW esp_now_init();
// 2. Añadir las direcciones MAC de todos los drones a la lista de pares uint8_t peer_macs[3][6] = { {0x11, 0x22, 0x33, 0x44, 0x55, 0x66}, // MAC del drone 1 {0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF}, // MAC del drone 2 {0x00, 0x11, 0x22, 0x33, 0x44, 0x55} // MAC del drone 3 };
for (int i = 0; i < 3; i++) { esp_now_add_peer(peer_macs[i], ESP_NOW_ROLE_COMBO, 0, NULL, 0); }
// 3. Registrar las funciones de callback de envío/recepción de datos esp_now_register_send_cb(on_data_sent); esp_now_register_recv_cb(on_data_recv);}
void mesh_broadcast_data(uint8_t* data, size_t len) { // 1. Recorrer todos los nodos pares for (int i = 0; i < 3; i++) { // 2. Enviar los datos a cada nodo esp_now_send(peer_macs[i], data, len); }}Paso 4: Implementar el intercambio de información
Sección titulada «Paso 4: Implementar el intercambio de información»- Cada drone transmite periódicamente su posición, nivel de batería y estado de la tarea
- Recibe las transmisiones de los demás drones y actualiza el estado global
Paso 5: Probar
Sección titulada «Paso 5: Probar»- Haz volar los 3 drones a la vez
- Observa si la estación terrestre recibe los datos en tiempo real de todos los drones
- Reto: implementa una “detección de fallos” para que, cuando un drone tenga poca batería, los demás ajusten automáticamente sus tareas
Solución de problemas
Sección titulada «Solución de problemas»La comunicación es inestable
Sección titulada «La comunicación es inestable»- Comprueba la conexión de la antena
- Reduce la distancia de comunicación
Se pierden datos
Sección titulada «Se pierden datos»- Añade un mecanismo de retransmisión de datos
- Optimiza el tamaño de los paquetes
Sensación de logro
Sección titulada «Sensación de logro»¡Enhorabuena! Has implementado una red MESH de múltiples drones, ¡la base de la cooperación multi-drone!
Siguiente paso
Sección titulada «Siguiente paso»En el siguiente proyecto aprenderás a implementar el vuelo en formación de varios drones.
Publicado por primera vez endrone.imagrove.com/es/advanced/mesh-network/Al citar o reproducir, indica la fuente Imagrove y enlaza a esta página.
¿Dudas o problemas con este tutorial?
Inicia sesión con GitHub para comentar. Si un paso te falla, avísanos: lo verificamos y actualizamos el tutorial.
© 2026 ESP32 Drone. Todos los derechos reservados.