Hola amigos. He intentado hacer funcionar el hfp y el a2dp en diferentes esp32 como los son el d1 wemos, el devkit de 30 y el devkit de 38 pines. He intentado usando esp-idf, platformio y hasta bluestack pero no lo consigo. Alguien podria ayudarme? El asunto radica en que no logro que funcione al 100%, a veces abre correctamente el canal y otras lo.ignora pero no funciona al 100%.
He trasladado su tema de una categoría de idioma inglés del foro a la categoría International > Español .
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.
Hola. Antes de buscar el fallo en el código, conviene descartar algunas cosas:
- HFP y A2DP solo existen en el ESP32 clásico (el S3 y el C3 no tienen Bluetooth Classic). Tus placas (D1, DevKit de 30 y de 38 pines) sí lo tienen.
- Prueba primero el ejemplo oficial de ESP-IDF
examples/bluetooth/bluedroid/classic_bt/hfp_hfsin modificar y con un solo teléfono. Si también falla de forma intermitente, el problema no está en tu código. - Desactiva el Wi-Fi mientras pruebas: comparte la radio con el Bluetooth y la coexistencia afecta justo al audio.
- En menuconfig (Bluetooth → Bluedroid → Classic Bluetooth → HFP), revisa que la ruta de audio (HCI o PCM) coincida con tu hardware. Con PCM y sin un códec en esos pines, el canal se abre pero no hay audio.
- Alimentación: los picos de la radio provocan desconexiones con cables USB malos. Mira si en el monitor serie aparece "Brownout detector was triggered".
Para afinar más: ¿qué versión de ESP-IDF usas y con qué teléfono pruebas? ¿Usas A2DP y HFP a la vez o por separado? Si puedes, pega el log del monitor serie con el nivel de Bluetooth en Debug justo cuando ignora la conexión.